Airtable Block
Read, create, and update Airtable
The Airtable block lets you manage table records in an Airtable base directly from a workflow. Use it to list, get, create, or update records over OAuth — reach for it whenever a workflow needs to read from or write to Airtable as a data source.
Overview
| Property | Value |
|---|---|
| Type | airtable |
| Category | tools |
| Color | #E0E0E0 |
When to Use
- List records from a table, optionally filtered by an Airtable formula
- Fetch a single record by its record ID
- Create one or more new records from a JSON array
- Update an individual record's fields by record ID
- Sync external data (form submissions, scraped content, API results) into an Airtable base
- Trigger a workflow when records change in Airtable via the webhook trigger
Configuration
Operation
Dropdown selecting the action to perform. Required; defaults to list.
| Label | ID |
|---|---|
| List Records | list |
| Get Record | get |
| Create Records | create |
| Update Record | update |
Airtable Account
OAuth connection to your Airtable account (oauth-input, provider: airtable). Required. Requests the data.records:read and data.records:write scopes.
Base ID
The target base identifier (e.g., appXXXXXXXXXXXXXX). Required for all operations.
Table ID
The target table identifier (e.g., tblXXXXXXXXXXXXXX). Required for all operations.
Record ID
The record to operate on (e.g., recXXXXXXXXXXXXXX). Required for the get and update operations only.
Max Records
Optional cap on the number of records returned. Visible only for the list operation.
Filter Formula
Optional Airtable formula to filter results (e.g., ({Status} = "Active")). Visible only for the list operation.
Records (JSON Array)
JSON array of records to write. Required for the create operation. Format: [{ "fields": { "Field Name": "Value" } }].
Fields (JSON Object)
JSON object of field names and their new values. Required for the update operation. Format: { "Field Name": "New Value" }.
Trigger Configuration
When trigger mode is active, configures the airtable_webhook trigger so the workflow fires on record changes in the connected base.
Inputs & Outputs
-
Inputs:
operation(string) — Operation to perform (list,get,create, orupdate)credential(string) — Airtable OAuth access tokenbaseId(string) — Airtable base identifiertableId(string) — Airtable table identifierrecordId(string) — Record identifier; required forgetandupdatemaxRecords(number) — Maximum records to return; optional forlistfilterFormula(string) — Filter formula expression; optional forlistrecords(json) — Record data array; required forcreatefields(json) — Field data object; required forupdate
-
Outputs (action operations):
records(json) — Array of retrieved or created records; present forlistandcreaterecord(json) — Single record data; present forgetandupdatemetadata(json) — Operation metadata (e.g., pagination offset, record count, updated field names); present in all responses
-
Outputs (webhook trigger mode):
event_type(string) — Type of Airtable eventbase_id(string) — Airtable base identifiertable_id(string) — Airtable table identifierrecord_id(string) — Record identifier that was modifiedrecord_data(string) — Complete record data (when Include Full Record Data is enabled)changed_fields(string) — Fields that were changed in the recordwebhook_id(string) — Unique webhook identifiertimestamp(string) — Event timestamp
Tools
- Airtable List Records (
airtable_list_records) — Reads records from an Airtable table via GET. Supports optionalmaxRecordscap andfilterByFormulafiltering. Returns an array of records and pagination metadata. - Airtable Get Record (
airtable_get_record) — Retrieves a single record from an Airtable table by its record ID via GET. Returns the full record object and metadata. - Airtable Create Records (
airtable_create_records) — Writes one or more new records to an Airtable table via POST. Accepts arecordsarray where each element has afieldsobject. Returns the created records and metadata. - Airtable Update Record (
airtable_update_record) — Updates an existing record in an Airtable table by record ID via PATCH. Accepts afieldsobject. Returns the updated record and metadata including the list of updated field names. - Airtable Update Multiple Records (
airtable_update_multiple_records) — Updates multiple existing records in a single PATCH request. Accepts arecordsarray where each element has anidand afieldsobject. Returns the updated records and metadata including all updated record IDs.
YAML Example
airtable_1:
type: airtable
name: "Airtable"
inputs:
operation: "list"
credential: "{{AIRTABLE_OAUTH_TOKEN}}"
baseId: "appXXXXXXXXXXXXXX"
tableId: "tblXXXXXXXXXXXXXX"
maxRecords: 100
filterFormula: "({Status} = \"Active\")"
connections:
outgoing:
- target: next-block-id