Something went wrong!
Hang in there while we get back on track
Airtable Integration
Manage Airtable bases, tables, and records programmatically via the Airtable API
Requires Claude Code CLI
This skill integrates with Airtable through Claude Code. Install Claude Code and add this skill to use it.
Available Actions
List Bases
Retrieve all Airtable bases accessible with your token
Returns
array Array of base objects with id, name, and permission_level
Try saying...
- "Show me all my Airtable bases"
- "List my Airtable workspaces"
- "What bases do I have access to?"
List Records
Retrieve records from a specific table in a base
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| base_id | string | Required | The Airtable base ID (starts with 'app') |
| table_name | string | Required | Name of the table |
Returns
array Array of record objects with id, createdTime, and fields
Try saying...
- "List all records from the Contacts table"
- "Show me tasks from my project tracker"
- "Get all entries in the Inventory table"
Get Record
Retrieve a single record by its ID
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| base_id | string | Required | The Airtable base ID |
| table_name | string | Required | Name of the table |
| record_id | string | Required | The record ID (starts with 'rec') |
Returns
object Record object with id, createdTime, and fields
Try saying...
- "Get details for record recXXXXXXXXXXXXXX"
- "Show me the contact with ID recYYYYYYYYYYYYYY"
- "Retrieve task recZZZZZZZZZZZZZZ"
Create Record
Create a new record in a table
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| base_id | string | Required | The Airtable base ID |
| table_name | string | Required | Name of the table |
| fields | object | Required | JSON object with field names and values |
Returns
object Created record object with id, createdTime, and fields
Try saying...
- "Create a new contact named John Doe"
- "Add a task to my project tracker"
- "Insert a new inventory item"
Update Record
Update an existing record (partial update - only specified fields change)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| base_id | string | Required | The Airtable base ID |
| table_name | string | Required | Name of the table |
| record_id | string | Required | The record ID to update |
| fields | object | Required | JSON object with field names and new values |
Returns
object Updated record object with id, createdTime, and fields
Try saying...
- "Update the status of task recXXXX to Complete"
- "Change the email for contact recYYYY"
- "Mark record recZZZZ as archived"
Delete Record
Delete a record from a table
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| base_id | string | Required | The Airtable base ID |
| table_name | string | Required | Name of the table |
| record_id | string | Required | The record ID to delete |
Returns
object Confirmation object with deleted: true and record id
Try saying...
- "Delete record recXXXX from Contacts"
- "Remove task recYYYY"
- "Delete the archived contact recZZZZ"
Getting Started
- 1 Click account profile > Builder Hub
- 2 Go to Personal Access Tokens under Developers
- 3 Click '+ Create new token'
- 4 Name your token and select scopes (data.records:read, data.records:write, schema.bases:read)
- 5 Choose access level (specific bases, workspace, or all)
- 6 Create token and copy it (shown only once)
- 7 Add to shell config: echo 'export AIRTABLE_ACCESS_TOKEN="YOUR_TOKEN"' >> ~/.zshrc
- 8 Restart terminal or run: source ~/.zshrc
Verify Setup
python scripts/client.py list-bases
Success: JSON output listing your accessible bases
Security & Access
Access Scope
Your Personal Access Token can read, write, and delete data in the bases and scopes you configured during token creation
- Tokens grant access to sensitive data in your Airtable bases
- Never commit tokens to version control or share them publicly
- Use minimal required scopes when creating tokens
- Rotate tokens regularly and revoke unused tokens
- Delete operations are permanent and cannot be undone
Limitations
- Maximum 100 records returned per API call (use pagination for more)
- Batch operations limited to 10 records per request
- Attachments limited to 5MB for direct uploads
- Rate limits vary by plan: Free (1,000 calls/month), Team (100,000 calls/month), Business (unlimited)
Get This Skill
Requires Pro subscription ($9/month)
Quick Reference
- Type
- PYTHON_SDK
- Auth
- API Key
- Setup
- Easy Setup
- Tools Required
- Bash
- Python Dependencies
- pyairtable>=3.3.0
Documentation
Have Feedback?
Help us improve this skill by sharing your ideas and suggestions.
Request Improvements