coda-automation

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Coda Automation via Rube MCP

通过Rube MCP实现Coda自动化

Automate Coda document and data operations through Composio's Coda toolkit via Rube MCP.
通过Composio的Coda工具包,借助Rube MCP自动化Coda文档与数据操作。
工具包文档composio.dev/toolkits/coda

Prerequisites

前提条件

  • Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
  • Active Coda connection via
    RUBE_MANAGE_CONNECTIONS
    with toolkit
    coda
  • Always call
    RUBE_SEARCH_TOOLS
    first to get current tool schemas
  • 必须已连接Rube MCP(需提供RUBE_SEARCH_TOOLS)
  • 通过
    RUBE_MANAGE_CONNECTIONS
    并使用工具包
    coda
    完成Coda的激活连接
  • 请始终先调用
    RUBE_SEARCH_TOOLS
    以获取最新的工具架构

Setup

设置步骤

Get Rube MCP: Add
https://rube.app/mcp
as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
  1. Verify Rube MCP is available by confirming
    RUBE_SEARCH_TOOLS
    responds
  2. Call
    RUBE_MANAGE_CONNECTIONS
    with toolkit
    coda
  3. If connection is not ACTIVE, follow the returned auth link to complete Coda authentication
  4. Confirm connection status shows ACTIVE before running any workflows
获取Rube MCP:在客户端配置中添加
https://rube.app/mcp
作为MCP服务器。无需API密钥 — 只需添加端点即可使用。
  1. 确认
    RUBE_SEARCH_TOOLS
    可响应,以此验证Rube MCP是否可用
  2. 调用
    RUBE_MANAGE_CONNECTIONS
    并指定工具包
    coda
  3. 如果连接状态未显示为ACTIVE,请按照返回的授权链接完成Coda身份验证
  4. 在运行任何工作流之前,确认连接状态显示为ACTIVE

Core Workflows

核心工作流

1. Search and Browse Documents

1. 搜索与浏览文档

When to use: User wants to find, list, or inspect Coda documents
Tool sequence:
  1. CODA_SEARCH_DOCS
    or
    CODA_LIST_AVAILABLE_DOCS
    - Find documents [Required]
  2. CODA_RESOLVE_BROWSER_LINK
    - Resolve a Coda URL to doc/page/table IDs [Alternative]
  3. CODA_LIST_PAGES
    - List pages within a document [Optional]
  4. CODA_GET_A_PAGE
    - Get specific page details [Optional]
Key parameters:
  • query
    : Search term for finding documents
  • isOwner
    : Filter to docs owned by the user
  • docId
    : Document ID for page operations
  • pageIdOrName
    : Page identifier or name
  • url
    : Browser URL for resolve operations
Pitfalls:
  • Document IDs are alphanumeric strings (e.g., 'AbCdEfGhIj')
  • CODA_RESOLVE_BROWSER_LINK
    is the best way to convert a Coda URL to API IDs
  • 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文档详情
工具执行顺序:
  1. CODA_SEARCH_DOCS
    CODA_LIST_AVAILABLE_DOCS
    - 查找文档 [必填]
  2. CODA_RESOLVE_BROWSER_LINK
    - 将Coda URL解析为文档/页面/表格ID [备选]
  3. CODA_LIST_PAGES
    - 列出文档内的页面 [可选]
  4. CODA_GET_A_PAGE
    - 获取特定页面的详细信息 [可选]
关键参数:
  • query
    : 用于查找文档的搜索关键词
  • isOwner
    : 筛选用户拥有的文档
  • docId
    : 用于页面操作的文档ID
  • pageIdOrName
    : 页面标识符或名称
  • url
    : 用于解析操作的浏览器URL
注意事项:
  • 文档ID为字母数字字符串(例如:'AbCdEfGhIj')
  • CODA_RESOLVE_BROWSER_LINK
    是将Coda URL转换为API ID的最佳方式
  • 文档内的页面名称可能不唯一;优先使用页面ID
  • 搜索结果包含与用户共享的文档,而非仅用户拥有的文档

