Airtable
Connects to the Airtable API for working with bases, tables, and records. An agent can discover bases and tables, list, search, create, and update records.
Add to an agent node's tools array with _node_type: "tool-airtable". See Connector Reference — How connectors are used.
Authentication
| Field | Required | Description |
|---|---|---|
api_key | Yes | Airtable API key (personal access token), sent as Authorization: Bearer <api_key>. Typically a stored secret. |
{
"name": "airtable",
"_node_type": "tool-airtable",
"api_key": "{{ secret.AIRTABLE_API_KEY }}"
}
Tools
airtable_list_bases
List all Airtable bases accessible with your API key. Use this to find base IDs.
No parameters.
Returns: A list of - **<name>** id: <id> lines, or "No bases found.".
airtable_list_tables
List all tables in an Airtable base.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | Yes | Airtable base ID (use airtable_list_bases to find) |
Returns: A list of - **<name>** id: <id> lines, or "No tables found.".
airtable_list_records
List records from an Airtable table with optional filtering.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | Yes | Airtable base ID |
table_name | string | Yes | Table name or ID |
max_records | number | No | Max records to return (default 20) |
filter_by_formula | string | No | Airtable formula to filter records |
Returns: A list of **<record id>**: <fields as JSON> lines, or "No records found.".
airtable_get_record
Get a single Airtable record by ID.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | Yes | Airtable base ID |
table_name | string | Yes | Table name or ID |
record_id | string | Yes | Record ID (starts with rec...) |
Returns: A heading with the record ID followed by its fields as pretty-printed JSON.
airtable_create_record
Create a new record in an Airtable table.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | Yes | Airtable base ID |
table_name | string | Yes | Table name or ID |
fields | string | Yes | JSON object of field names to values |
Returns: "Record created. ID: <id>".
airtable_update_record
Update fields on an existing Airtable record.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | Yes | Airtable base ID |
table_name | string | Yes | Table name or ID |
record_id | string | Yes | Record ID to update |
fields | string | Yes | JSON object of fields to update |
Returns: "Record **<id>** updated.".
airtable_search_records
Search for Airtable records where a field matches a value.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
base_id | string | Yes | Airtable base ID |
table_name | string | Yes | Table name or ID |
field | string | Yes | Field name to search in |
value | string | Yes | Value to search for |
Returns: A list of **<record id>**: <fields as JSON> lines for records where field equals value (up to 20), or "No matching records found.".