Airtable Automation
by @sohamganatra
Automate Airtable tasks via Rube MCP (Composio): records, bases, tables, fields, views. Always search tools first for current schemas.
clawhub install airtable-automationπ About This Skill
name: airtable-automation description: "Automate Airtable tasks via Rube MCP (Composio): records, bases, tables, fields, views. Always search tools first for current schemas." requires: mcp: [rube]
Airtable Automation via Rube MCP
Automate Airtable operations through Composio's Airtable toolkit via Rube MCP.
Prerequisites
RUBE_MANAGE_CONNECTIONS with toolkit airtableRUBE_SEARCH_TOOLS first to get current tool schemasSetup
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.
1. Verify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds
2. Call RUBE_MANAGE_CONNECTIONS with toolkit airtable
3. If connection is not ACTIVE, follow the returned auth link to complete Airtable auth
4. 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:
1. AIRTABLE_LIST_BASES - Discover available bases [Prerequisite]
2. AIRTABLE_GET_BASE_SCHEMA - Inspect table structure [Prerequisite]
3. AIRTABLE_LIST_RECORDS - List/filter records [Optional]
4. AIRTABLE_CREATE_RECORD / AIRTABLE_CREATE_RECORDS - Create records [Optional]
5. AIRTABLE_UPDATE_RECORD / AIRTABLE_UPDATE_MULTIPLE_RECORDS - Update records [Optional]
6. AIRTABLE_DELETE_RECORD / AIRTABLE_DELETE_MULTIPLE_RECORDS - Delete records [Optional]
Key parameters:
baseId: Base ID (starts with 'app', e.g., 'appXXXXXXXXXXXXXX')tableIdOrName: Table ID (starts with 'tbl') or table namefields: Object mapping field names to valuesrecordId: Record ID (starts with 'rec') for updates/deletesfilterByFormula: Airtable formula for filteringtypecast: Set true for automatic type conversionPitfalls:
2. Search and Filter Records
When to use: User wants to find specific records using formulas
Tool sequence:
1. AIRTABLE_GET_BASE_SCHEMA - Verify field names and types [Prerequisite]
2. AIRTABLE_LIST_RECORDS - Query with filterByFormula [Required]
3. AIRTABLE_GET_RECORD - Get full record details [Optional]
Key parameters:
filterByFormula: Airtable formula (e.g., {Status}='Done')sort: Array of sort objectsfields: Array of field names to returnmaxRecords: Max total records across all pagesoffset: Pagination cursor from previous responsePitfalls:
{} and match schema exactly{Status}='Active' not {Status}=Active3. Manage Fields and Schema
When to use: User wants to create or modify table fields
Tool sequence:
1. AIRTABLE_GET_BASE_SCHEMA - Inspect current schema [Prerequisite]
2. AIRTABLE_CREATE_FIELD - Create a new field [Optional]
3. AIRTABLE_UPDATE_FIELD - Rename/describe a field [Optional]
4. AIRTABLE_UPDATE_TABLE - Update table metadata [Optional]
Key parameters:
name: Field nametype: Field type (singleLineText, number, singleSelect, etc.)options: Type-specific options (choices for select, precision for number)description: Field descriptionPitfalls:
4. Manage Comments
When to use: User wants to view or add comments on records
Tool sequence:
1. AIRTABLE_LIST_COMMENTS - List comments on a record [Required]
Key parameters:
baseId: Base IDtableIdOrName: Table identifierrecordId: Record ID (17 chars, starts with 'rec')pageSize: Comments per page (max 100)Pitfalls:
Common Patterns
Airtable Formula Syntax
Comparison:
{Status}='Done' - Equals{Priority}>1 - Greater than{Name}!='' - Not emptyFunctions:
AND({A}='x', {B}='y') - Both conditionsOR({A}='x', {A}='y') - Either conditionFIND('test', {Name})>0 - Contains textIS_BEFORE({Due Date}, TODAY()) - Date comparisonEscape rules:
{Name}='John''s Company')Pagination
pageSize (max 100)offset stringoffset to next request unchangedKnown Pitfalls
ID Formats:
appXXXXXXXXXXXXXX (17 chars)tblXXXXXXXXXXXXXX (17 chars)recXXXXXXXXXXXXXX (17 chars)fldXXXXXXXXXXXXXX (17 chars)Batch Limits:
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 |
βοΈ Configuration
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.
1. Verify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds
2. Call RUBE_MANAGE_CONNECTIONS with toolkit airtable
3. If connection is not ACTIVE, follow the returned auth link to complete Airtable auth
4. Confirm connection status shows ACTIVE before running any workflows