2. Work with Tables and Data

2. 表格与数据操作

When to use: User wants to read, write, or query table data
Tool sequence:
  1. CODA_LIST_TABLES
    - List tables in a document [Prerequisite]
  2. CODA_LIST_COLUMNS
    - Get column definitions for a table [Prerequisite]
  3. CODA_LIST_TABLE_ROWS
    - List all rows with optional filters [Required]
  4. CODA_SEARCH_ROW
    - Search for specific rows by query [Alternative]
  5. CODA_GET_A_ROW
    - Get a specific row by ID [Optional]
  6. CODA_UPSERT_ROWS
    - Insert or update rows in a table [Optional]
  7. CODA_GET_A_COLUMN
    - Get details of a specific column [Optional]
Key parameters:
  • docId
    : Document ID containing the table
  • tableIdOrName
    : Table identifier or name
  • query
    : Filter query for searching rows
  • rows
    : Array of row objects for upsert operations
  • keyColumns
    : Column IDs used for matching during upsert
  • sortBy
    : Column to sort results by
  • useColumnNames
    : Use column names instead of IDs in row data
Pitfalls:
  • Table names may contain spaces; URL-encode if needed
  • CODA_UPSERT_ROWS
    does insert if no match on
    keyColumns
    , update if match found
  • keyColumns
    must reference columns that have unique values for reliable upserts
  • Column IDs are different from column names; list columns first to map names to IDs
  • useColumnNames: true
    allows using human-readable names in row data
  • Row data values must match the column type (text, number, date, etc.)
适用场景:用户需要读取、写入或查询表格数据
工具执行顺序:
  1. CODA_LIST_TABLES
    - 列出文档内的表格 [前置步骤]
  2. CODA_LIST_COLUMNS
    - 获取表格的列定义 [前置步骤]
  3. CODA_LIST_TABLE_ROWS
    - 列出所有行(可带筛选条件)[必填]
  4. CODA_SEARCH_ROW
    - 通过关键词搜索特定行 [备选]
  5. CODA_GET_A_ROW
    - 通过ID获取特定行的信息 [可选]
  6. CODA_UPSERT_ROWS
    - 在表格中插入或更新行 [可选]
  7. CODA_GET_A_COLUMN
    - 获取特定列的详细信息 [可选]
关键参数:
  • docId
    : 包含目标表格的文档ID
  • tableIdOrName
    : 表格标识符或名称
  • query
    : 用于搜索行的筛选条件
  • rows
    : 用于插入/更新操作的行对象数组
  • keyColumns
    : 插入/更新时用于匹配的列ID
  • sortBy
    : 用于排序结果的列
  • useColumnNames
    : 在行数据中使用列名而非列ID
注意事项:
  • 表格名称可能包含空格;必要时需进行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:
  1. CODA_LIST_FORMULAS
    - List all named formulas in a doc [Required]
  2. CODA_GET_A_FORMULA
    - Get a specific formula's current value [Optional]
Key parameters:
  • docId
    : Document ID
  • formulaIdOrName
    : Formula identifier or name
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
适用场景:用户需要列出或计算文档中的公式
工具执行顺序:
  1. CODA_LIST_FORMULAS
    - 列出文档中所有已命名的公式 [必填]
  2. CODA_GET_A_FORMULA
    - 获取特定公式的当前值 [可选]
关键参数:
  • docId
    : 文档ID
  • formulaIdOrName
    : 公式标识符或名称
注意事项:
  • 公式是文档中定义的已命名计算规则
  • 公式值由服务器端计算;结果反映当前状态
  • 公式名称区分大小写

4. Export Document Content

4. 文档内容导出

When to use: User wants to export a document or page to HTML or Markdown
Tool sequence:
  1. CODA_BEGIN_CONTENT_EXPORT
    - Start an export job [Required]
  2. CODA_CONTENT_EXPORT_STATUS
    - Poll export status until complete [Required]
