Airtable 自动化

airtable-automation
分类通用
作者Agentic Awesome Skills 社区
许可MIT
评分4.20/5
使用9.3K

通过 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 |

使用时机

本技能适用于执行概述中描述的工作流或操作。

局限性

  • 仅在任务明确符合上述范围时使用此技能。
  • 不要将输出结果视为环境特定验证、测试或专家评审的替代方案。
  • 如果缺失必要的输入、权限、安全边界或成功标准,请停止操作并请求澄清。