Reference · Tools
Airtable Trigger
Starts workflow when new or updated records appear in an Airtable table
The Airtable Trigger starts a workflow whenever records are created or updated in an Airtable table, emitting each matching record as its own item. It polls on a schedule you set, using a Created Time or Last Modified Time column to work out what has changed since the last check. A common build is routing new form-submission rows into Slack and filing their attachments to storage.
- Node type
- Polling trigger
- Parameters
- 8
- Outputs
- Output
- Credentials
- Airtable Personal Access Token
Airtable Trigger
Polls Airtable for new or updated records
Overview
Polls an Airtable table on a schedule to detect new or recently modified records. Uses a configurable date/time trigger field with the IS_AFTER() formula to filter records created or modified since the last poll. Supports additional formula filters, view scoping, field selection, and attachment downloading. Returns each matching record as a separate workflow item.
Category: Data & Storage
Tool Name: airtable_trigger
Version: 1
Appearance: Icon: si-airtable | Color: #18bfff
Node Type
Trigger — polling (checks for new data on a schedule)
Input / Output
| Direction | Port(s) |
|---|---|
| Input | None (trigger node) |
| Output | Output |
Credentials
This tool requires Airtable Personal Access Token credentials. See the Credentials Guide for setup instructions.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Base ID | string | Yes | — | The ID of the Airtable base (e.g. appXXXXXXXXXXXXXX). You can find this in the Airtable URL: https://airtable.com/{baseId}/… |
| Table ID | string | Yes | — | The ID or name of the table (e.g. tblXXXXXXXXXXXXXX). You can find this in the Airtable URL after the base ID. |
| Trigger Field | string | Yes | — | A Created Time or Last Modified Time field used to detect new/updated records. If you do not have one, create a Created Time or Last Modified Time field in your Airtable schema. |
| Download Attachments | boolean | No | false | Whether attachment fields should be downloaded and included as binary data in the output. |
| Download Fields | string | No | — | Comma-separated names of attachment-type fields to download (e.g. ‘Photos, Documents’). Case sensitive. (shown when Download Attachments is true) |
| Additional Fields | collection | No | {} | Optional query refinements applied on top of the time filter. |
| — Fields | string | No | — | Comma-separated list of field names to include in the response. By default all fields are returned. Example: Name, Email, Status |
| — Formula | string | No | — | An additional Airtable formula to combine with the time filter using AND(). See https://support.airtable.com/hc/en-us/articles/203255215-Formula-Field-Reference |
| — View ID | string | No | — | The name or ID of a view in the table. If set, only records in that view will be returned. |
| Poll Interval | number | No | 1 | How often to check for new data. |
| Poll Interval Unit | options | No | minutes | Unit for the poll interval. |
Options: seconds, minutes, hours |
Output Data
Each new or updated record becomes one output item. The Airtable record is emitted as-is, plus two trigger markers:
{
"id": "recXXXXXXXXXXXXXX",
"createdTime": "2026-08-15T09:12:44.000Z",
"fields": {
"Name": "Acme Corp",
"Status": "Active",
"Last Modified": "2026-08-15T09:12:44.000Z"
},
"_trigger": "airtable_polling",
"_timestamp": "2026-08-15T09:13:00.000Z"
}
id— the Airtable record ID.createdTime— when Airtable created the record.fields— the record’s column values, restricted to Fields when that option is set._trigger— alwaysairtable_polling._timestamp— when the poll that produced the item ran.
When Download Attachments is on and Download Fields names one or more attachment columns, each item additionally carries:
_attachments— an object keyed by attachment field name, each holding an array of{ url, filename, type, key }entries.- Binary properties named
{fieldName}_{index}(for examplePhotos_0), holding the downloaded file so that downstream nodes can read it. An attachment that cannot be downloaded is skipped; its URL metadata is still emitted.
Reference record values downstream by expression, e.g. {{ $json.fields.Email }}.
Usage Examples
- Trigger workflow when a new row is added to an Airtable base
- Monitor an Airtable table for updated records every 5 minutes
- Watch for new Airtable records matching a specific view and formula
- Detect changes in an Airtable CRM table and sync to another system
Example Configuration
Watch a table for newly created records:
{
"type": "airtable_trigger",
"parameters": {
"baseId": "appXXXXXXXXXXXXXX",
"tableId": "tblYYYYYYYYYYYYYY",
"triggerField": "Created Time",
"pollInterval": 1,
"pollIntervalUnit": "minutes"
}
}
Watch for modified records in one view, narrowed by a formula and a field list:
{
"type": "airtable_trigger",
"parameters": {
"baseId": "appXXXXXXXXXXXXXX",
"tableId": "Customer Records",
"triggerField": "Last Modified",
"pollInterval": 5,
"pollIntervalUnit": "minutes",
"additionalFields": {
"fields": "Name, Email, Status, Priority",
"viewId": "Active Customers",
"formula": "{Priority} = 'High'"
}
}
}
Download attachments from the records that match:
{
"type": "airtable_trigger",
"parameters": {
"baseId": "appXXXXXXXXXXXXXX",
"tableId": "Project Files",
"triggerField": "Created Time",
"downloadAttachments": true,
"downloadFieldNames": "Photos, Documents",
"pollInterval": 30,
"pollIntervalUnit": "seconds",
"additionalFields": {
"formula": "{Processing Status} = 'Pending'"
}
}
}
Trigger Behavior
- Activation: Polling starts when the workflow is activated. There is no poll at the moment of activation — the first check runs one full interval later.
- Schedule: The trigger polls for new data based on the configured polling interval.
- State: Maintains internal state (the last poll timestamp plus the record IDs seen at that boundary) so each poll returns only records that are new since the last check.
- First Run: The first poll records the current position and returns no items, so activating the workflow never replays existing records.
- Testing: Running the node from the editor emits a single sample record so you can build the rest of the workflow; real records arrive only while the workflow is activated.
Tips
Configure your Airtable base ID, table ID, and trigger field (a Created Time or Last Modified Time column). The trigger polls Airtable using the IS_AFTER() formula to find records newer than the last check. Optionally filter by view, additional formula, or specific fields. Set the poll interval to control how frequently it checks.
Parameter Relationships
-
Download Fields dependency: The
downloadFieldNamesparameter is only available whendownloadAttachmentsis set totrue. This lets you specify which attachment fields to download rather than downloading all attachments. -
Additional Fields structure: All filtering options (
fields,formula,viewId) must be nested within theadditionalFieldsobject. They cannot be specified at the top level of parameters. -
Trigger Field requirement: The specified
triggerFieldmust be a Created Time or Last Modified Time field type in your Airtable schema. Standard text or number fields will not work for change detection.
Frequently asked questions
Which Airtable field types can be used as the trigger field?
Only a Created Time or Last Modified Time field. The trigger builds an IS_AFTER() formula against that column to find records newer than the last poll, so a plain text, number or date-entry field will not detect changes and the trigger will appear to do nothing.
Why are my view or formula filters being ignored?
Fields, formula and view ID all have to be nested inside the Additional Fields object. Set at the top level of the parameters they are silently not applied, which usually looks like the trigger returning far more records than expected.
How do I download attachments from the matched records?
Turn on Download Attachments first — the Download Fields parameter only becomes available once it is enabled. Leave Download Fields empty to take every attachment field, or name specific fields to fetch only those.
Does each record arrive as a separate workflow item?
Yes. Every record matching the poll becomes its own item on the Output port, so the node after the trigger runs once per record rather than once per poll.
Build with the Airtable Trigger node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Airtable Personal Access Token credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.