Airtable
Authentication Type: API Key Description: Manage records and bases in Airtable with full CRUD operations, search with formula filtering, and base schema inspection.
Authentication
To authenticate with Airtable, you'll need a Personal Access Token:
- Go to Airtable Token Creation
- Click Create new token and give it a descriptive name
- Add the scopes you need:
data.records:read-- required for reading recordsdata.records:write-- required for creating, updating, and deleting recordsschema.bases:read-- required for listing bases and reading schemas
- Select which bases the token can access (all bases, or specific ones)
- Click Create token and copy the value
You'll need to provide:
- apiKey
string: Your Airtable Personal Access Token
Security tip: Create separate tokens for read-only and read-write access. Use the minimum scopes required for your use case, and restrict access to only the bases you need.
Records
Create Record
Create a new record (row) in an Airtable table. Field names must match the column names in your table exactly.
Operation Type: Mutation (Write)
Parameters:
- baseId
string(required): The ID of the Airtable base (e.g.,appABC123def456) - tableId
string(required): The ID or name of the table (e.g.,tblXYZ789orContacts) - fields
object(required): Key-value pairs of field names to values. Keys are the field names, values are the data to set. - typecast
boolean(nullable): Iftrue, Airtable will attempt to convert string values to the appropriate cell type (e.g., turning"42"into a number). Defaultfalse.
Returns:
- id
string: The ID of the newly created record - createdTime
string: ISO 8601 timestamp of when the record was created - fields
object: The field values of the created record
Example Usage:
{
"baseId": "appABC123def456",
"tableId": "Contacts",
"fields": {
"Name": "Jane Smith",
"Email": "jane@example.com",
"Company": "Acme Corp",
"Status": "Active"
},
"typecast": false
}
Get Record
Retrieve a single record from an Airtable table by its record ID.
Operation Type: Query (Read)
Parameters:
- baseId
string(required): The ID of the Airtable base - tableId
string(required): The ID or name of the table - recordId
string(required): The ID of the record to retrieve (e.g.,recABC123)
Returns:
- id
string: The record ID - createdTime
string: ISO 8601 timestamp of when the record was created - fields
object: The field values of the record
Example Usage:
{
"baseId": "appABC123def456",
"tableId": "Contacts",
"recordId": "recXYZ789abc012"
}
Search Records
Search for records in an Airtable table with optional filtering, sorting, field selection, and pagination.
Operation Type: Query (Read)
Parameters:
- baseId
string(required): The ID of the Airtable base - tableId
string(required): The ID or name of the table - filterByFormula
string(nullable): An Airtable formula to filter records. Only records where the formula evaluates totrueare returned. - fields
array of strings(nullable): List of field names to include in the response. If omitted, all fields are returned. - sort
array of objects(nullable): List of sort criteria. Each object has:- field
string: The field name to sort by - direction
string: Sort direction (ascordesc)
- field
- maxRecords
number(nullable): Maximum number of records to return (default 100) - view
string(nullable): The name or ID of a view to use. When specified, only records visible in that view are returned, and the view's filters and sorts are applied.
Returns:
- records
array of objects: List of matching records- id
string: The record ID - createdTime
string: ISO 8601 timestamp of when the record was created - fields
object: The field values of the record
- id
Example Usage:
{
"baseId": "appABC123def456",
"tableId": "Contacts",
"filterByFormula": "AND({Status} = 'Active', {Company} = 'Acme Corp')",
"fields": ["Name", "Email", "Company"],
"sort": [{ "field": "Name", "direction": "asc" }],
"maxRecords": 50
}
Update Record
Update an existing record in an Airtable table. Only the fields you specify will be updated; other fields remain unchanged.
Operation Type: Mutation (Write)
Parameters:
- baseId
string(required): The ID of the Airtable base - tableId
string(required): The ID or name of the table - recordId
string(required): The ID of the record to update - fields
object(required): Key-value pairs of field names to new values. Only specified fields are updated. - typecast
boolean(nullable): Iftrue, Airtable will attempt to convert string values to the appropriate cell type. Defaultfalse.
Returns:
- id
string: The record ID - createdTime
string: ISO 8601 timestamp of when the record was created - fields
object: The full field values of the updated record
Example Usage:
{
"baseId": "appABC123def456",
"tableId": "Contacts",
"recordId": "recXYZ789abc012",
"fields": {
"Status": "Churned",
"Notes": "Account closed on 2025-03-15"
}
}
Delete Record
Delete a record from an Airtable table. This action is permanent and cannot be undone.
Operation Type: Mutation (Write)
Parameters:
- baseId
string(required): The ID of the Airtable base - tableId
string(required): The ID or name of the table - recordId
string(required): The ID of the record to delete
Returns:
- id
string: The ID of the deleted record - deleted
boolean:trueif the record was successfully deleted
Example Usage:
{
"baseId": "appABC123def456",
"tableId": "Contacts",
"recordId": "recXYZ789abc012"
}
Bases
List Bases
List all Airtable bases that your token has access to. Use this to discover base IDs for use with other operations.
Operation Type: Query (Read)
Parameters:
None.
Returns:
- bases
array of objects: List of accessible bases- id
string: The base ID (e.g.,appABC123def456) - name
string: The human-readable name of the base - permissionLevel
string: Your permission level for this base (e.g.,create,edit,comment,read)
- id
Example Usage:
{}
Get Base Schema
Retrieve the schema of an Airtable base, including all tables and their field definitions. Use this to discover table IDs, field names, and field types before querying or writing records.
Operation Type: Query (Read)
Parameters:
- baseId
string(required): The ID of the Airtable base
Returns:
- tables
array of objects: List of tables in the base- id
string: The table ID (e.g.,tblXYZ789) - name
string: The table name - description
string(nullable): Description of the table - fields
array of objects: List of fields in the table- id
string: The field ID - name
string: The field name - type
string: The field type (e.g.,singleLineText,number,singleSelect,multipleAttachments) - description
string(nullable): Description of the field
- id
- id
Example Usage:
{
"baseId": "appABC123def456"
}
Common Use Cases
CRM & Contact Management:
- Search for contacts by status, company, or custom fields using formula filters
- Create new contact records when leads come in from other tools
- Update deal stages and contact statuses as they progress through your pipeline
- Sync contact data between Airtable and other systems
Project & Task Tracking:
- Query open tasks filtered by assignee, due date, or priority
- Update task statuses and add notes as work progresses
- Create new tasks or issues from external triggers (e.g., support tickets, form submissions)
- List all tables in a project base to understand its structure before building automations
Inventory & Asset Management:
- Search for products by category, stock level, or supplier
- Update inventory quantities after orders are fulfilled
- Create records for new assets and track their lifecycle
- Use schema inspection to discover field types and build dynamic integrations
Data Operations & Integration:
- List all accessible bases to discover available data sources
- Inspect base schemas to understand table structures before building workflows
- Bulk-read records with formula filtering for reporting and analytics
- Use typecast to flexibly import data from external systems without strict type matching