We strongly recommend using Run Script to build automations, because it can cover all action behaviors, including actions that would otherwise need to be built manually. Just describe your requirements to AI in chat.Please note: if you add actions manually, AI will not recognize or modify them later.
Build with AI
Open the AI Chat in your table’s right sidebar and describe what you want.
AI handles everything: it picks the right trigger, chooses the appropriate actions, maps the fields, and configures the entire workflow automatically.
Describe the goal once, and the workflow is ready — no manual setup needed.
Retrieves records from a table and returns them as an array. Use the results in later steps to loop through records, pass data to a script, or feed into other actions.
Configuration
| Setting | Required | Description |
|---|
| Table | Yes | The table to query |
| View | No | Limit results to records visible in a specific view (inherits the view’s filters, sorts, and hidden fields) |
| Filter | No | Additional filter conditions applied on top of any view filter |
| Skip | No | Number of records to skip from the beginning (for pagination) |
| Take | No | Maximum number of records to return (for pagination) |
How to set it up
- Add a Get Records action to your workflow.
- Choose the Table you want to query. Use Cross-Base Access if the table is in a different base.
- (Optional) Select a View to inherit that view’s filter, sort, and field visibility settings.
- (Optional) Add Filter conditions to narrow the results. For example,
Status equals Active and Due Date is before today.
- (Optional) Set Skip and Take for pagination. For example, Skip 0 and Take 100 to get the first 100 records.
- Save the action. When the workflow runs, the results will be available as an array for subsequent steps.
Output: working with the results
The output is an array of records. Each record in the array contains:
- Record ID — the unique identifier.
- All field values — every field in the table (or view, if you selected one).
Using results in the next step
- Reference a single record: If you only expect one result (or want the first one), you can reference fields from the first record directly using the + variable picker.
- Loop through all records: Add a Loop (Batch) action after Get Records and select the results array as the data source. Inside the loop, reference each item’s fields.
- Process in a script: Pass the array to an Run Script step for custom processing, filtering, or transformation.
If you do not set Skip and Take, the action returns records up to the system default limit. For large tables, use pagination to control the result size:
| Setting | Purpose | Example |
|---|
| Skip | How many records to skip from the start | 0 (start from the beginning) |
| Take | How many records to return | 100 (return 100 records) |
To process an entire large table, you could use multiple Get Records steps with increasing Skip values, or handle pagination in a script.
When to use
- Find overdue tasks to send reminders. Filter for tasks where Due Date is before today and Status is not “Done”. Loop through the results and send an email for each.
- Gather data for a daily digest. Retrieve all records updated in the last 24 hours and compile them into a summary email.
- Look up related records before creating or updating. Before creating a duplicate, check if a record with the same email already exists.
- Feed data into an AI action. Get records with long text fields, then use AI Generate in a loop to summarize or classify each one.
- Sync records to an external system. Get all records that have changed since the last sync, then push them to a CRM or data warehouse via HTTP requests.
Tips
- Use filters. The more specific your filter, the fewer records are returned and the faster the action runs.
- Limit results with Take. If you only need the first 10 records, set Take to 10. There is no need to retrieve thousands of records when you only need a few.
- Select a View that already filters and sorts the data you need. This keeps your automation configuration simpler.
- Avoid fetching the entire table unless you genuinely need all records. Large result sets take longer to process and use more resources, especially when combined with Loop.
- Get Records does not modify any data — it is read-only.
- If the query returns zero records, subsequent steps referencing the results will receive an empty array. Make sure your workflow handles this gracefully (e.g., do not send an email saying “here are your results” when there are no results).
- Filters in Get Records work the same as view filters: you can combine conditions with AND/OR logic.
- When using Cross-Base Access, the query runs under the workflow creator’s permissions. If the creator loses access to the target base, the step will fail.