- Home
- Resources
- Integrations
- Airtable
Airtable n8n integrationAutomate Airtable with n8n.
A base is only worth the workflows that keep it current. The Airtable n8n integration exposes 8 operations across 2 resources, records and bases, plus a trigger that checks a table at the interval you pick. It suits teams whose pipeline, stock list or content calendar already lives in Airtable.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Airtable n8n integration cover?
Airtable is a spreadsheet-database hybrid: a table looks like a spreadsheet, but every field carries a type such as checkbox, phone number or drop-down list, and can reference file attachments like images. The Airtable node reads, writes, updates and deletes that data from inside a workflow, and the Airtable Trigger starts a workflow when new rows show up in a table you point it at.
The first pattern is intake. A form, a scraper or an email parser drops a lead into the table, the trigger picks it up on its next pass, and record.search checks whether that address already sits in the base. A match routes the workflow to record.update, no match routes it to record.create, and the list stops filling up with near-duplicates. Teams that used to keep the same list in Google Sheets gain typed fields and attachments along the way.
The second pattern runs the other direction. Airtable holds the reference data and something else needs a copy of it: a scheduled workflow calls record.search with Return All switched on, then writes each row into Supabase for the app that reads it. The same shape backs a weekly digest, where the rows selected by a formula become the body of a message.
The third pattern never leaves Airtable. A row changes state, the workflow reads it with record.get, pulls down the attachment it carries, does something with the file, then writes the outcome back with record.update. Content calendars and client deliverables tend to run exactly like this.
The node covers records and bases: create, get, search, update, upsert and delete on one side, the list of bases and the schema of a base on the other. When the Airtable API exposes something outside those 8 operations, the HTTP Request node calls the endpoint directly and reuses the same credential through its predefined authentication, so no key gets stored twice.
Two limits belong in the plan. Airtable answers with a 429 error past 5 requests per second on a single base, the same ceiling applies past 50 requests across all bases for one access token, and a workflow that loops over a long table needs 30 seconds of patience rather than raw speed. The trigger, for its part, will not work correctly without a Created Time or Last Modified Time field to sort on. The n8n review looks at where the tool fits overall, and the n8n training walks through building this kind of workflow end to end.
How do you connect Airtable to n8n?
- 01
Create a personal access token
Open the Personal access tokens page of the Airtable Builder Hub and select + Create new token. Give it a Name such as
n8n credential, then add the three scopes n8n recommends:data.records:read,data.records:writeandschema.bases:read. Set the Access to one base, to several bases, or to every base in a workspace you own, then select Create token. - 02
Paste the token into the n8n credential
In n8n, open the Credentials menu and create an Airtable credential of the Access Token kind. Airtable displays the token once, in a modal, so copy it straight into the Access Token field. A credential is created once and then offered in the dropdown of every Airtable node and of the trigger, in any workflow on the instance.
- 03
Switch to OAuth2 when several people share the instance
On a self-hosted n8n, OAuth2 is the other supported method. Copy the OAuth Redirect URL from the n8n credential into the OAuth integrations page of the Builder Hub, register the integration, then bring back the Client ID and the Client Secret generated there. Grant the same three scopes, start the connection from the n8n credential, then choose the base and confirm with Grant access.
What starts an Airtable workflow?
Airtable Trigger is the node that starts a workflow when something changes in Airtable. n8n checks your account on the schedule you set and runs the workflow once per new item it finds.
What you see in n8n
Configuration notes
01Airtable Trigger
There is no list of events to tick here. The trigger polls, which means n8n queries the Airtable API at a chosen interval and sends out one item per record it has not seen before. Nothing gets registered on the Airtable side, and the cost of that simplicity is a delay equal to the interval.
Key parameters
- Base and Table: the table to watch, given by its URL or by its ID, or picked from the list once the credential is connected.
- Trigger Field: a Created Time or Last Modified Time field, used to sort the records and work out what is new since the last check. Without such a field in the schema, the trigger will not work correctly, so create one first.
- Poll Times: Every Minute, Every Hour, Every Day, Every Week, Every Month, Every X for a number of minutes or hours, or Custom for a cron expression. Add Poll Time adds a second schedule.
02Download Attachments
Airtable fields can hold files, and the trigger can bring them along instead of handing over a bare link. Switch Download Attachments on and the files arrive as binary data on the item, ready for the next node.
Key parameters
- Download Attachments: the toggle that turns the behavior on. Left off, the workflow only gets the field values.
- Download Fields: the names of the attachment fields to download, separated by commas. The names are case sensitive, so a field called Invoice PDF has to be written exactly that way.
03Additional Fields
By default the output of a poll stays minimal: only the Trigger Field comes back. Three optional settings shape what each item contains and which rows make it through at all.
Key parameters
- Fields: a comma-separated list of the columns to include in the output, for example
name, id. - Formula: an Airtable formula that filters the rows further. Worth knowing before a test session: formula values are ignored during manual executions and only apply to production polling.
- View ID: the name or the ID of a view. Once set, only the records available in that view come back.
What can the Airtable node do?
The Airtable node exposes 8 operations across 2 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Create | Get | Update | Delete | Get Many | Get Schema | Search | Create or Update |
|---|---|---|---|---|---|---|---|---|
| Base | ✓ | ✓ | ||||||
| Record | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Operations index
Base
2 operationsGet many bases
base.getManyWhat you see in n8n
Notes & use cases
Lists all the bases the credential can reach, so a workflow can work out where to write instead of carrying a hard-coded base.
Key parameters
- Return All: switched on, n8n walks through every page of the list; switched off, it stops at Limit.
- Limit: the maximum number of bases returned while Return All stays off.
- Permission Level: keeps only the bases matching one or more levels, among
comment,create,edit,noneandread.
edit, before the workflow writes anything.Get base schema
base.getSchemaWhat you see in n8n
Notes & use cases
Returns the schema of the tables held in one base: which tables exist, and which fields they carry. It answers the question every mapping step runs into, namely how a column is spelled exactly.
Key parameters
- Base: the base whose schema you want, chosen from the list or set by an expression such as
{{ $json.baseId }}when the id comes from an earlier node.
Record
6 operationsCreate a record
record.createWhat you see in n8n
Notes & use cases
Adds a new row to the table and returns it, record id included, ready to be reused further down the workflow.
Key parameters
- Base and Table: where the row lands.
- Columns: the mapper that lists the fields of the table; each one takes a fixed value or an expression such as
{{ $json.email }}. - Typecast: lets the Airtable API map string values onto linked records and select options instead of refusing them.
Create or update a record
record.upsertWhat you see in n8n
Notes & use cases
One call with two outcomes: the row is updated when it already exists, created when it does not. This is the upsert that keeps a nightly import from doubling every line.
Key parameters
- Columns: the field mapping, plus the column used to match an existing record.
- Update All Matches: switched on, every record matching the value in the Column to Match On gets updated; left off, only the first match does.
- Ignore Fields From Input: a comma-separated list of incoming fields to leave out of the update, handy for a timestamp that should never overwrite the original one.
Delete a record
record.deleteRecordWhat you see in n8n
Notes & use cases
Removes one row from the table, identified by its record id. The operation takes a single record, so a cleanup over many rows runs it once per item.
Key parameters
- Base and Table: where the row lives.
- Record ID: the id of the record to delete, in the
recf7EaZp707CEc8gshape, most often taken from a previous search with an expression like{{ $json.id }}.
Get a record
record.getWhat you see in n8n
Notes & use cases
Retrieves a single row when the workflow already knows its id, with every field of that row.
Key parameters
- Record ID: the id of the record to get, for example
recf7EaZp707CEc8g, often carried over from the item that triggered the run. - Download Attachments: the attachment fields to download with the row, which turns the files into binary data instead of a reference.
Search records
record.searchWhat you see in n8n
Notes & use cases
Queries a table and returns matching rows. With no filter, it lists the whole table. Most workflows lean on it, since reading before writing keeps a base clean.
Key parameters
- Filter By Formula: an Airtable formula evaluated on each record, such as
NOT({Name} = 'Admin'); empty, every record comes back. - Return All: on for a full export, since n8n then walks every page of results; off to stop at Limit.
- Sort: one or more rules, each pairing a Field with a Direction,
ascordesc. - View: limits the search to a single view.
Update record
record.updateWhat you see in n8n
Notes & use cases
Writes new values onto a row that already exists, leaving the fields you do not map untouched.
Key parameters
- Columns: the fields to overwrite, and the column that identifies the record to update.
- Ignore Fields From Input: the incoming fields to skip, so an enrichment step does not flatten a value typed by hand.
- Typecast: same mapping help as on creation, for linked records and select options arriving as plain text.
Need help automating Airtable with n8n?
A person reads every message.


