Overview
Airtable is a low-code database / spreadsheet hybrid – bases (databases) with tables (sheets) of records (rows) with typed fields. The Automize Airtable connector covers record CRUD, search, base/table metadata, and schema introspection.
- Regions: Airtable is global – api.airtable.com. No region selector. Enterprise plans get optional data residency in EU.
- Plans: Free, Plus, Pro, Business, Enterprise – all expose the API. Some features (sync sources, gantt) need Pro or above.
Setting up the connection
Auth type: Bearer Token.
- Sign in to airtable.com/create/tokens → Create new token.
- Set scopes: data.records:read, data.records:write, schema.bases:read.
- Grant access to specific bases (recommended) or all bases.
- Copy the token (starts with pat...).
- In Automize, open Settings → Connectors → Airtable → Add connection. Paste the token.
Find your credentials at https://airtable.com/create/tokens.
Rate limits
Airtable enforces 5 requests/sec per base. The connector retries 429 with exponential backoff. For bulk operations use Create/Update Records with batches of 10 (the max per call).
Data model
Hierarchy:
Workspace ─┬─ Bases (databases) ─┬─ Tables (sheets) ─┬─ Records (rows)
│ │ └─ Fields (typed columns)
│ └─ Views (filtered/sorted projections)
└─ Collaborators
Records have an internal record_id (recXXXXXX). Field values come back
as a fields object. Linked record fields contain arrays of record IDs.Available operations
12 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Create field | General | Create a field (column) in an Airtable table. |
| Create Records | General | Create one or more records |
| Create table | General | Create a table in an Airtable base. |
| Delete Record | General | Delete a record |
| Get Record | General | Get a record by ID |
| List Bases | General | List all bases |
| List Records | General | List records in a table |
| List Table Schema | General | Get table fields/schema |
| List tables | General | List tables in an Airtable base. |
| List webhooks | General | List webhooks for an Airtable base. |
| Update Records | General | Update one or more records |
| Update table | General | Update a table in an Airtable base. |
Operations
Create field
Create a field (column) in an Airtable table.
| Parameter | Required | Type | Description |
|---|---|---|---|
Base Id base_id | Yes | text | |
Table Id table_id | Yes | text | |
Name name | Yes | text | |
Type type | No | text | |
Options options | No | textarea |
Create Records
Create one or more records
| Parameter | Required | Type | Description |
|---|---|---|---|
Base Id base_id | Yes | text | |
Table Name table_name | Yes | text | |
Records records | Yes | textarea | |
Typecast typecast | Yes | text |
Tips
- Bulk variant – records: [{fields:{...}}, ...]. Max 10 per call.
Create table
Create a table in an Airtable base.
| Parameter | Required | Type | Description |
|---|---|---|---|
Base Id base_id | Yes | text | |
Name name | Yes | text | |
Fields fields | Yes | textarea |
Delete Record
Delete a record
| Parameter | Required | Type | Description |
|---|---|---|---|
Base Id base_id | Yes | text | |
Table Name table_name | Yes | text | |
Record Id record_id | Yes | text |
Tips
- Hard-delete. Irreversible (no trash on free plans; Pro+ has Revision History).
Get Record
Get a record by ID
| Parameter | Required | Type | Description |
|---|---|---|---|
Base Id base_id | Yes | text | |
Table Name table_name | Yes | text | |
Record Id record_id | Yes | text |
Tips
- base_id + table_id + record_id. Returns fields + createdTime.
List Bases
List all bases
No input parameters.
Tips
- Returns bases the token has access to. Pages via offset.
List Records
List records in a table
| Parameter | Required | Type | Description |
|---|---|---|---|
Base Id base_id | Yes | text | |
Table Name table_name | Yes | text |
Tips
- base_id + table_id (or table name).
- filterByFormula: Airtable formula expression e.g. 'AND({Status}="Open", {Priority}="High")'.
- sort: array of {field, direction:'asc'|'desc'}.
- pageSize max 100; use offset to page.
- view='ViewName' to constrain to a saved view's filters + sort.
List Table Schema
Get table fields/schema
| Parameter | Required | Type | Description |
|---|---|---|---|
Base Id base_id | Yes | text |
List tables
List tables in an Airtable base.
| Parameter | Required | Type | Description |
|---|---|---|---|
Base Id base_id | Yes | text |
List webhooks
List webhooks for an Airtable base.
| Parameter | Required | Type | Description |
|---|---|---|---|
Base Id base_id | Yes | text |
Update Records
Update one or more records
| Parameter | Required | Type | Description |
|---|---|---|---|
Base Id base_id | Yes | text | |
Table Name table_name | Yes | text | |
Records records | Yes | textarea | |
Typecast typecast | Yes | text |
Tips
- Bulk – same shape as Create Records. Max 10.
Update table
Update a table in an Airtable base.
| Parameter | Required | Type | Description |
|---|---|---|---|
Base Id base_id | Yes | text | |
Table Id table_id | Yes | text |
FAQ
- Linked record field – how do I set?
- Pass an array of record IDs (recXXX) in the fields object. The linked field expects IDs, not names.
- Why does Create Record fail with 'Unknown field name'?
- Field names are case-sensitive and must match exactly. Use spaces and punctuation as shown in Airtable UI. Or pass field IDs (fldXXX) instead – IDs are stable across renames.
- How do I attach a file to an attachment field?
- Send an array of {url} objects in the field value. Airtable fetches the URL and caches the file. There's no direct bytes upload via REST.
- Why is my filterByFormula returning everything?
- Formula syntax error → Airtable silently ignores. Test the formula in the UI first. Common gotchas: use {Field Name} with curly braces; strings need double quotes.
- Pro tip – using views?
- If the same filter + sort is used repeatedly, define a View in Airtable and pass view='ViewName' to List Records. Much simpler than rebuilding formulas client-side.