AutomationFlowsTutorials › Connect Airtable to n8n

Connect Airtable to n8n

This tutorial guides you through connecting Airtable to n8n using the Airtable node, covering authentication, data operations like listing, creating, updating, and deleting records, plus filtering, pagination, and handling limits. It's for technical users familiar with n8n basics who need precise steps to integrate Airtable bases and tables into automations.

Why this matters

Manually syncing data between Airtable and other tools wastes time and risks errors, especially with large datasets or complex filters. This integration lets you automate CRUD operations in n8n, avoiding the trap of brittle API calls or overlooked pagination that can leave records unprocessed and workflows incomplete.

Step-by-step

  1. Open your n8n instance and create a new workflow. Add a trigger node, such as the Schedule Trigger for periodic runs or Webhook for external events, to start the flow.
  2. Search for and add the Airtable node to your canvas. In the node settings, select Authenticate with Personal Access Token under Credentials. If you haven't set up credentials yet, click Create New, enter your Airtable personal access token (generate one at airtable.com/create/tokens with scopes like data.records:read and data.records:write), base ID (found in your base URL as appXXXXXXXXXXXXXX), and table name.
  3. Configure the Airtable node operation. For listing records, choose List from the Operation dropdown. Specify the Base ID and Table using your credentials or manually enter them. Test the node by clicking Execute Node; it should return up to 100 records in JSON format with fields like id, fields, and createdTime.
  4. To create records, set Operation to Create. In the Fields to Send section, map incoming data from previous nodes, e.g., use expressions like {{ $json.name }} for a field named "Name". Execute to insert a new row; expect a response with the new record's id.
  5. For updates, select Update operation. Provide the Record ID (from a prior List node, e.g., {{ $json.id }}) and fields to update. Use Options > Update Only Changed Fields to avoid overwriting unchanged data. Test on a single record to confirm modifications in Airtable.
  6. Handle deletions with Delete operation. Input the Record ID to remove; n8n will return a success message if the record exists, or an error if not. Always add error handling with an IF node to check for 404 responses.
  7. Implement filtering using Airtable formulas in the Filter by Formula option. Enter a formula like FIND("priority", {Status}) > 0 to match records where Status contains "priority". This reduces API calls by server-side filtering; test with small datasets to verify results match your base.
  8. For paginating large tables, enable Return All in Options, which automatically handles Airtable's 100-record limit by fetching offsets via offset tokens. Alternatively, use Limit for partial pulls, but monitor n8n's execution logs for offset chaining to ensure completeness.
  9. Aware of limits: Airtable caps at 100 records per request and 5 requests per second per base. In n8n, add a Wait node (e.g., 200ms delay) between batches if hitting rate limits, indicated by 429 errors. For high-volume needs, consider webhooks over polling.

Worked example

Imagine automating lead management: a webhook receives new form submissions, creates an Airtable record, then lists and updates related contacts. Start with a Webhook node capturing JSON payload like { "email": "user@example.com", "status": "new" }. Connect to an Airtable Create node in base appLeads123, table "Contacts", mapping email to the "Email" field and status to "Status". Next, add an Airtable List node targeting the same table, filtering with formula SEARCH("new", {Status}) to find fresh leads, returning all via pagination. Loop through results with a Loop Over Items node, then use an Airtable Update node to set "Last Contacted" to current timestamp ({{ new Date().toISOString() }}) for each. Finally, branch to a Send Email node for notifications. Executing the workflow end-to-end processes a batch of 250 leads in under a minute, updating Airtable without manual intervention.

Common pitfalls

Related workflows in the catalog

Explore n8n's catalog for ready-made integrations, like the "Airtable to Google Sheets Sync" workflow that mirrors records bidirectionally, or "Airtable Lead Enrichment with Clearbit" for auto-populating contact details. With over 14,000+ importable workflows, search for "Airtable" to find patterns like CRM updates or inventory alerts. These provide starting points you can tweak for your bases, saving setup time on common automations.