Airtable
API actions for the Airtable integration.
Airtable
Work with Airtable bases, tables, and records.
Create record
Create a new record in an Airtable table.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | Yes | Airtable base ID from list_bases response (bases[].id). |
table_name | string | Yes | Airtable table name from list_tables response (tables[].name). |
fields | object | Yes | Record fields to create as key-value pairs matching the table's field names. |
Response
{
"createdTime": "2024-01-15T10:30:00Z",
"fields": {
"Email": "john@example.com",
"Name": "John Smith",
"Status": "Active"
},
"id": "rec9K3L2mN4P5Q6R"
}Delete record
Delete a record from an Airtable table.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | Yes | Airtable base ID from list_bases response (bases[].id). |
table_name | string | Yes | Airtable table name from list_tables response (tables[].name). |
record_id | string | Yes | Record ID from list_records or create_record response (records[].id or id). |
Response
{
"deleted": true
}Get record
Retrieve a single record by ID.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | Yes | Airtable base ID from list_bases response (bases[].id). |
table_name | string | Yes | Airtable table name from list_tables response (tables[].name). |
record_id | string | Yes | Record ID from list_records or create_record response (records[].id or id). |
Response
{
"createdTime": "2024-01-15T10:30:00Z",
"fields": {
"Email": "john@example.com",
"Name": "John Smith",
"Status": "Active"
},
"id": "rec9K3L2mN4P5Q6R"
}List bases
Retrieve all accessible Airtable bases for the connected account.
Response
{
"bases": [
{
"id": "appaBc123DeFg456",
"name": "Marketing Campaigns",
"permissionLevel": "create"
}
]
}List records
Retrieve records from an Airtable table with optional filtering.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | Yes | Airtable base ID from list_bases response (bases[].id). |
table_name | string | Yes | Airtable table name from list_tables response (tables[].name). |
max_records | number | No | Maximum number of records to return |
filter_formula | string | No | Airtable filterByFormula expression |
Response
{
"records": [
{
"createdTime": "2024-01-15T10:30:00Z",
"fields": {
"Email": "john@example.com",
"Name": "John Smith",
"Status": "Active"
},
"id": "rec9K3L2mN4P5Q6R"
}
]
}List tables in a base
Fetch all tables for a specific Airtable base.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | Yes | Airtable base ID. Use list_bases first to get available base IDs from the response's bases[].id field. |
Response
{
"tables": [
{
"id": "tblXyz789AbC123",
"name": "Contacts",
"primaryFieldId": "fldPqR456StU789"
}
]
}Update record
Update fields on an existing Airtable record.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | Yes | Airtable base ID from list_bases response (bases[].id). |
table_name | string | Yes | Airtable table name from list_tables response (tables[].name). |
record_id | string | Yes | Record ID from list_records or create_record response (records[].id or id). |
fields | object | Yes | Fields to update on the record as key-value pairs. |
Response
{
"createdTime": "2024-01-15T10:30:00Z",
"fields": {
"Email": "john@example.com",
"Name": "John Smith",
"Status": "Inactive"
},
"id": "rec9K3L2mN4P5Q6R"
}