Automate Airtable tasks via Rube MCP (Composio): records, bases, tables, fields, views. Always search tools first for current schemas.
Add this skill
npx mdskills install sickn33/airtable-automationComprehensive Airtable automation with excellent tool sequences, formula examples, and pitfall guidance
1---2name: airtable-automation3description: "Automate Airtable tasks via Rube MCP (Composio): records, bases, tables, fields, views. Always search tools first for current schemas."4requires:5 mcp: [rube]6---78# Airtable Automation via Rube MCP910Automate Airtable operations through Composio's Airtable toolkit via Rube MCP.1112## Prerequisites1314- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)15- Active Airtable connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `airtable`16- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1718## Setup1920**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.2122231. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds242. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `airtable`253. If connection is not ACTIVE, follow the returned auth link to complete Airtable auth264. Confirm connection status shows ACTIVE before running any workflows2728## Core Workflows2930### 1. Create and Manage Records3132**When to use**: User wants to create, read, update, or delete records3334**Tool sequence**:351. `AIRTABLE_LIST_BASES` - Discover available bases [Prerequisite]362. `AIRTABLE_GET_BASE_SCHEMA` - Inspect table structure [Prerequisite]373. `AIRTABLE_LIST_RECORDS` - List/filter records [Optional]384. `AIRTABLE_CREATE_RECORD` / `AIRTABLE_CREATE_RECORDS` - Create records [Optional]395. `AIRTABLE_UPDATE_RECORD` / `AIRTABLE_UPDATE_MULTIPLE_RECORDS` - Update records [Optional]406. `AIRTABLE_DELETE_RECORD` / `AIRTABLE_DELETE_MULTIPLE_RECORDS` - Delete records [Optional]4142**Key parameters**:43- `baseId`: Base ID (starts with 'app', e.g., 'appXXXXXXXXXXXXXX')44- `tableIdOrName`: Table ID (starts with 'tbl') or table name45- `fields`: Object mapping field names to values46- `recordId`: Record ID (starts with 'rec') for updates/deletes47- `filterByFormula`: Airtable formula for filtering48- `typecast`: Set true for automatic type conversion4950**Pitfalls**:51- pageSize capped at 100; uses offset pagination; changing filters between pages can skip/duplicate rows52- CREATE_RECORDS hard limit of 10 records per request; chunk larger imports53- Field names are CASE-SENSITIVE and must match schema exactly54- 422 UNKNOWN_FIELD_NAME when field names are wrong; 403 for permission issues55- INVALID_MULTIPLE_CHOICE_OPTIONS may require typecast=true5657### 2. Search and Filter Records5859**When to use**: User wants to find specific records using formulas6061**Tool sequence**:621. `AIRTABLE_GET_BASE_SCHEMA` - Verify field names and types [Prerequisite]632. `AIRTABLE_LIST_RECORDS` - Query with filterByFormula [Required]643. `AIRTABLE_GET_RECORD` - Get full record details [Optional]6566**Key parameters**:67- `filterByFormula`: Airtable formula (e.g., `{Status}='Done'`)68- `sort`: Array of sort objects69- `fields`: Array of field names to return70- `maxRecords`: Max total records across all pages71- `offset`: Pagination cursor from previous response7273**Pitfalls**:74- Field names in formulas must be wrapped in `{}` and match schema exactly75- String values must be quoted: `{Status}='Active'` not `{Status}=Active`76- 422 INVALID_FILTER_BY_FORMULA for bad syntax or non-existent fields77- Airtable rate limit: ~5 requests/second per base; handle 429 with Retry-After7879### 3. Manage Fields and Schema8081**When to use**: User wants to create or modify table fields8283**Tool sequence**:841. `AIRTABLE_GET_BASE_SCHEMA` - Inspect current schema [Prerequisite]852. `AIRTABLE_CREATE_FIELD` - Create a new field [Optional]863. `AIRTABLE_UPDATE_FIELD` - Rename/describe a field [Optional]874. `AIRTABLE_UPDATE_TABLE` - Update table metadata [Optional]8889**Key parameters**:90- `name`: Field name91- `type`: Field type (singleLineText, number, singleSelect, etc.)92- `options`: Type-specific options (choices for select, precision for number)93- `description`: Field description9495**Pitfalls**:96- UPDATE_FIELD only changes name/description, NOT type/options; create a replacement field and migrate97- Computed fields (formula, rollup, lookup) cannot be created via API98- 422 when type options are missing or malformed99100### 4. Manage Comments101102**When to use**: User wants to view or add comments on records103104**Tool sequence**:1051. `AIRTABLE_LIST_COMMENTS` - List comments on a record [Required]106107**Key parameters**:108- `baseId`: Base ID109- `tableIdOrName`: Table identifier110- `recordId`: Record ID (17 chars, starts with 'rec')111- `pageSize`: Comments per page (max 100)112113**Pitfalls**:114- Record IDs must be exactly 17 characters starting with 'rec'115116## Common Patterns117118### Airtable Formula Syntax119120**Comparison**:121- `{Status}='Done'` - Equals122- `{Priority}>1` - Greater than123- `{Name}!=''` - Not empty124125**Functions**:126- `AND({A}='x', {B}='y')` - Both conditions127- `OR({A}='x', {A}='y')` - Either condition128- `FIND('test', {Name})>0` - Contains text129- `IS_BEFORE({Due Date}, TODAY())` - Date comparison130131**Escape rules**:132- Single quotes in values: double them (`{Name}='John''s Company'`)133134### Pagination135136- Set `pageSize` (max 100)137- Check response for `offset` string138- Pass `offset` to next request unchanged139- Keep filters/sorts/view stable between pages140141## Known Pitfalls142143**ID Formats**:144- Base IDs: `appXXXXXXXXXXXXXX` (17 chars)145- Table IDs: `tblXXXXXXXXXXXXXX` (17 chars)146- Record IDs: `recXXXXXXXXXXXXXX` (17 chars)147- Field IDs: `fldXXXXXXXXXXXXXX` (17 chars)148149**Batch Limits**:150- CREATE_RECORDS: max 10 per request151- UPDATE_MULTIPLE_RECORDS: max 10 per request152- DELETE_MULTIPLE_RECORDS: max 10 per request153154## Quick Reference155156| Task | Tool Slug | Key Params |157|------|-----------|------------|158| List bases | AIRTABLE_LIST_BASES | (none) |159| Get schema | AIRTABLE_GET_BASE_SCHEMA | baseId |160| List records | AIRTABLE_LIST_RECORDS | baseId, tableIdOrName |161| Get record | AIRTABLE_GET_RECORD | baseId, tableIdOrName, recordId |162| Create record | AIRTABLE_CREATE_RECORD | baseId, tableIdOrName, fields |163| Create records | AIRTABLE_CREATE_RECORDS | baseId, tableIdOrName, records |164| Update record | AIRTABLE_UPDATE_RECORD | baseId, tableIdOrName, recordId, fields |165| Update records | AIRTABLE_UPDATE_MULTIPLE_RECORDS | baseId, tableIdOrName, records |166| Delete record | AIRTABLE_DELETE_RECORD | baseId, tableIdOrName, recordId |167| Create field | AIRTABLE_CREATE_FIELD | baseId, tableIdOrName, name, type |168| Update field | AIRTABLE_UPDATE_FIELD | baseId, tableIdOrName, fieldId |169| Update table | AIRTABLE_UPDATE_TABLE | baseId, tableIdOrName, name |170| List comments | AIRTABLE_LIST_COMMENTS | baseId, tableIdOrName, recordId |171
Full transparency — inspect the skill content before installing.