Skip to content

Airtable

Bring structured data to Chainabit with record CRUD and base access.

FamilyCategorySub-typeAuth typeTrending score
Productivitydatabaseno-code-dbbearer_token79

Overview

Product URLAPI docsSupported features
https://www.airtable.com/https://www.airtable.com/developers/web/api/introductiontool_discovery, health_check, approval_gated_writes

Setup

  1. Install the connector instance.
  2. Store the provider token or connection secret.
  3. Sync the tools and test the connection.
  4. Review approval-gated write tools before running them.

Auth & Configuration

FieldRequiredTypeNotes
baseIdYesstringDefault Airtable base ID used by the instance.

Example config

json
{
  "baseId": "appXXXXXXXXXXXX"
}
  • Set baseId in the instance config before syncing tools.

Available Tools

ToolRequires approvalDescription
list_tablesNoList tables in a base using Airtable metadata.
list_recordsNoList records from a table with optional filtering.
get_recordNoRetrieve a single Airtable record by ID.
create_recordYesCreate a new record in Airtable.
update_recordYesUpdate an existing Airtable record.
delete_recordYesDelete an Airtable record by ID.

Use list_tables for the main execution example below because it is safe to run without approval.

Examples

Install

bash
chainabit connectors install airtable --name "Airtable" --config '{"baseId":"appXXXXXXXXXXXX"}'
bash
curl -X POST "$BASE_URL/connectors/instances" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "connectorKey": "airtable",
  "displayName": "Airtable",
  "config": {
    "baseId": "appXXXXXXXXXXXX"
  }
}'
javascript
const response = await fetch(`${BASE_URL}/connectors/instances`, {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "connectorKey": "airtable",
  "displayName": "Airtable",
  "config": {
    "baseId": "appXXXXXXXXXXXX"
  }
}),
});

Credentials

bash
chainabit connectors auth <instance-id>
bash
curl -X POST "$BASE_URL/connectors/instances/<instance-id>/credentials" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "credType": "bearer_token",
  "credentials": {
    "token": "YOUR_BEARER_TOKEN"
  }
}'
javascript
await fetch(`${BASE_URL}/connectors/instances/<instance-id>/credentials`, {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${TOKEN}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "credType": "bearer_token",
  "credentials": {
    "token": "YOUR_BEARER_TOKEN"
  }
}),
});

Execute

bash
chainabit connectors exec <instance-id> list_tables --input '{}'
bash
curl -X POST "$BASE_URL/connectors/instances/<instance-id>/tools/tool_list_tables/execute" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "input": {}
}'
javascript
const response = await fetch(
  `${BASE_URL}/connectors/instances/<instance-id>/tools/tool_list_tables/execute`,
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${TOKEN}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
  "input": {}
}),
  },
);

Security Notes

  • Keep tokens, API keys, and connection strings in the encrypted credentials vault.
  • Do not allow arbitrary server URLs for remote MCP connectors.
  • Mutating tools are approval-gated. Review the payload before executing them.
  • Set baseId in the instance config before syncing tools.

Troubleshooting

  • If the health check fails, verify the token scope or credential payload and try again.
  • If the tool list is empty, re-run sync-tools after storing the latest credentials.

Back to the catalog

Built with purpose.