关于 coda-automation
通过 Composio 的 Coda 工具包和 Rube MCP 自动处理 Coda 文档与数据,适用于管理文档和表格的团队,支持搜索、导出、共享及发布。
主要功能
- 01搜索和浏览文档
- 02读取并新增或更新表格行
- 03列出并获取公式
- 04导出页面或文档
- 05查看共享设置并授予访问权限
- 06发布或取消发布文档
适用场景
- 01查找文档并查看页面
- 02搜索或更新表格记录
- 03将文档导出为 HTML 或 Markdown
- 04检查共享设置或授予访问权限
MCP 相关
通过 Rube MCP 使用 Composio 的 Coda 工具包。使用 RUBE_MANAGE_CONNECTIONS 连接 Coda,并通过 RUBE_SEARCH_TOOLS 获取当前工具架构。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill coda-automation安装后在 Claude Code 中输入/coda-automation确认已加载。
详细介绍
通过 Rube MCP 实现 Coda 自动化
通过 Rube MCP 使用 Composio 的 Coda 工具包,自动执行 Coda 文档和数据操作。
工具包文档:composio.dev/toolkits/coda
先决条件
- 必须已连接 Rube MCP(可用
RUBE_SEARCH_TOOLS) - 通过工具包为
coda的RUBE_MANAGE_CONNECTIONS建立有效的 Coda 连接 - 始终先调用
RUBE_SEARCH_TOOLS,以获取当前的工具架构
设置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。无需 API 密钥,只需添加端点即可使用。
- 确认
RUBE_SEARCH_TOOLS能正常响应,以验证 Rube MCP 可用 - 调用工具包为
coda的RUBE_MANAGE_CONNECTIONS - 如果连接状态不是 ACTIVE,请访问返回的授权链接,完成 Coda 身份验证
- 确认连接状态显示为 ACTIVE 后,再运行任何工作流
核心工作流
1. 搜索和浏览文档
适用场景:用户想查找、列出或检查 Coda 文档
工具调用顺序:
CODA_SEARCH_DOCS或CODA_LIST_AVAILABLE_DOCS- 查找文档[必需]CODA_RESOLVE_BROWSER_LINK- 将 Coda URL 解析为文档/页面/表格 ID[替代方案]CODA_LIST_PAGES- 列出文档中的页面[可选]CODA_GET_A_PAGE- 获取特定页面的详细信息[可选]
关键参数:
query:用于查找文档的搜索词isOwner:筛选用户拥有的文档docId:页面操作所用的文档 IDpageIdOrName:页面标识符或名称url:用于解析操作的浏览器 URL
注意事项:
- 文档 ID 是字母数字字符串(例如,'AbCdEfGhIj')
- 将 Coda URL 转换为 API ID 时,
CODA_RESOLVE_BROWSER_LINK是最佳方式 - 页面名称在同一文档中可能不唯一;建议使用页面 ID
- 搜索结果包含与用户共享的文档,不仅限于用户拥有的文档
2. 使用表格和数据
适用场景:用户想读取、写入或查询表格数据
工具调用顺序:
CODA_LIST_TABLES- 列出文档中的表格[前置条件]CODA_LIST_COLUMNS- 获取表格的列定义[前置条件]CODA_LIST_TABLE_ROWS- 列出所有行,可选使用筛选条件[必需]CODA_SEARCH_ROW- 按查询条件搜索特定行[替代方案]CODA_GET_A_ROW- 按 ID 获取特定行[可选]CODA_UPSERT_ROWS- 在表格中插入或更新行[可选]CODA_GET_A_COLUMN- 获取特定列的详细信息[可选]
关键参数:
docId:包含该表格的文档 IDtableIdOrName:表格标识符或名称query:用于搜索行的筛选查询rows:用于插入或更新操作的行对象数组keyColumns:插入或更新时用于匹配的列 IDsortBy:用于排序结果的列useColumnNames:在行数据中使用列名而不是 ID
注意事项:
- 表格名称可能包含空格;必要时请进行 URL 编码
- 如果
keyColumns中没有匹配项,CODA_UPSERT_ROWS会插入数据;如果找到匹配项,则会更新数据 - 为确保插入或更新可靠,
keyColumns必须引用值唯一的列 - 列 ID 与列名不同;请先列出列,以将名称映射到 ID
useColumnNames: true允许在行数据中使用易读的名称- 行数据值必须与列类型匹配(文本、数字、日期等)
3. 管理公式
适用场景:用户想列出或计算文档中的公式
工具调用顺序:
CODA_LIST_FORMULAS- 列出文档中的所有命名公式[必需]CODA_GET_A_FORMULA- 获取特定公式的当前值[可选]
关键参数:
docId:文档 IDformulaIdOrName:公式标识符或名称
注意事项:
- 公式是在文档中定义的命名计算
- 公式值在服务端计算;结果反映当前状态
- 公式名称区分大小写
4. 导出文档内容
适用场景:用户想要将文档或页面导出为 HTML 或 Markdown
工具调用顺序:
CODA_BEGIN_CONTENT_EXPORT- 启动导出任务[必需]CODA_CONTENT_EXPORT_STATUS- 轮询导出状态,直到完成[必需]
关键参数:
docId:要导出的文档 IDoutputFormat:导出格式('html' 或 'markdown')pageIdOrName:要导出的特定页面(可选;省略则导出整个文档)requestId:用于轮询状态的导出请求 ID
注意事项:
- 导出是异步的;轮询状态,直到
status为 'complete' - 大型文档可能需要较长时间才能导出
- 完成响应中的导出 URL 是临时的;请尽快下载
- 过于频繁地轮询可能触发速率限制;请使用 2-5 秒的间隔
5. 管理权限和共享
适用场景:用户想要查看或管理文档访问权限
工具调用顺序:
CODA_GET_SHARING_METADATA- 查看当前共享设置[必需]CODA_GET_ACL_SETTINGS- 获取访问控制列表设置[可选]CODA_ADD_PERMISSION- 授予用户或电子邮箱访问权限[可选]
关键参数:
docId:文档 IDaccess:权限级别('readonly'、'write'、'comment')principal:包含接收者电子邮箱或用户 ID 的对象suppressEmail:是否跳过共享通知邮件
注意事项:
- 权限级别:'readonly'、'write'、'comment'
- 添加权限默认会发送邮件通知;使用
suppressEmail可阻止发送 - 并非所有情况下都能通过 API 移除权限;请检查 ACL 设置
6. 发布和自定义文档
适用场景:用户想要发布文档或管理自定义域名
工具调用顺序:
CODA_PUBLISH_DOC- 公开发布文档[必需]CODA_UNPUBLISH_DOC- 取消发布文档[可选]CODA_ADD_CUSTOM_DOMAIN- 为已发布的文档添加自定义域名[可选]CODA_GET_DOC_CATEGORIES- 获取用于发现的文档类别[可选]
关键参数:
docId:文档 IDslug:已发布文档的自定义 URL 别名categoryIds:用于提升可发现性的类别 ID
注意事项:
- 发布后,任何拥有链接的人都可以访问该文档
- 自定义域名需要配置 DNS
- 取消发布会移除公开访问权限,但会保留共享访问权限
常见模式
ID 解析
文档 URL -> 文档 ID:
1. Call CODA_RESOLVE_BROWSER_LINK with the Coda URL
2. Extract docId from the response
表格名称 -> 表格 ID:
1. Call CODA_LIST_TABLES with docId
2. Find table by name, extract id
列名称 -> 列 ID:
1. Call CODA_LIST_COLUMNS with docId and tableIdOrName
2. Find column by name, extract id
分页
- Coda 使用基于游标的分页,并通过
pageToken指定游标 - 检查响应中的
nextPageToken - 在下一次请求中将其作为
pageToken传递,直到该字段不存在 - 默认页面大小因端点而异
行 Upsert 模式
1. Call CODA_LIST_COLUMNS to get column IDs
2. Build row objects with column ID keys and values
3. Set keyColumns to unique identifier column(s)
4. Call CODA_UPSERT_ROWS with rows and keyColumns
已知注意事项
ID 格式:
- 文档 ID:字母数字字符串
- 表格/列/行 ID:带前缀的字符串(例如 'grid-abc'、'c-xyz')
- 使用 RESOLVE_BROWSER_LINK 将 URL 转换为 ID
数据类型:
- 行值必须与列类型匹配
- 日期列需要 ISO 8601 格式
- 单选/多选列需要精确匹配的选项值
- 人员列需要电子邮箱地址
速率限制:
- Coda API 对每个令牌设有速率限制
- 对 429 响应实施退避
- 通过 UPSERT_ROWS 批量操作行,比逐条更新更高效
快速参考
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 搜索文档 | CODA_SEARCH_DOCS | query |
| 列出文档 | CODA_LIST_AVAILABLE_DOCS | isOwner |
| 解析 URL | CODA_RESOLVE_BROWSER_LINK | url |
| 列出页面 | CODA_LIST_PAGES | docId |
| 获取页面 | CODA_GET_A_PAGE | docId, pageIdOrName |
| 列出表格 | CODA_LIST_TABLES | docId |
| 列出列 | CODA_LIST_COLUMNS | docId, tableIdOrName |
| 列出行 | CODA_LIST_TABLE_ROWS | docId, tableIdOrName |
| 搜索行 | CODA_SEARCH_ROW | docId, tableIdOrName, query |
| 获取行 | CODA_GET_A_ROW | docId, tableIdOrName, rowIdOrName |
| 新增或更新行 | CODA_UPSERT_ROWS | docId, tableIdOrName, rows, keyColumns |
| 获取列 | CODA_GET_A_COLUMN | docId, tableIdOrName, columnIdOrName |
| 按钮 | CODA_PUSH_A_BUTTON | docId, tableIdOrName, rowIdOrName, columnIdOrName |
| 列出公式 | CODA_LIST_FORMULAS | docId |
| 获取公式 | CODA_GET_A_FORMULA | docId, formulaIdOrName |
| 开始导出 | CODA_BEGIN_CONTENT_EXPORT | docId, outputFormat |
| 导出状态 | CODA_CONTENT_EXPORT_STATUS | docId, requestId |
| 获取共享信息 | CODA_GET_SHARING_METADATA | docId |
| 添加权限 | CODA_ADD_PERMISSION | docId, access, principal |
| 发布文档 | CODA_PUBLISH_DOC | docId, slug |
| 取消发布文档 | CODA_UNPUBLISH_DOC | docId |
| 列出 Packs | CODA_LIST_PACKS | (none) |
由 Composio 提供支持
评论
支持 Markdown