coda-automation
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCoda Automation via Rube MCP
通过Rube MCP实现Coda自动化
Automate Coda document and data operations through Composio's Coda toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/coda
通过Composio的Coda工具包,借助Rube MCP自动化Coda文档与数据操作。
Prerequisites
前提条件
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Coda connection via with toolkit
RUBE_MANAGE_CONNECTIONScoda - Always call first to get current tool schemas
RUBE_SEARCH_TOOLS
- 必须已连接Rube MCP(需提供RUBE_SEARCH_TOOLS)
- 通过并使用工具包
RUBE_MANAGE_CONNECTIONS完成Coda的激活连接coda - 请始终先调用以获取最新的工具架构
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_CONNECTIONScoda - If connection is not ACTIVE, follow the returned auth link to complete Coda authentication
- Confirm connection status shows ACTIVE before running any workflows
获取Rube MCP:在客户端配置中添加作为MCP服务器。无需API密钥 — 只需添加端点即可使用。
https://rube.app/mcp- 确认可响应,以此验证Rube MCP是否可用
RUBE_SEARCH_TOOLS - 调用并指定工具包
RUBE_MANAGE_CONNECTIONScoda - 如果连接状态未显示为ACTIVE,请按照返回的授权链接完成Coda身份验证
- 在运行任何工作流之前,确认连接状态显示为ACTIVE
Core Workflows
核心工作流
1. Search and Browse Documents
1. 搜索与浏览文档
When to use: User wants to find, list, or inspect Coda documents
Tool sequence:
- or
CODA_SEARCH_DOCS- Find documents [Required]CODA_LIST_AVAILABLE_DOCS - - Resolve a Coda URL to doc/page/table IDs [Alternative]
CODA_RESOLVE_BROWSER_LINK - - List pages within a document [Optional]
CODA_LIST_PAGES - - Get specific page details [Optional]
CODA_GET_A_PAGE
Key parameters:
- : Search term for finding documents
query - : Filter to docs owned by the user
isOwner - : Document ID for page operations
docId - : Page identifier or name
pageIdOrName - : Browser URL for resolve operations
url
Pitfalls:
- Document IDs are alphanumeric strings (e.g., 'AbCdEfGhIj')
- is the best way to convert a Coda URL to API IDs
CODA_RESOLVE_BROWSER_LINK - Page names may not be unique within a doc; prefer page IDs
- Search results include docs shared with the user, not just owned docs
适用场景:用户需要查找、列出或查看Coda文档详情
工具执行顺序:
- 或
CODA_SEARCH_DOCS- 查找文档 [必填]CODA_LIST_AVAILABLE_DOCS - - 将Coda URL解析为文档/页面/表格ID [备选]
CODA_RESOLVE_BROWSER_LINK - - 列出文档内的页面 [可选]
CODA_LIST_PAGES - - 获取特定页面的详细信息 [可选]
CODA_GET_A_PAGE
关键参数:
- : 用于查找文档的搜索关键词
query - : 筛选用户拥有的文档
isOwner - : 用于页面操作的文档ID
docId - : 页面标识符或名称
pageIdOrName - : 用于解析操作的浏览器URL
url
注意事项:
- 文档ID为字母数字字符串(例如:'AbCdEfGhIj')
- 是将Coda URL转换为API ID的最佳方式
CODA_RESOLVE_BROWSER_LINK - 文档内的页面名称可能不唯一;优先使用页面ID
- 搜索结果包含与用户共享的文档,而非仅用户拥有的文档
2. Work with Tables and Data
2. 表格与数据操作
When to use: User wants to read, write, or query table data
Tool sequence:
- - List tables in a document [Prerequisite]
CODA_LIST_TABLES - - Get column definitions for a table [Prerequisite]
CODA_LIST_COLUMNS - - List all rows with optional filters [Required]
CODA_LIST_TABLE_ROWS - - Search for specific rows by query [Alternative]
CODA_SEARCH_ROW - - Get a specific row by ID [Optional]
CODA_GET_A_ROW - - Insert or update rows in a table [Optional]
CODA_UPSERT_ROWS - - Get details of a specific column [Optional]
CODA_GET_A_COLUMN
Key parameters:
- : Document ID containing the table
docId - : Table identifier or name
tableIdOrName - : Filter query for searching rows
query - : Array of row objects for upsert operations
rows - : Column IDs used for matching during upsert
keyColumns - : Column to sort results by
sortBy - : Use column names instead of IDs in row data
useColumnNames
Pitfalls:
- Table names may contain spaces; URL-encode if needed
- does insert if no match on
CODA_UPSERT_ROWS, update if match foundkeyColumns - must reference columns that have unique values for reliable upserts
keyColumns - Column IDs are different from column names; list columns first to map names to IDs
- allows using human-readable names in row data
useColumnNames: true - Row data values must match the column type (text, number, date, etc.)
适用场景:用户需要读取、写入或查询表格数据
工具执行顺序:
- - 列出文档内的表格 [前置步骤]
CODA_LIST_TABLES - - 获取表格的列定义 [前置步骤]
CODA_LIST_COLUMNS - - 列出所有行(可带筛选条件)[必填]
CODA_LIST_TABLE_ROWS - - 通过关键词搜索特定行 [备选]
CODA_SEARCH_ROW - - 通过ID获取特定行的信息 [可选]
CODA_GET_A_ROW - - 在表格中插入或更新行 [可选]
CODA_UPSERT_ROWS - - 获取特定列的详细信息 [可选]
CODA_GET_A_COLUMN
关键参数:
- : 包含目标表格的文档ID
docId - : 表格标识符或名称
tableIdOrName - : 用于搜索行的筛选条件
query - : 用于插入/更新操作的行对象数组
rows - : 插入/更新时用于匹配的列ID
keyColumns - : 用于排序结果的列
sortBy - : 在行数据中使用列名而非列ID
useColumnNames
注意事项:
- 表格名称可能包含空格;必要时需进行URL编码
- 会根据
CODA_UPSERT_ROWS的匹配结果执行操作:无匹配则插入,有匹配则更新keyColumns - 必须引用具有唯一值的列,以确保可靠的插入/更新
keyColumns - 列ID与列名称不同;需先列出所有列以完成名称到ID的映射
- 允许在行数据中使用易读的列名
useColumnNames: true - 行数据的值必须与列类型匹配(文本、数字、日期等)
3. Manage Formulas
3. 公式管理
When to use: User wants to list or evaluate formulas in a document
Tool sequence:
- - List all named formulas in a doc [Required]
CODA_LIST_FORMULAS - - Get a specific formula's current value [Optional]
CODA_GET_A_FORMULA
Key parameters:
- : Document ID
docId - : Formula identifier or name
formulaIdOrName
Pitfalls:
- Formulas are named calculations defined in the document
- Formula values are computed server-side; results reflect the current state
- Formula names are case-sensitive
适用场景:用户需要列出或计算文档中的公式
工具执行顺序:
- - 列出文档中所有已命名的公式 [必填]
CODA_LIST_FORMULAS - - 获取特定公式的当前值 [可选]
CODA_GET_A_FORMULA
关键参数:
- : 文档ID
docId - : 公式标识符或名称
formulaIdOrName
注意事项:
- 公式是文档中定义的已命名计算规则
- 公式值由服务器端计算;结果反映当前状态
- 公式名称区分大小写
4. Export Document Content
4. 文档内容导出
When to use: User wants to export a document or page to HTML or Markdown
Tool sequence:
- - Start an export job [Required]
CODA_BEGIN_CONTENT_EXPORT - - Poll export status until complete [Required]
CODA_CONTENT_EXPORT_STATUS
Key parameters:
- : Document ID to export
docId - : Export format ('html' or 'markdown')
outputFormat - : Specific page to export (optional, omit for full doc)
pageIdOrName - : Export request ID for status polling
requestId
Pitfalls:
- Export is asynchronous; poll status until is 'complete'
status - Large documents may take significant time to export
- Export URL in the completed response is temporary; download promptly
- Polling too frequently may hit rate limits; use 2-5 second intervals
适用场景:用户需要将文档或页面导出为HTML或Markdown格式
工具执行顺序:
- - 启动导出任务 [必填]
CODA_BEGIN_CONTENT_EXPORT - - 轮询导出状态直至完成 [必填]
CODA_CONTENT_EXPORT_STATUS
关键参数:
- : 待导出的文档ID
docId - : 导出格式('html' 或 'markdown')
outputFormat - : 待导出的特定页面(可选,省略则导出整个文档)
pageIdOrName - : 用于状态轮询的导出请求ID
requestId
注意事项:
- 导出为异步操作;需轮询状态直至变为'complete'
status - 大型文档可能需要较长的导出时间
- 完成响应中的导出URL为临时链接;请及时下载
- 过于频繁的轮询可能触发速率限制;建议使用2-5秒的间隔
5. Manage Permissions and Sharing
5. 权限与共享管理
When to use: User wants to view or manage document access
Tool sequence:
- - View current sharing settings [Required]
CODA_GET_SHARING_METADATA - - Get access control list settings [Optional]
CODA_GET_ACL_SETTINGS - - Grant access to a user or email [Optional]
CODA_ADD_PERMISSION
Key parameters:
- : Document ID
docId - : Permission level ('readonly', 'write', 'comment')
access - : Object with email or user ID of the recipient
principal - : Whether to skip the sharing notification email
suppressEmail
Pitfalls:
- Permission levels: 'readonly', 'write', 'comment'
- Adding permission sends an email notification by default; use to prevent
suppressEmail - Cannot remove permissions via API in all cases; check ACL settings
适用场景:用户需要查看或管理文档的访问权限
工具执行顺序:
- - 查看当前的共享设置 [必填]
CODA_GET_SHARING_METADATA - - 获取访问控制列表设置 [可选]
CODA_GET_ACL_SETTINGS - - 为用户或邮箱授予访问权限 [可选]
CODA_ADD_PERMISSION
关键参数:
- : 文档ID
docId - : 权限级别('readonly'、'write'、'comment')
access - : 包含收件人邮箱或用户ID的对象
principal - : 是否跳过共享通知邮件
suppressEmail
注意事项:
- 权限级别包括:'readonly'(只读)、'write'(可编辑)、'comment'(可评论)
- 默认情况下,添加权限会发送邮件通知;可使用参数阻止发送
suppressEmail - 并非所有场景都能通过API删除权限;请先检查ACL设置
6. Publish and Customize Documents
6. 文档发布与自定义
When to use: User wants to publish a document or manage custom domains
Tool sequence:
- - Publish a document publicly [Required]
CODA_PUBLISH_DOC - - Unpublish a document [Optional]
CODA_UNPUBLISH_DOC - - Add a custom domain for published doc [Optional]
CODA_ADD_CUSTOM_DOMAIN - - Get doc categories for discovery [Optional]
CODA_GET_DOC_CATEGORIES
Key parameters:
- : Document ID
docId - : Custom URL slug for the published doc
slug - : Category IDs for discoverability
categoryIds
Pitfalls:
- Publishing makes the document accessible to anyone with the link
- Custom domains require DNS configuration
- Unpublishing removes public access but retains shared access
适用场景:用户需要发布文档或管理自定义域名
工具执行顺序:
- - 将文档公开发布 [必填]
CODA_PUBLISH_DOC - - 取消文档的公开发布 [可选]
CODA_UNPUBLISH_DOC - - 为已发布文档添加自定义域名 [可选]
CODA_ADD_CUSTOM_DOMAIN - - 获取文档分类以提升可发现性 [可选]
CODA_GET_DOC_CATEGORIES
关键参数:
- : 文档ID
docId - : 已发布文档的自定义URL后缀
slug - : 用于提升可发现性的分类ID
categoryIds
注意事项:
- 发布后,任何拥有链接的用户均可访问该文档
- 自定义域名需要进行DNS配置
- 取消公开发布后,公共访问权限会被移除,但共享访问权限仍保留
Common Patterns
常见模式
ID Resolution
ID解析
Doc URL -> Doc ID:
1. Call CODA_RESOLVE_BROWSER_LINK with the Coda URL
2. Extract docId from the responseTable name -> Table ID:
1. Call CODA_LIST_TABLES with docId
2. Find table by name, extract idColumn name -> Column ID:
1. Call CODA_LIST_COLUMNS with docId and tableIdOrName
2. Find column by name, extract id文档URL -> 文档ID:
1. 调用CODA_RESOLVE_BROWSER_LINK并传入Coda URL
2. 从响应中提取docId表格名称 -> 表格ID:
1. 调用CODA_LIST_TABLES并传入docId
2. 根据名称找到表格,提取其id列名称 -> 列ID:
1. 调用CODA_LIST_COLUMNS并传入docId和tableIdOrName
2. 根据名称找到列,提取其idPagination
分页处理
- Coda uses cursor-based pagination with
pageToken - Check response for
nextPageToken - Pass as in next request until absent
pageToken - Default page sizes vary by endpoint
- Coda采用基于游标(cursor)的分页机制,使用参数
pageToken - 检查响应中的字段
nextPageToken - 在后续请求中传入该,直到该字段不存在
pageToken - 不同端点的默认分页大小有所差异
Row Upsert Pattern
行插入/更新模式
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 keyColumns1. 调用CODA_LIST_COLUMNS获取列ID
2. 构建以列ID为键、对应值为内容的行对象
3. 将keyColumns设置为唯一标识符列(一个或多个)
4. 调用CODA_UPSERT_ROWS并传入行对象数组和keyColumnsKnown Pitfalls
已知注意事项
ID Formats:
- Document IDs: alphanumeric strings
- Table/column/row IDs: prefixed strings (e.g., 'grid-abc', 'c-xyz')
- Use RESOLVE_BROWSER_LINK to convert URLs to IDs
Data Types:
- Row values must match column types
- Date columns expect ISO 8601 format
- Select/multi-select columns expect exact option values
- People columns expect email addresses
Rate Limits:
- Coda API has per-token rate limits
- Implement backoff on 429 responses
- Bulk row operations via UPSERT_ROWS are more efficient than individual updates
ID格式:
- 文档ID:字母数字字符串
- 表格/列/行ID:带前缀的字符串(例如:'grid-abc'、'c-xyz')
- 使用RESOLVE_BROWSER_LINK将URL转换为ID
数据类型:
- 行值必须与列类型匹配
- 日期列需使用ISO 8601格式
- 单选/多选列需传入与选项完全一致的值
- 人员列需传入邮箱地址
速率限制:
- Coda API对每个令牌设有速率限制
- 收到429响应时需实现退避机制
- 通过UPSERT_ROWS进行批量行操作比单独更新更高效
Quick Reference
快速参考
| Task | Tool Slug | Key Params |
|---|---|---|
| Search docs | CODA_SEARCH_DOCS | query |
| List docs | CODA_LIST_AVAILABLE_DOCS | isOwner |
| Resolve URL | CODA_RESOLVE_BROWSER_LINK | url |
| List pages | CODA_LIST_PAGES | docId |
| Get page | CODA_GET_A_PAGE | docId, pageIdOrName |
| List tables | CODA_LIST_TABLES | docId |
| List columns | CODA_LIST_COLUMNS | docId, tableIdOrName |
| List rows | CODA_LIST_TABLE_ROWS | docId, tableIdOrName |
| Search rows | CODA_SEARCH_ROW | docId, tableIdOrName, query |
| Get row | CODA_GET_A_ROW | docId, tableIdOrName, rowIdOrName |
| Upsert rows | CODA_UPSERT_ROWS | docId, tableIdOrName, rows, keyColumns |
| Get column | CODA_GET_A_COLUMN | docId, tableIdOrName, columnIdOrName |
| Push button | CODA_PUSH_A_BUTTON | docId, tableIdOrName, rowIdOrName, columnIdOrName |
| List formulas | CODA_LIST_FORMULAS | docId |
| Get formula | CODA_GET_A_FORMULA | docId, formulaIdOrName |
| Begin export | CODA_BEGIN_CONTENT_EXPORT | docId, outputFormat |
| Export status | CODA_CONTENT_EXPORT_STATUS | docId, requestId |
| Get sharing | CODA_GET_SHARING_METADATA | docId |
| Add permission | CODA_ADD_PERMISSION | docId, access, principal |
| Publish doc | CODA_PUBLISH_DOC | docId, slug |
| Unpublish doc | CODA_UNPUBLISH_DOC | docId |
| List packs | CODA_LIST_PACKS | (none) |
Powered by Composio
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 搜索文档 | 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 |
| 列出扩展包 | CODA_LIST_PACKS | (无) |
由 Composio 提供支持