Reference · Tools

Airtable Trigger

Starts workflow when new or updated records appear in an Airtable table

Polling trigger Data & Storage v1 Binary data

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

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires Airtable Personal Access Token credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
Base IDstringYesThe ID of the Airtable base (e.g. appXXXXXXXXXXXXXX). You can find this in the Airtable URL: https://airtable.com/{baseId}/
Table IDstringYesThe ID or name of the table (e.g. tblXXXXXXXXXXXXXX). You can find this in the Airtable URL after the base ID.
Trigger FieldstringYesA 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 AttachmentsbooleanNofalseWhether attachment fields should be downloaded and included as binary data in the output.
Download FieldsstringNoComma-separated names of attachment-type fields to download (e.g. ‘Photos, Documents’). Case sensitive. (shown when Download Attachments is true)
Additional FieldscollectionNo{}Optional query refinements applied on top of the time filter.
— FieldsstringNoComma-separated list of field names to include in the response. By default all fields are returned. Example: Name, Email, Status
— FormulastringNoAn 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 IDstringNoThe name or ID of a view in the table. If set, only records in that view will be returned.
Poll IntervalnumberNo1How often to check for new data.
Poll Interval UnitoptionsNominutesUnit 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 — always airtable_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 example Photos_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 downloadFieldNames parameter is only available when downloadAttachments is set to true. 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 the additionalFields object. They cannot be specified at the top level of parameters.

  • Trigger Field requirement: The specified triggerField must 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 BusyBot

Last updated . Spotted something wrong? Tell us.