coda-automation
通过Rube MCP(Composio)自动化Coda任务:管理文档、页面、表格、行、公式、权限及发布操作。始终优先使用工具搜索当前架构。
Coda Automation via Rube MCP
Automate Coda document and data operations through Composio's Coda toolkit via Rube MCP.
Prerequisites
RUBE_MANAGE_CONNECTIONS with toolkit codaRUBE_SEARCH_TOOLS first to get current tool schemasSetup
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.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit codaCore Workflows
1. Search and Browse Documents
When to use: User wants to find, list, or inspect Coda documents
Tool sequence:
CODA_SEARCH_DOCS or CODA_LIST_AVAILABLE_DOCS - Find documents [Required]CODA_RESOLVE_BROWSER_LINK - Resolve a Coda URL to doc/page/table IDs [Alternative]CODA_LIST_PAGES - List pages within a document [Optional]CODA_GET_A_PAGE - Get specific page details [Optional]Key parameters:
query: Search term for finding documentsisOwner: Filter to docs owned by the userdocId: Document ID for page operationspageIdOrName: Page identifier or nameurl: Browser URL for resolve operationsPitfalls:
CODA_RESOLVE_BROWSER_LINK is the best way to convert a Coda URL to API IDs2. Work with Tables and Data
When to use: User wants to read, write, or query table data
Tool sequence:
CODA_LIST_TABLES - List tables in a document [Prerequisite]CODA_LIST_COLUMNS - Get column definitions for a table [Prerequisite]CODA_LIST_TABLE_ROWS - List all rows with optional filters [Required]CODA_SEARCH_ROW - Search for specific rows by query [Alternative]CODA_GET_A_ROW - Get a specific row by ID [Optional]CODA_UPSERT_ROWS - Insert or update rows in a table [Optional]CODA_GET_A_COLUMN - Get details of a specific column [Optional]Key parameters:
docId: Document ID containing the tabletableIdOrName: Table identifier or namequery: Filter query for searching rowsrows: Array of row objects for upsert operationskeyColumns: Column IDs used for matching during upsertsortBy: Column to sort results byuseColumnNames: Use column names instead of IDs in row dataPitfalls:
CODA_UPSERT_ROWS does insert if no match on keyColumns, update if match foundkeyColumns must reference columns that have unique values for reliable upsertsuseColumnNames: true allows using human-readable names in row data3. Manage Formulas
When to use: User wants to list or evaluate formulas in a document
Tool sequence:
CODA_LIST_FORMULAS - List all named formulas in a doc [Required]CODA_GET_A_FORMULA - Get a specific formula's current value [Optional]Key parameters:
docId: Document IDformulaIdOrName: Formula identifier or namePitfalls:
4. Export Document Content
When to use: User wants to export a document or page to HTML or Markdown
Tool sequence:
CODA_BEGIN_CONTENT_EXPORT - Start an export job [Required]CODA_CONTENT_EXPORT_STATUS - Poll export status until complete [Required]Key parameters:
docId: Document ID to exportoutputFormat: Export format ('html' or 'markdown')pageIdOrName: Specific page to export (optional, omit for full doc)requestId: Export request ID for status pollingPitfalls:
status is 'complete'5. Manage Permissions and Sharing
When to use: User wants to view or manage document access
Tool sequence:
CODA_GET_SHARING_METADATA - View current sharing settings [Required]CODA_GET_ACL_SETTINGS - Get access control list settings [Optional]CODA_ADD_PERMISSION - Grant access to a user or email [Optional]Key parameters:
docId: Document IDaccess: Permission level ('readonly', 'write', 'comment')principal: Object with email or user ID of the recipientsuppressEmail: Whether to skip the sharing notification emailPitfalls:
suppressEmail to prevent6. Publish and Customize Documents
When to use: User wants to publish a document or manage custom domains
Tool sequence:
CODA_PUBLISH_DOC - Publish a document publicly [Required]CODA_UNPUBLISH_DOC - Unpublish a document [Optional]CODA_ADD_CUSTOM_DOMAIN - Add a custom domain for published doc [Optional]CODA_GET_DOC_CATEGORIES - Get doc categories for discovery [Optional]Key parameters:
docId: Document IDslug: Custom URL slug for the published doccategoryIds: Category IDs for discoverabilityPitfalls:
Common Patterns
ID Resolution
Doc URL -> Doc ID:
1. Call CODA_RESOLVE_BROWSER_LINK with the Coda URL
Extract docId from the response Table name -> Table ID:
1. Call CODA_LIST_TABLES with docId
Find table by name, extract id Column name -> Column ID:
1. Call CODA_LIST_COLUMNS with docId and tableIdOrName
Find column by name, extract id Pagination
pageTokennextPageTokenpageToken in next request until absentRow Upsert Pattern
1. Call CODA_LIST_COLUMNS to get column IDs
Build row objects with column ID keys and values
Set keyColumns to unique identifier column(s)
Call CODA_UPSERT_ROWS with rows and keyColumns Known Pitfalls
ID Formats:
Data Types:
Rate Limits:
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) |