Airtable 自动化
通过 Rube MCP 实现 Airtable 自动化
通过 Rube MCP 使用 Composio 的 Airtable 工具集来自动化 Airtable 操作。
前置条件
- 必须连接 Rube MCP(
RUBE_SEARCH_TOOLS可用)
- 通过
RUBE_MANAGE_CONNECTIONS建立了活跃的 Airtable 连接,工具集为airtable
- 务必先调用
RUBE_SEARCH_TOOLS以获取当前的工具 Schema
安装配置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥 —— 只需添加端点即可运行。
1. 通过确认 RUBE_SEARCH_TOOLS 有响应来验证 Rube MCP 是否可用
2. 调用 RUBE_MANAGE_CONNECTIONS 并指定工具集 airtable
3. 如果连接状态不是 ACTIVE,请点击返回的认证链接完成 Airtable 授权
4. 在运行任何工作流之前,确认连接状态显示为 ACTIVE
核心工作流
1. 创建与管理记录
适用场景:用户希望创建、读取、更新或删除记录
工具调用顺序:
1. AIRTABLE_LIST_BASES - 发现可用库 [前置步骤]
2. AIRTABLE_GET_BASE_SCHEMA - 检查表结构 [前置步骤]
3. AIRTABLE_LIST_RECORDS - 列出/过滤记录 [可选]
4. AIRTABLE_CREATE_RECORD / AIRTABLE_CREATE_RECORDS - 创建记录 [可选]
5. AIRTABLE_UPDATE_RECORD / AIRTABLE_UPDATE_MULTIPLE_RECORDS - 更新记录 [可选]
6. AIRTABLE_DELETE_RECORD / AIRTABLE_DELETE_MULTIPLE_RECORDS - 删除记录 [可选]
关键参数:
baseId: 库 ID(以 'app' 开头,例如 'appXXXXXXXXXXXXXX')
tableIdOrName: 表 ID(以 'tbl' 开头)或表名
fields: 字段名称与值的映射对象
recordId: 记录 ID(以 'rec' 开头),用于更新/删除
filterByFormula: 用于过滤的 Airtable 公式
typecast: 设置为 true 以启用自动类型转换
常见坑点:
pageSize上限为 100;使用偏移量分页;在分页之间更改过滤器可能会导致行跳过或重复
CREATE_RECORDS每请求硬限制为 10 条记录;大批量导入请分块处理
- 字段名称区分大小写,且必须与 Schema 完全一致
- 字段名称错误会触发 422
UNKNOWN_FIELD_NAME;权限问题触发 403
INVALID_MULTIPLE_CHOICE_OPTIONS错误可能需要设置typecast=true
2. 搜索与过滤记录
适用场景:用户希望使用公式查找特定记录
工具调用顺序:
1. AIRTABLE_GET_BASE_SCHEMA - 验证字段名称和类型 [前置步骤]
2. AIRTABLE_LIST_RECORDS - 使用 filterByFormula 进行查询 [必需]
3. AIRTABLE_GET_RECORD - 获取记录详情 [可选]
关键参数:
filterByFormula: Airtable 公式(例如{Status}='Done')
sort: 排序对象数组
fields: 要返回的字段名称数组
maxRecords: 所有页面的最大记录总数
offset: 来自前一次响应的分页游标
常见坑点:
- 公式中的字段名必须包裹在
{}中且与 Schema 完全一致
- 字符串值必须加引号:应为
{Status}='Active'而非{Status}=Active
- 语法错误或字段不存在会触发 422
INVALID_FILTER_BY_FORMULA
- Airtable 速率限制:每个库约 5 次请求/秒;遇到 429 错误请参考
Retry-After重试
3. 管理字段与 Schema
适用场景:用户希望创建或修改表字段
工具调用顺序:
1. AIRTABLE_GET_BASE_SCHEMA - 检查当前 Schema [前置步骤]
2. AIRTABLE_CREATE_FIELD - 创建新字段 [可选]
3. AIRTABLE_UPDATE_FIELD - 重命名/描述字段 [可选]
4. AIRTABLE_UPDATE_TABLE - 更新表元数据 [可选]
关键参数:
name: 字段名称
type: 字段类型 (singleLineText, number, singleSelect 等)
options: 特定类型的选项 (如 select 的选项,number 的精度)
description: 字段描述
常见坑点:
- UPDATE_FIELD 仅能更改名称/描述,不能更改类型/选项;如需更改,请创建替代字段并迁移数据
- 计算字段 (formula, rollup, lookup) 无法通过 API 创建
- 当类型选项缺失或格式错误时,会返回 422 错误
4. 管理评论
使用场景:用户想要查看或在记录上添加评论
工具序列:
1. AIRTABLE_LIST_COMMENTS - 列出记录上的评论 [必选]
关键参数:
baseId: Base ID
tableIdOrName: 表标识符
recordId: 记录 ID (17 位,以 'rec' 开头)
pageSize: 每页评论数 (最大 100)
常见坑点:
- 记录 ID 必须恰好为 17 位且以 'rec' 开头
常用模式
Airtable 公式语法
比较运算符:
{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')
分页
- 设置
pageSize(最大 100)
- 检查响应中的
offset字符串
- 将
offset原样传递给下一个请求
- 在翻页期间保持过滤器/排序/视图稳定
已知坑点
ID 格式:
- Base IDs:
appXXXXXXXXXXXXXX(17 位)
- Table IDs:
tblXXXXXXXXXXXXXX(17 位)
- Record IDs:
recXXXXXXXXXXXXXX(17 位)
- Field IDs:
fldXXXXXXXXXXXXXX(17 位)
批处理限制:
- CREATE_RECORDS: 每个请求最多 10 条
- UPDATE_MULTIPLE_RECORDS: 每个请求最多 10 条
- DELETE_MULTIPLE_RECORDS: 每个请求最多 10 条
快速参考
| 任务 | 工具 Slug | 关键参数 |
|------|-----------|------------|
| 列出 bases | AIRTABLE_LIST_BASES | (无) |
| 获取 schema | 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 |
使用时机
本技能适用于执行概述中描述的工作流或操作。局限性
- 仅在任务明确符合上述范围时使用此技能。
- 不要将输出结果视为环境特定验证、测试或专家评审的替代方案。
- 如果缺失必要的输入、权限、安全边界或成功标准,请停止操作并请求澄清。