airtable-automation
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAirtable Automation via Rube MCP
通过Rube MCP实现Airtable自动化
Automate Airtable operations through Composio's Airtable toolkit via Rube MCP.
通过Rube MCP,借助Composio的Airtable工具包自动化Airtable操作。
Prerequisites
前提条件
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Airtable connection via with toolkit
RUBE_MANAGE_CONNECTIONSairtable - Always call first to get current tool schemas
RUBE_SEARCH_TOOLS
- 已连接Rube MCP(可使用RUBE_SEARCH_TOOLS)
- 通过激活Airtable连接,工具包为
RUBE_MANAGE_CONNECTIONSairtable - 请始终先调用以获取最新的工具架构
RUBE_SEARCH_TOOLS
Setup
设置步骤
Get Rube MCP: Add as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
https://rube.app/mcp- Verify Rube MCP is available by confirming responds
RUBE_SEARCH_TOOLS - Call with toolkit
RUBE_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
获取Rube MCP:在客户端配置中添加作为MCP服务器。无需API密钥,只需添加端点即可使用。
https://rube.app/mcp- 通过确认能正常响应,验证Rube MCP是否可用
RUBE_SEARCH_TOOLS - 调用,指定工具包为
RUBE_MANAGE_CONNECTIONSairtable - 如果连接状态未处于ACTIVE,请跟随返回的授权链接完成Airtable授权
- 在运行任何工作流之前,确认连接状态为ACTIVE
Core Workflows
核心工作流
1. Create and Manage Records
1. 创建与管理记录
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 name
tableIdOrName - : Object mapping field names to values
fields - : Record ID (starts with 'rec') for updates/deletes
recordId - : Airtable formula for filtering
filterByFormula - : Set true for automatic type conversion
typecast
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
适用场景:用户需要创建、读取、更新或删除记录
工具执行顺序:
- - 发现可用的Base [前提条件]
AIRTABLE_LIST_BASES - - 查看表格结构 [前提条件]
AIRTABLE_GET_BASE_SCHEMA - - 列出/筛选记录 [可选]
AIRTABLE_LIST_RECORDS - /
AIRTABLE_CREATE_RECORD- 创建记录 [可选]AIRTABLE_CREATE_RECORDS - /
AIRTABLE_UPDATE_RECORD- 更新记录 [可选]AIRTABLE_UPDATE_MULTIPLE_RECORDS - /
AIRTABLE_DELETE_RECORD- 删除记录 [可选]AIRTABLE_DELETE_MULTIPLE_RECORDS
关键参数:
- : Base ID(以'app'开头,例如'appXXXXXXXXXXXXXX')
baseId - : 表格ID(以'tbl'开头)或表格名称
tableIdOrName - : 字段名称与值的映射对象
fields - : 用于更新/删除的记录ID(以'rec'开头)
recordId - : 用于筛选的Airtable公式
filterByFormula - : 设置为true以启用自动类型转换
typecast
注意事项:
- pageSize上限为100;使用偏移分页;在分页间修改筛选条件可能会导致行遗漏或重复
- CREATE_RECORDS每个请求最多创建10条记录;批量导入时需拆分数据
- 字段名称区分大小写,必须与架构完全匹配
- 字段名称错误时会返回422 UNKNOWN_FIELD_NAME;权限问题会返回403
- 出现INVALID_MULTIPLE_CHOICE_OPTIONS错误时,可能需要设置typecast=true
2. Search and Filter Records
2. 搜索与筛选记录
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 objects
sort - : Array of field names to return
fields - : Max total records across all pages
maxRecords - : Pagination cursor from previous response
offset
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
适用场景:用户需要使用公式查找特定记录
工具执行顺序:
- - 验证字段名称与类型 [前提条件]
AIRTABLE_GET_BASE_SCHEMA - - 使用filterByFormula进行查询 [必填]
AIRTABLE_LIST_RECORDS - - 获取完整记录详情 [可选]
AIRTABLE_GET_RECORD
关键参数:
- : Airtable公式(例如
filterByFormula){Status}='Done' - : 排序对象数组
sort - : 需返回的字段名称数组
fields - : 所有分页的最大总记录数
maxRecords - : 上一次响应返回的分页游标
offset
注意事项:
- 公式中的字段名称必须用包裹,且与架构完全匹配
{} - 字符串值必须加引号:例如,而非
{Status}='Active'{Status}=Active - 语法错误或字段不存在时会返回422 INVALID_FILTER_BY_FORMULA
- Airtable速率限制:每个Base约5次请求/秒;遇到429错误时需根据Retry-After头部进行重试
3. Manage Fields and Schema
3. 管理字段与架构
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 name
name - : Field type (singleLineText, number, singleSelect, etc.)
type - : Type-specific options (choices for select, precision for number)
options - : Field description
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
适用场景:用户需要创建或修改表格字段
工具执行顺序:
- - 查看当前架构 [前提条件]
AIRTABLE_GET_BASE_SCHEMA - - 创建新字段 [可选]
AIRTABLE_CREATE_FIELD - - 重命名/描述字段 [可选]
AIRTABLE_UPDATE_FIELD - - 更新表格元数据 [可选]
AIRTABLE_UPDATE_TABLE
关键参数:
- : 字段名称
name - : 字段类型(singleLineText、number、singleSelect等)
type - : 类型专属选项(如单选字段的选项、数字字段的精度)
options - : 字段描述
description
注意事项:
- UPDATE_FIELD仅能修改名称/描述,无法修改类型/选项;如需修改类型,需创建替代字段并迁移数据
- 计算字段(公式、汇总、查找)无法通过API创建
- 类型选项缺失或格式错误时会返回422
4. Manage Comments
4. 管理评论
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 ID
baseId - : Table identifier
tableIdOrName - : 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'
适用场景:用户需要查看或添加记录评论
工具执行顺序:
- - 列出记录的评论 [必填]
AIRTABLE_LIST_COMMENTS
关键参数:
- : Base ID
baseId - : 表格标识符
tableIdOrName - : 记录ID(17位字符,以'rec'开头)
recordId - : 每页评论数(上限100)
pageSize
注意事项:
- 记录ID必须是17位字符,且以'rec'开头
Common Patterns
常见模式
Airtable Formula Syntax
Airtable公式语法
Comparison:
- - Equals
{Status}='Done' - - Greater than
{Priority}>1 - - Not empty
{Name}!=''
Functions:
- - Both conditions
AND({A}='x', {B}='y') - - Either condition
OR({A}='x', {A}='y') - - Contains text
FIND('test', {Name})>0 - - Date comparison
IS_BEFORE({Due Date}, TODAY())
Escape rules:
- Single quotes in values: double them ()
{Name}='John''s Company'
比较操作:
- - 等于
{Status}='Done' - - 大于
{Priority}>1 - - 非空
{Name}!=''
函数:
- - 同时满足两个条件
AND({A}='x', {B}='y') - - 满足任一条件
OR({A}='x', {A}='y') - - 包含指定文本
FIND('test', {Name})>0 - - 日期比较
IS_BEFORE({Due Date}, TODAY())
转义规则:
- 值中的单引号需使用双单引号转义(例如)
{Name}='John''s Company'
Pagination
分页
- Set (max 100)
pageSize - Check response for string
offset - Pass to next request unchanged
offset - Keep filters/sorts/view stable between pages
- 设置(上限100)
pageSize - 检查响应中的字符串
offset - 将原样传递给下一个请求
offset - 在分页间保持筛选/排序/视图设置不变
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
ID格式:
- Base ID:(17位字符)
appXXXXXXXXXXXXXX - 表格ID:(17位字符)
tblXXXXXXXXXXXXXX - 记录ID:(17位字符)
recXXXXXXXXXXXXXX - 字段ID:(17位字符)
fldXXXXXXXXXXXXXX
批量操作限制:
- CREATE_RECORDS:每个请求最多10条记录
- UPDATE_MULTIPLE_RECORDS:每个请求最多10条记录
- DELETE_MULTIPLE_RECORDS:每个请求最多10条记录
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 |
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 列出Base | AIRTABLE_LIST_BASES | 无 |
| 获取架构 | AIRTABLE_GET_BASE_SCHEMA | baseId |
| 列出记录 | AIRTABLE_LIST_RECORDS | baseId, tableIdOrName |
| 获取记录 | AIRTABLE_GET_RECORD | baseId, tableIdOrName, recordId |
| 创建记录 | AIRTABLE_CREATE_RECORD | baseId, tableIdOrName, fields |
| 批量创建记录 | AIRTABLE_CREATE_RECORDS | baseId, tableIdOrName, records |
| 更新记录 | AIRTABLE_UPDATE_RECORD | baseId, tableIdOrName, recordId, fields |
| 批量更新记录 | AIRTABLE_UPDATE_MULTIPLE_RECORDS | baseId, tableIdOrName, records |
| 删除记录 | AIRTABLE_DELETE_RECORD | baseId, tableIdOrName, recordId |
| 创建字段 | AIRTABLE_CREATE_FIELD | baseId, tableIdOrName, name, type |
| 更新字段 | AIRTABLE_UPDATE_FIELD | baseId, tableIdOrName, fieldId |
| 更新表格 | AIRTABLE_UPDATE_TABLE | baseId, tableIdOrName, name |
| 列出评论 | AIRTABLE_LIST_COMMENTS | baseId, tableIdOrName, recordId |