Antigravity-awesome-skills airtable-automation
Automate Airtable tasks via Rube MCP (Composio): records, bases, tables, fields, views. Always search tools first for current schemas.
git clone https://github.com/benjaminasterA/antigravity-awesome-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/benjaminasterA/antigravity-awesome-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/airtable-automation" ~/.claude/skills/benjaminastera-antigravity-awesome-skills-airtable-automation && rm -rf "$T"
skills/airtable-automation/SKILL.mdAirtable Automation via Rube MCP
Automate Airtable operations through Composio's Airtable toolkit via Rube MCP.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Airtable connection via
with toolkitRUBE_MANAGE_CONNECTIONSairtable - Always call
first to get current tool schemasRUBE_SEARCH_TOOLS
Setup
Get Rube MCP: Add
https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
respondsRUBE_SEARCH_TOOLS - Call
with toolkitRUBE_MANAGE_CONNECTIONSairtable - If connection is not ACTIVE, follow the returned auth link to complete Airtable auth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Create and Manage Records
When to use: User wants to create, read, update, or delete records
Tool sequence:
- Discover available bases [Prerequisite]AIRTABLE_LIST_BASES
- Inspect table structure [Prerequisite]AIRTABLE_GET_BASE_SCHEMA
- List/filter records [Optional]AIRTABLE_LIST_RECORDS
/AIRTABLE_CREATE_RECORD
- Create records [Optional]AIRTABLE_CREATE_RECORDS
/AIRTABLE_UPDATE_RECORD
- Update records [Optional]AIRTABLE_UPDATE_MULTIPLE_RECORDS
/AIRTABLE_DELETE_RECORD
- Delete records [Optional]AIRTABLE_DELETE_MULTIPLE_RECORDS
Key parameters:
: Base ID (starts with 'app', e.g., 'appXXXXXXXXXXXXXX')baseId
: Table ID (starts with 'tbl') or table nametableIdOrName
: Object mapping field names to valuesfields
: Record ID (starts with 'rec') for updates/deletesrecordId
: Airtable formula for filteringfilterByFormula
: Set true for automatic type conversiontypecast
Pitfalls:
- pageSize capped at 100; uses offset pagination; changing filters between pages can skip/duplicate rows
- CREATE_RECORDS hard limit of 10 records per request; chunk larger imports
- Field names are CASE-SENSITIVE and must match schema exactly
- 422 UNKNOWN_FIELD_NAME when field names are wrong; 403 for permission issues
- INVALID_MULTIPLE_CHOICE_OPTIONS may require typecast=true
2. Search and Filter Records
When to use: User wants to find specific records using formulas
Tool sequence:
- Verify field names and types [Prerequisite]AIRTABLE_GET_BASE_SCHEMA
- Query with filterByFormula [Required]AIRTABLE_LIST_RECORDS
- Get full record details [Optional]AIRTABLE_GET_RECORD
Key parameters:
: Airtable formula (e.g.,filterByFormula
){Status}='Done'
: Array of sort objectssort
: Array of field names to returnfields
: Max total records across all pagesmaxRecords
: Pagination cursor from previous responseoffset
Pitfalls:
- Field names in formulas must be wrapped in
and match schema exactly{} - String values must be quoted:
not{Status}='Active'{Status}=Active - 422 INVALID_FILTER_BY_FORMULA for bad syntax or non-existent fields
- Airtable rate limit: ~5 requests/second per base; handle 429 with Retry-After
3. Manage Fields and Schema
When to use: User wants to create or modify table fields
Tool sequence:
- Inspect current schema [Prerequisite]AIRTABLE_GET_BASE_SCHEMA
- Create a new field [Optional]AIRTABLE_CREATE_FIELD
- Rename/describe a field [Optional]AIRTABLE_UPDATE_FIELD
- Update table metadata [Optional]AIRTABLE_UPDATE_TABLE
Key parameters:
: Field namename
: Field type (singleLineText, number, singleSelect, etc.)type
: Type-specific options (choices for select, precision for number)options
: Field descriptiondescription
Pitfalls:
- UPDATE_FIELD only changes name/description, NOT type/options; create a replacement field and migrate
- Computed fields (formula, rollup, lookup) cannot be created via API
- 422 when type options are missing or malformed
4. Manage Comments
When to use: User wants to view or add comments on records
Tool sequence:
- List comments on a record [Required]AIRTABLE_LIST_COMMENTS
Key parameters:
: Base IDbaseId
: Table identifiertableIdOrName
: Record ID (17 chars, starts with 'rec')recordId
: Comments per page (max 100)pageSize
Pitfalls:
- Record IDs must be exactly 17 characters starting with 'rec'
Common Patterns
Airtable Formula Syntax
Comparison:
- Equals{Status}='Done'
- Greater than{Priority}>1
- Not empty{Name}!=''
Functions:
- Both conditionsAND({A}='x', {B}='y')
- Either conditionOR({A}='x', {A}='y')
- Contains textFIND('test', {Name})>0
- Date comparisonIS_BEFORE({Due Date}, TODAY())
Escape rules:
- Single quotes in values: double them (
){Name}='John''s Company'
Pagination
- Set
(max 100)pageSize - Check response for
stringoffset - Pass
to next request unchangedoffset - Keep filters/sorts/view stable between pages
Known Pitfalls
ID Formats:
- Base IDs:
(17 chars)appXXXXXXXXXXXXXX - Table IDs:
(17 chars)tblXXXXXXXXXXXXXX - Record IDs:
(17 chars)recXXXXXXXXXXXXXX - Field IDs:
(17 chars)fldXXXXXXXXXXXXXX
Batch Limits:
- CREATE_RECORDS: max 10 per request
- UPDATE_MULTIPLE_RECORDS: max 10 per request
- DELETE_MULTIPLE_RECORDS: max 10 per request
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List bases | AIRTABLE_LIST_BASES | (none) |
| Get schema | AIRTABLE_GET_BASE_SCHEMA | baseId |
| List records | AIRTABLE_LIST_RECORDS | baseId, tableIdOrName |
| Get record | AIRTABLE_GET_RECORD | baseId, tableIdOrName, recordId |
| Create record | AIRTABLE_CREATE_RECORD | baseId, tableIdOrName, fields |
| Create records | AIRTABLE_CREATE_RECORDS | baseId, tableIdOrName, records |
| Update record | AIRTABLE_UPDATE_RECORD | baseId, tableIdOrName, recordId, fields |
| Update records | AIRTABLE_UPDATE_MULTIPLE_RECORDS | baseId, tableIdOrName, records |
| Delete record | AIRTABLE_DELETE_RECORD | baseId, tableIdOrName, recordId |
| Create field | AIRTABLE_CREATE_FIELD | baseId, tableIdOrName, name, type |
| Update field | AIRTABLE_UPDATE_FIELD | baseId, tableIdOrName, fieldId |
| Update table | AIRTABLE_UPDATE_TABLE | baseId, tableIdOrName, name |
| List comments | AIRTABLE_LIST_COMMENTS | baseId, tableIdOrName, recordId |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.