Key parameters:
  • docId
    : Document ID to export
  • outputFormat
    : Export format ('html' or 'markdown')
  • pageIdOrName
    : Specific page to export (optional, omit for full doc)
  • requestId
    : Export request ID for status polling
Pitfalls:
  • Export is asynchronous; poll status until
    status
    is 'complete'
  • 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格式
工具执行顺序:
  1. CODA_BEGIN_CONTENT_EXPORT
    - 启动导出任务 [必填]
  2. CODA_CONTENT_EXPORT_STATUS
    - 轮询导出状态直至完成 [必填]
关键参数:
  • docId
    : 待导出的文档ID
  • outputFormat
    : 导出格式('html' 或 'markdown')
  • pageIdOrName
    : 待导出的特定页面(可选,省略则导出整个文档)
  • requestId
    : 用于状态轮询的导出请求ID
注意事项:
  • 导出为异步操作;需轮询状态直至
    status
    变为'complete'
  • 大型文档可能需要较长的导出时间
  • 完成响应中的导出URL为临时链接;请及时下载
  • 过于频繁的轮询可能触发速率限制;建议使用2-5秒的间隔

5. Manage Permissions and Sharing

5. 权限与共享管理

When to use: User wants to view or manage document access
Tool sequence:
  1. CODA_GET_SHARING_METADATA
    - View current sharing settings [Required]
  2. CODA_GET_ACL_SETTINGS
    - Get access control list settings [Optional]
  3. CODA_ADD_PERMISSION
    - Grant access to a user or email [Optional]
Key parameters:
  • docId
    : Document ID
  • access
    : Permission level ('readonly', 'write', 'comment')
  • principal
    : Object with email or user ID of the recipient
  • suppressEmail
    : Whether to skip the sharing notification email
Pitfalls:
  • Permission levels: 'readonly', 'write', 'comment'
  • Adding permission sends an email notification by default; use
    suppressEmail
    to prevent
  • Cannot remove permissions via API in all cases; check ACL settings
适用场景:用户需要查看或管理文档的访问权限
工具执行顺序:
  1. CODA_GET_SHARING_METADATA
    - 查看当前的共享设置 [必填]
  2. CODA_GET_ACL_SETTINGS
    - 获取访问控制列表设置 [可选]
  3. CODA_ADD_PERMISSION
    - 为用户或邮箱授予访问权限 [可选]
关键参数:
  • docId
    : 文档ID
  • access
    : 权限级别('readonly'、'write'、'comment')
  • principal
    : 包含收件人邮箱或用户ID的对象
  • 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:
  1. CODA_PUBLISH_DOC
    - Publish a document publicly [Required]
  2. CODA_UNPUBLISH_DOC
    - Unpublish a document [Optional]
  3. CODA_ADD_CUSTOM_DOMAIN
    - Add a custom domain for published doc [Optional]
  4. CODA_GET_DOC_CATEGORIES
    - Get doc categories for discovery [Optional]
Key parameters:
  • docId
    : Document ID
  • slug
    : Custom URL slug for the published doc
  • categoryIds
    : Category IDs for discoverability
Pitfalls:
  • Publishing makes the document accessible to anyone with the link
  • Custom domains require DNS configuration
  • Unpublishing removes public access but retains shared access
适用场景:用户需要发布文档或管理自定义域名
工具执行顺序:
  1. CODA_PUBLISH_DOC
    - 将文档公开发布 [必填]
  2. CODA_UNPUBLISH_DOC
    - 取消文档的公开发布 [可选]
  3. CODA_ADD_CUSTOM_DOMAIN
    - 为已发布文档添加自定义域名 [可选]
  4. CODA_GET_DOC_CATEGORIES
    - 获取文档分类以提升可发现性 [可选]
关键参数:
  • docId
    : 文档ID
  • slug
    : 已发布文档的自定义URL后缀
  • categoryIds
    : 用于提升可发现性的分类ID
注意事项:
  • 发布后,任何拥有链接的用户均可访问该文档
  • 自定义域名需要进行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 response
