SuperAPI AI 工具集

airtable-automation

办公与效率

查看项目

更新于 10-13 15:56

技能介绍

Airtable Automation via Rube MCP 通过 Composio 的 Airtable 工具包,经 Rube MCP 自动化 Airtable 操作。

【用途】 用于以自动化方式管理 Airtable 中的记录、数据表(bases/tables)、字段(fields)、视图相关数据以及记录评论。

【前置条件】

  1. Rube MCP 必须已连接(RUBE_SEARCH_TOOLS 可用)。
  2. 通过 RUBE_MANAGE_CONNECTIONS 建立有效的 Airtable 连接,工具包为 airtable。
  3. 始终先调用 RUBE_SEARCH_TOOLS 以获取当前工具 schema。

【设置方式】

  • 获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥——只需添加该 endpoint 即可工作。
  • 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用。
  • 调用 RUBE_MANAGE_CONNECTIONS,工具包选择 airtable。
  • 若连接不是 ACTIVE,按返回的授权链接完成 Airtable 授权。
  • 在运行任何工作流前,确认连接状态显示为 ACTIVE。

【核心工作流】

  1. 创建与管理记录 适用场景:用户想要创建、读取、更新或删除记录。 工具顺序:
  • AIRTABLE_LIST_BASES(发现可用 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(删除记录,可选) 关键参数:
  • baseId:Base ID(以 app 开头,如 appXXXXXXXXXXXXXX)
  • tableIdOrName:表 ID(以 tbl 开头)或表名
  • fields:字段名到值的映射对象
  • recordId:记录 ID(以 rec 开头),用于更新/删除
  • filterByFormula:用于过滤的 Airtable 公式
  • typecast:设为 true 以自动类型转换 注意事项:
  • pageSize 上限为 100;使用 offset 分页;在分页之间更改过滤条件可能跳过或重复行。
  • CREATE_RECORDS 每次请求硬上限 10 条记录;更大导入需分块。
  • 字段名区分大小写,且必须与 schema 完全匹配。
  • 字段名错误时返回 422 UNKNOWN_FIELD_NAME;权限问题返回 403。
  • INVALID_MULTIPLE_CHOICE_OPTIONS 可能需要 typecast=true。
  1. 搜索与过滤记录 适用场景:用户想用公式查找特定记录。 工具顺序:
  • AIRTABLE_GET_BASE_SCHEMA(核验字段名与类型,前置)
  • AIRTABLE_LIST_RECORDS(使用 filterByFormula 查询,必需)
  • AIRTABLE_GET_RECORD(获取完整记录详情,可选) 关键参数:
  • filterByFormula:Airtable 公式(如 {Status}='Done')
  • sort:排序对象数组
  • fields:要返回的字段名数组
  • maxRecords:所有分页合计的最大记录数
  • offset:来自上一次响应的分页游标 注意事项:
  • 公式中的字段名必须用 {} 包裹,且与 schema 完全匹配。
  • 字符串值必须加引号:{Status}='Active' 而非 {Status}=Active。
  • 语法错误或字段不存在时返回 422 INVALID_FILTER_BY_FORMULA。
  • Airtable 速率限制:每个 base 约每秒 5 次请求;处理 429 时遵循 Retry-After。
  1. 管理字段与 schema 适用场景:用户想创建或修改表字段。 工具顺序:
  • AIRTABLE_GET_BASE_SCHEMA(检查当前 schema,前置)
  • AIRTABLE_CREATE_FIELD(创建新字段,可选)
  • AIRTABLE_UPDATE_FIELD(重命名/描述字段,可选)
  • AIRTABLE_UPDATE_TABLE(更新表元数据,可选) 关键参数:
  • name:字段名
  • type:字段类型(singleLineText、number、singleSelect 等)
  • options:类型专属选项(如 select 的 choices、number 的 precision)
  • description:字段描述 注意事项:
  • UPDATE_FIELD 只能更改名称/描述,不能更改类型/选项;需创建替代字段并迁移。
  • 计算型字段(formula、rollup、lookup)无法通过 API 创建。
  • 缺少或格式错误的类型选项时返回 422。
  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 原样传给下一次请求
  • 分页之间保持 filters/sorts/view 稳定

【已知注意事项】 ID 格式:

  • Base ID:appXXXXXXXXXXXXXX(17 字符)
  • Table ID:tblXXXXXXXXXXXXXX(17 字符)
  • Record ID:recXXXXXXXXXXXXXX(17 字符)
  • Field ID: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