coda-automation
Automate Coda tasks via Rube MCP (Composio): manage docs, pages, tables, rows, formulas, permissions, and publishing. Always search tools first for current schemas.
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) |