Table name -> Table ID:
1. Call CODA_LIST_TABLES with docId
2. Find table by name, extract id
Column 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. 根据名称找到列,提取其id

Pagination

分页处理

  • Coda uses cursor-based pagination with
    pageToken
  • Check response for
    nextPageToken
  • Pass as
    pageToken
    in next request until absent
  • 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 keyColumns
1. 调用CODA_LIST_COLUMNS获取列ID
2. 构建以列ID为键、对应值为内容的行对象
3. 将keyColumns设置为唯一标识符列(一个或多个)
4. 调用CODA_UPSERT_ROWS并传入行对象数组和keyColumns

Known 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

快速参考

TaskTool SlugKey Params
Search docsCODA_SEARCH_DOCSquery
List docsCODA_LIST_AVAILABLE_DOCSisOwner
Resolve URLCODA_RESOLVE_BROWSER_LINKurl
List pagesCODA_LIST_PAGESdocId
Get pageCODA_GET_A_PAGEdocId, pageIdOrName
List tablesCODA_LIST_TABLESdocId
List columnsCODA_LIST_COLUMNSdocId, tableIdOrName
List rowsCODA_LIST_TABLE_ROWSdocId, tableIdOrName
Search rowsCODA_SEARCH_ROWdocId, tableIdOrName, query
Get rowCODA_GET_A_ROWdocId, tableIdOrName, rowIdOrName
Upsert rowsCODA_UPSERT_ROWSdocId, tableIdOrName, rows, keyColumns
Get columnCODA_GET_A_COLUMNdocId, tableIdOrName, columnIdOrName
Push buttonCODA_PUSH_A_BUTTONdocId, tableIdOrName, rowIdOrName, columnIdOrName
List formulasCODA_LIST_FORMULASdocId
Get formulaCODA_GET_A_FORMULAdocId, formulaIdOrName
Begin exportCODA_BEGIN_CONTENT_EXPORTdocId, outputFormat
Export statusCODA_CONTENT_EXPORT_STATUSdocId, requestId
Get sharingCODA_GET_SHARING_METADATAdocId
Add permissionCODA_ADD_PERMISSIONdocId, access, principal
Publish docCODA_PUBLISH_DOCdocId, slug
Unpublish docCODA_UNPUBLISH_DOCdocId
List packsCODA_LIST_PACKS(none)

Powered by Composio
任务工具标识关键参数
搜索文档CODA_SEARCH_DOCSquery
列出文档CODA_LIST_AVAILABLE_DOCSisOwner
解析URLCODA_RESOLVE_BROWSER_LINKurl
列出页面CODA_LIST_PAGESdocId
获取页面信息CODA_GET_A_PAGEdocId, pageIdOrName
列出表格CODA_LIST_TABLESdocId
列出列CODA_LIST_COLUMNSdocId, tableIdOrName
列出行CODA_LIST_TABLE_ROWSdocId, tableIdOrName
搜索行CODA_SEARCH_ROWdocId, tableIdOrName, query
获取行信息CODA_GET_A_ROWdocId, tableIdOrName, rowIdOrName
插入/更新行CODA_UPSERT_ROWSdocId, tableIdOrName, rows, keyColumns
获取列信息CODA_GET_A_COLUMNdocId, tableIdOrName, columnIdOrName
触发按钮CODA_PUSH_A_BUTTONdocId, tableIdOrName, rowIdOrName, columnIdOrName
列出公式CODA_LIST_FORMULASdocId
获取公式值CODA_GET_A_FORMULAdocId, formulaIdOrName
启动导出CODA_BEGIN_CONTENT_EXPORTdocId, outputFormat
导出状态查询CODA_CONTENT_EXPORT_STATUSdocId, requestId
获取共享设置CODA_GET_SHARING_METADATAdocId
添加权限CODA_ADD_PERMISSIONdocId, access, principal
发布文档CODA_PUBLISH_DOCdocId, slug
取消发布CODA_UNPUBLISH_DOCdocId
列出扩展包CODA_LIST_PACKS(无)

Composio 提供支持