OpenClaw skill for Airtable. Reads bases, tables, and records directly via the Airtable API. No third-party proxy.
- List all accessible bases
- List tables in a base (with field names)
- List and filter records with Airtable formulas
- Get a specific record by ID
- Search records by value in any field or a specific field
- Python 3 (stdlib only, no pip dependencies)
- An Airtable account (free tier works)
- An Airtable Personal Access Token (PAT)
- Go to https://airtable.com/create/tokens
- Click + Create new token, give it a name
- Add scopes:
data.records:read,schema.bases:read - Under Access, select which bases to grant access to
- Copy the token — it starts with
pat - Set the environment variable:
export AIRTABLE_PAT=pat_your_token_hereNote: Old-style API keys were deprecated in February 2024. Only Personal Access Tokens work now.
# List all bases
python3 scripts/airtable.py list-bases
# List tables in a base
python3 scripts/airtable.py list-tables <base_id>
# List records
python3 scripts/airtable.py list-records <base_id> "Table Name"
python3 scripts/airtable.py list-records <base_id> "Tasks" --limit 50
# Filter with a formula
python3 scripts/airtable.py list-records <base_id> "Tasks" --filter "{Status}='Done'"
python3 scripts/airtable.py list-records <base_id> "Contacts" --filter "NOT({Email}='')"
# Return specific fields only
python3 scripts/airtable.py list-records <base_id> "People" --fields "Name,Email,Company"
# Use a specific view
python3 scripts/airtable.py list-records <base_id> "Tasks" --view "Active Tasks"
# Get a specific record
python3 scripts/airtable.py get-record <base_id> "Table Name" <record_id>
# Search records
python3 scripts/airtable.py search-records <base_id> "Contacts" "Smith"
python3 scripts/airtable.py search-records <base_id> "Contacts" "smith@acme.com" --field "Email"claw install airtable