airtable-automation

Automate Airtable tasks via Rube MCP (Composio): records, bases, tables, fields, views. Always search tools first for current schemas.

View Source
name:airtable-automationdescription:"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 MCP must be connected (RUBE_SEARCH_TOOLS available)

  • Active Airtable connection via RUBE_MANAGE_CONNECTIONS with toolkit airtable

  • Always call RUBE_SEARCH_TOOLS first to get current tool schemas
  • 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 RUBE_SEARCH_TOOLS responds

  • Call RUBE_MANAGE_CONNECTIONS with toolkit airtable

  • 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:

  • AIRTABLE_LIST_BASES - Discover available bases [Prerequisite]

  • AIRTABLE_GET_BASE_SCHEMA - Inspect table structure [Prerequisite]

  • AIRTABLE_LIST_RECORDS - List/filter records [Optional]

  • AIRTABLE_CREATE_RECORD / AIRTABLE_CREATE_RECORDS - Create records [Optional]

  • AIRTABLE_UPDATE_RECORD / AIRTABLE_UPDATE_MULTIPLE_RECORDS - Update records [Optional]

  • 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 name

  • fields: Object mapping field names to values

  • recordId: Record ID (starts with 'rec') for updates/deletes

  • filterByFormula: Airtable formula for filtering

  • typecast: Set true for automatic type conversion
  • 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:

  • AIRTABLE_GET_BASE_SCHEMA - Verify field names and types [Prerequisite]

  • AIRTABLE_LIST_RECORDS - Query with filterByFormula [Required]

  • AIRTABLE_GET_RECORD - Get full record details [Optional]
  • Key parameters:

  • filterByFormula: Airtable formula (e.g., {Status}='Done')

  • sort: Array of sort objects

  • fields: Array of field names to return

  • maxRecords: Max total records across all pages

  • offset: Pagination cursor from previous response
  • Pitfalls:

  • Field names in formulas must be wrapped in {} and match schema exactly

  • String values must be quoted: {Status}='Active' not {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:

  • AIRTABLE_GET_BASE_SCHEMA - Inspect current schema [Prerequisite]

  • AIRTABLE_CREATE_FIELD - Create a new field [Optional]

  • AIRTABLE_UPDATE_FIELD - Rename/describe a field [Optional]

  • AIRTABLE_UPDATE_TABLE - Update table metadata [Optional]
  • Key parameters:

  • name: Field name

  • type: Field type (singleLineText, number, singleSelect, etc.)

  • options: Type-specific options (choices for select, precision for number)

  • description: Field description
  • 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:

  • AIRTABLE_LIST_COMMENTS - List comments on a record [Required]
  • Key parameters:

  • baseId: Base ID

  • tableIdOrName: Table identifier

  • recordId: Record ID (17 chars, starts with 'rec')

  • pageSize: Comments per page (max 100)
  • Pitfalls:

  • Record IDs must be exactly 17 characters starting with 'rec'
  • Common Patterns

    Airtable Formula Syntax

    Comparison:

  • {Status}='Done' - Equals

  • {Priority}>1 - Greater than

  • {Name}!='' - Not empty
  • Functions:

  • AND({A}='x', {B}='y') - Both conditions

  • OR({A}='x', {A}='y') - Either condition

  • FIND('test', {Name})>0 - Contains text

  • IS_BEFORE({Due Date}, TODAY()) - Date comparison
  • Escape rules:

  • Single quotes in values: double them ({Name}='John''s Company')
  • Pagination

  • Set pageSize (max 100)

  • Check response for offset string

  • Pass offset to next request unchanged

  • Keep filters/sorts/view stable between pages
  • Known Pitfalls

    ID Formats:

  • Base IDs: appXXXXXXXXXXXXXX (17 chars)

  • Table IDs: tblXXXXXXXXXXXXXX (17 chars)

  • Record IDs: recXXXXXXXXXXXXXX (17 chars)

  • Field IDs: fldXXXXXXXXXXXXXX (17 chars)
  • Batch Limits:

  • CREATE_RECORDS: max 10 per request

  • UPDATE_MULTIPLE_RECORDS: max 10 per request

  • DELETE_MULTIPLE_RECORDS: max 10 per request
  • Quick Reference

    TaskTool SlugKey Params
    List basesAIRTABLE_LIST_BASES(none)
    Get schemaAIRTABLE_GET_BASE_SCHEMAbaseId
    List recordsAIRTABLE_LIST_RECORDSbaseId, tableIdOrName
    Get recordAIRTABLE_GET_RECORDbaseId, tableIdOrName, recordId
    Create recordAIRTABLE_CREATE_RECORDbaseId, tableIdOrName, fields
    Create recordsAIRTABLE_CREATE_RECORDSbaseId, tableIdOrName, records
    Update recordAIRTABLE_UPDATE_RECORDbaseId, tableIdOrName, recordId, fields
    Update recordsAIRTABLE_UPDATE_MULTIPLE_RECORDSbaseId, tableIdOrName, records
    Delete recordAIRTABLE_DELETE_RECORDbaseId, tableIdOrName, recordId
    Create fieldAIRTABLE_CREATE_FIELDbaseId, tableIdOrName, name, type
    Update fieldAIRTABLE_UPDATE_FIELDbaseId, tableIdOrName, fieldId
    Update tableAIRTABLE_UPDATE_TABLEbaseId, tableIdOrName, name
    List commentsAIRTABLE_LIST_COMMENTSbaseId, tableIdOrName, recordId