with one click
airtable
Airtable API — databases, records, and bases management
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Airtable API — databases, records, and bases management
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Google Calendar — list, create, and manage events via gcal CLI
Manage HubSpot CRM — contacts, companies, deals, tickets
Manage Shopify store — products, orders, customers, inventory
Configure audio transcription and image/video understanding for channels
AWS CLI for S3, EC2, Lambda, CloudWatch, RDS, and ECS
Google Calendar — list, create, and manage events via gcal CLI
Based on SOC occupation classification
| name | airtable |
| version | 0.1.0 |
| author | devclaw |
| description | Airtable API — databases, records, and bases management |
| category | data |
| tags | ["airtable","database","spreadsheet","records","no-code"] |
| requires | {"bins":["curl","jq"],"env":["AIRTABLE_API_KEY","AIRTABLE_BASE_ID"]} |
Interact with Airtable using their REST API.
Check existing credentials:
vault_get airtable_api_key
vault_get airtable_base_id
If not configured:
vault_save airtable_api_key "patxxx"
vault_save airtable_base_id "appxxx"
Keys are auto-injected as $AIRTABLE_API_KEY and $AIRTABLE_BASE_ID.
# Get all records from table
curl -s "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/TableName" \
-H "Authorization: Bearer $AIRTABLE_API_KEY" | jq '.records[]'
# With view filter
curl -s "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/TableName?view=Grid%20view" \
-H "Authorization: Bearer $AIRTABLE_API_KEY" | jq '.records[]'
# With field filter
curl -s "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/TableName?filterByFormula={Status}='Active'" \
-H "Authorization: Bearer $AIRTABLE_API_KEY" | jq '.records[]'
# Pagination
curl -s "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/TableName?maxRecords=100&pageSize=50" \
-H "Authorization: Bearer $AIRTABLE_API_KEY" | jq '.records[]'
curl -s "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/TableName/recXXXXXX" \
-H "Authorization: Bearer $AIRTABLE_API_KEY" | jq '.'
curl -s -X POST "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/TableName" \
-H "Authorization: Bearer $AIRTABLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"records": [{
"fields": {
"Name": "John Doe",
"Email": "john@example.com",
"Status": "Active"
}
}]
}' | jq '.records[0]'
# Update specific fields
curl -s -X PATCH "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/TableName" \
-H "Authorization: Bearer $AIRTABLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"records": [{
"id": "recXXXXXX",
"fields": {"Status": "Completed"}
}]
}'
# Replace entire record
curl -s -X PUT "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/TableName/recXXXXXX" \
-H "Authorization: Bearer $AIRTABLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"fields": {"Name": "Updated Name", "Email": "new@email.com"}}'
curl -s -X DELETE "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/TableName?records[]=recXXXXXX" \
-H "Authorization: Bearer $AIRTABLE_API_KEY"
# Create multiple records (max 10)
curl -s -X POST "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/TableName" \
-H "Authorization: Bearer $AIRTABLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"records": [
{"fields": {"Name": "User 1"}},
{"fields": {"Name": "User 2"}}
]
}'
# Update multiple records
curl -s -X PATCH "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/TableName" \
-H "Authorization: Bearer $AIRTABLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"records": [
{"id": "rec1", "fields": {"Status": "Done"}},
{"id": "rec2", "fields": {"Status": "Done"}}
]
}'
# Common formulas
# Equal: {Field}='Value'
# Contains: SEARCH('text', {Field})
# Greater than: {Number}>100
# Date: IS_AFTER({Date}, '2025-01-01')
# And: AND({A}='X', {B}='Y')
# Or: OR({Status}='Active', {Status}='Pending')
curl -s "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/TableName?filterByFormula=AND({Status}='Active',{Score}>50)" \
-H "Authorization: Bearer $AIRTABLE_API_KEY"
sort parameter: ?sort[0][field]=Name&sort[0][direction]=descairtable, airtable api, airtable records, database, spreadsheet