ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

airtable

Create, read, update, and delete records in Airtable bases. Use when you need to manage data in Airtable spreadsheets/databases, sync data, or automate workflows with Airtable as a data store.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/mrgoodb/airtable
Or

Airtable API

Manage Airtable bases, tables, and records via REST API.

Setup

  1. Get API key: https://airtable.com/create/tokens
  2. Create token with scopes: data.records:read, data.records:write
  3. Store token:
mkdir -p ~/.config/airtable
echo "patXXXXXXXXXXXXXX" > ~/.config/airtable/api_key
  1. Find Base ID: Open base → Help → API documentation (starts with app)

List Records

AIRTABLE_KEY=$(cat ~/.config/airtable/api_key)
BASE_ID="appXXXXXXXXXXXXXX"
TABLE_NAME="Table%20Name"  # URL-encoded

curl -s "https://api.airtable.com/v0/${BASE_ID}/${TABLE_NAME}" \
  -H "Authorization: Bearer ${AIRTABLE_KEY}" | jq '.records'

Get Single Record

RECORD_ID="recXXXXXXXXXXXXXX"

curl -s "https://api.airtable.com/v0/${BASE_ID}/${TABLE_NAME}/${RECORD_ID}" \
  -H "Authorization: Bearer ${AIRTABLE_KEY}" | jq

Create Record

curl -s -X POST "https://api.airtable.com/v0/${BASE_ID}/${TABLE_NAME}" \
  -H "Authorization: Bearer ${AIRTABLE_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "records": [{
      "fields": {
        "Name": "New Item",
        "Status": "Todo",
        "Notes": "Created via API"
      }
    }]
  }' | jq

Create Multiple Records

curl -s -X POST "https://api.airtable.com/v0/${BASE_ID}/${TABLE_NAME}" \
  -H "Authorization: Bearer ${AIRTABLE_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "records": [
      {"fields": {"Name": "Item 1", "Status": "Todo"}},
      {"fields": {"Name": "Item 2", "Status": "Done"}}
    ]
  }'

Max 10 records per request.

Update Record

curl -s -X PATCH "https://api.airtable.com/v0/${BASE_ID}/${TABLE_NAME}/${RECORD_ID}" \
  -H "Authorization: Bearer ${AIRTABLE_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "fields": {
      "Status": "Done",
      "Notes": "Updated via API"
    }
  }' | jq

PATCH = partial update, PUT = replace all fields

Delete Record

curl -s -X DELETE "https://api.airtable.com/v0/${BASE_ID}/${TABLE_NAME}/${RECORD_ID}" \
  -H "Authorization: Bearer ${AIRTABLE_KEY}" | jq

Filter Records

# filterByFormula parameter (URL-encoded)
FORMULA="Status%3D%27Todo%27"  # Status='Todo'

curl -s "https://api.airtable.com/v0/${BASE_ID}/${TABLE_NAME}?filterByFormula=${FORMULA}" \
  -H "Authorization: Bearer ${AIRTABLE_KEY}" | jq '.records'

Common formulas:

  • {Status}='Done' - Exact match
  • FIND('keyword', {Notes}) - Contains text
  • {Date} >= TODAY() - Date comparison
  • AND({Status}='Active', {Priority}='High') - Multiple conditions

Sort Records

curl -s "https://api.airtable.com/v0/${BASE_ID}/${TABLE_NAME}?sort%5B0%5D%5Bfield%5D=Created&sort%5B0%5D%5Bdirection%5D=desc" \
  -H "Authorization: Bearer ${AIRTABLE_KEY}" | jq '.records'

Pagination

# First page
RESPONSE=$(curl -s "https://api.airtable.com/v0/${BASE_ID}/${TABLE_NAME}?pageSize=100" \
  -H "Authorization: Bearer ${AIRTABLE_KEY}")

Metadata

Author@mrgoodb
Stars1401
Views0
Updated2026-02-24
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-mrgoodb-airtable": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.