Productivity
Airtable
target_app: "airtable" · endpoint /v1/messaging/execute · Bring your own credentials
Setup
Generate a personal access token at airtable.com/create/tokens with data.records:read and data.records:write scopes, granted access to the specific base(s) you need.
Credentials needed on your Connections page
Actions
create_record
Create a row in a table.
Request body:
{
"user_id": "...",
"action": "create_record",
"payload": { "baseId": "appXXXXXXXXXXXXXX", "tableName": "Tasks", "fields": { "Name": "New task" } },
"target_app": "airtable"
}provider_response.result shape:
{ "id": "rec...", "fields": {"Name":"New task"} }list_records
List rows in a table.
Request body:
{
"user_id": "...",
"action": "list_records",
"payload": { "baseId": "appXXXXXXXXXXXXXX", "tableName": "Tasks" },
"target_app": "airtable"
}provider_response.result shape:
{ "records": [{"id":"rec...","fields":{...}}] }update_record
Update a specific row.
Request body:
{
"user_id": "...",
"action": "update_record",
"payload": { "baseId": "appXXXXXXXXXXXXXX", "tableName": "Tasks", "recordId": "rec...", "fields": { "Status": "Done" } },
"target_app": "airtable"
}provider_response.result shape:
{ "id": "rec...", "fields": {"Status":"Done"} }delete_record
Delete a row.
Request body:
{
"user_id": "...",
"action": "delete_record",
"payload": { "baseId": "appXXXXXXXXXXXXXX", "tableName": "Tasks", "recordId": "rec..." },
"target_app": "airtable"
}provider_response.result shape:
{ "id": "rec...", "deleted": true }Anticipated errors & fixes
404 "Could not find table"
Cause: tableName doesn't match exactly, or the token wasn't granted access to that base.
Fix: Table names are case-sensitive — copy it exactly from Airtable's UI. Also check the token's base access list.
422 "Unknown field name"
Cause: A field in your fields object doesn't match a real column name in that table.
Fix: Airtable → your base → ⋯ → API documentation shows exact field names for that table.
401 "Unauthorized: Invalid API key."
Cause: Your eConnect Authorization header is missing, malformed, or the key was regenerated/revoked.
Fix: Copy your api_key fresh from the eConnect dashboard and confirm the header reads exactly "Authorization: Bearer <key>".
429 "Too many requests"
Cause: You've exceeded your plan's per-minute rate limit.
Fix: Wait a minute and retry, or upgrade your plan for a higher per-minute limit.
429 "Monthly API limit exceeded"
Cause: You've used your plan's full monthly request allowance.
Fix: Wait for your next billing cycle reset, or upgrade to a plan with a higher monthly limit.