docsoauth2

Coda

Docs that act like apps.

Verdict

Coda brings your team's docs, tables, and automations into Switchy. @mention it to query rows, update cells, trigger automations, or export content without leaving the conversation. Product managers pull roadmap status from living tables; support teams log tickets into Coda databases; ops folks duplicate docs for new projects. Auth grants read and write access across your workspace, so confirm your team's comfortable with that scope before connecting. Most valuable when your source-of-truth lives in Coda and you want AI to read or write it on demand.

Common use cases

  • Pull roadmap status into sprint planning
  • Log support tickets to Coda tracker
  • Duplicate project templates for new clients
  • Query sales pipeline without opening tabs
  • Trigger automations from chat commands

Integration

Vendor
Coda
Category
docs
Auth
OAUTH2
Tools
50
Composio slug
coda

Tools

  • Add a category for pack

    Add a publishing category for a given pack.

  • Add a maker for pack

    Set a maker for a given pack. used to display makers for a pack in the corresponding packs page.

  • Add a permission for pack

    Create or modify user, workspace, or global permissions for a given pack.

  • Add custom domain

    Add a custom domain to a published doc.

  • Add permission

    Adds a new permission to the doc.

  • Begin content export

    Initiate an export of content for the given page.

  • Content export status

    Check the status of a page content export

  • Copy Document

    Creates a copy of an existing coda document. this action allows you to duplicate a document while optionally specifying a new title and location for the copied document.

  • Create a new pack release

    Creates a new pack release based on an existing pack version.

  • Create a page

    Create a new page in a doc. note that creating a page requires you to be a doc maker in the applicable workspace.

  • Create doc

    Creates a new coda doc, optionally copying an existing doc. note that creating a doc requires you to be a doc maker in the applicable workspace (or be auto-promoted to one).

  • Create pack

    Creates a new pack, essentially registering a new pack id. the contents of the pack will be uploaded separately.

  • Delete a category for pack
    destructive

    Delete a publishing category for a given pack.

  • Delete a maker for pack
    destructive

    Delete a maker for a given pack, who will not be displayed in the corresponding packs page.

  • Delete a page
    destructive

    Deletes the specified page.

  • Delete a permission for pack
    destructive

    Delete user, workspace, or global permissions for a given pack.

  • Delete doc
    destructive

    Deletes a doc.

  • Delete multiple rows
    destructive

    Deletes the specified rows from the table or view. this endpoint will always return a 202. row deletions are generally processed within several seconds.

  • Delete pack
    destructive

    Delete a given pack.

  • Delete permission
    destructive

    Deletes an existing permission.

  • Delete row
    destructive

    Deletes the specified row from the table or view. this endpoint will always return a 202, so long as the row exists and is accessible (and the update is structurally valid). row deletions are generally processed within several seconds. when

  • Deletes a custom domain

    Deletes a custom domain from a published doc.

  • Fetch grouped logs by pack org root ingestion id

    Retrieve the grouped logs of a pack for debugging purpose.

  • Fetch ingestion executions for pack

    Retrieve the ingestion execution ids of a root ingestion for debugging purpose.

  • Get acl settings

    Returns settings associated with acls for this coda doc.

  • Get a column

    Returns details about a column in a table.

  • Get a control

    Returns info on a control.

  • Get a formula

    Returns info on a formula.

  • Get analytics last updated day

    Returns days based on pacific standard time when analytics were last updated.

  • Get a page

    Returns details about a page.

  • Get a row

    Returns details about a row in a table.

  • Get a single pack

    Returns a single pack.

  • Get a table

    Returns details about a specific table or view.

  • Get detailed listing information for a pack

    Get detailed listing information for a pack.

  • Get doc analytics summary

    Returns summarized analytics data for available docs.

  • Get doc categories

    Gets all available doc categories.

  • Get info about a doc

    Returns metadata for the specified doc.

  • Get mutation status

    Get the status for an asynchronous mutation to know whether or not it has been completed. each api endpoint that mutates a document will return a request id that you can pass to this endpoint to check the completion status. status informati

  • Get pack analytics summary

    Returns summarized analytics data for packs the user can edit.

  • Gets custom doc domains providers

    Gets the provider (ie. godaddy) of a custom domain.

  • Get sharing metadata

    Returns metadata associated with sharing for this coda doc.

  • Gets the json schema for pack configuration

    Returns a json schema applicable for customizing the pack using pack configurations.

  • Get the difference between two pack versions

    Gets information about the difference between the specified previous version and next version of a pack.

  • Get the next valid version for a pack

    Get the next valid version based on the proposed metadata.

  • Get the source code for a pack version

    Get temporary links used to download the source code for the given packid and version

  • Get user info

    Returns basic info about the current user.

  • List available docs

    Returns a list of coda docs accessible by the user, and which they have opened at least once. these are returned in the same order as on the docs page: reverse chronological by the latest event relevant to the user (last viewed, edited, or

  • List categories for pack

    List publishing categories for a given pack.

  • List columns

    Returns a list of columns in a table.

  • List controls

    Returns a list of controls in a coda doc.

Setup

Setup guide

  1. 1Open your Switchy workspace and navigate to Settings, then Integrations. Find Coda in the list and click Connect. You'll redirect to Coda's OAuth consent screen—sign in with the account that has access to the docs and tables you want Switchy to reach. Grant the requested permissions, which include reading doc structure, querying tables, updating rows, managing permissions, and triggering automations. After you authorize, Switchy confirms the connection and shows a green checkmark. Return to any Space and type @Coda followed by a request like 'show me the top five rows in the Roadmap table' to test. If the MCP responds with data, you're live. If it errors, revisit Settings to confirm the OAuth token didn't expire and that the doc you're querying allows API access in its sharing settings.

What teammates see: by default, memories from Coda are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

Compatibility data appears once enough Spaces have used this MCP together with a given model.

How Switchy teams use it

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

Starter prompts

Roadmap Status Check

@Coda show me the five most recently updated rows in the Product Roadmap table, including Status and Owner columns.
Open in a Space →

Add Support Ticket

@Coda add a row to the Support Tickets table with Title 'Login issue on mobile', Priority 'High', and Assignee 'Jordan'.
Open in a Space →

Clone Project Doc

@Coda copy the 'Client Onboarding Template' doc and name the new copy 'Acme Corp Onboarding'.
Open in a Space →

Export Page Content

@Coda begin a content export for the 'Q1 Retrospective' page and let me know when it's ready.
Open in a Space →

Grant Doc Access

@Coda add sam@company.com as an editor on the 'Marketing Calendar' doc.
Open in a Space →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@Coda list all tables in the 'Q1 Planning' doc and show me the row count for each one

Output

Found 4 tables in 'Q1 Planning': 'Feature Roadmap' (23 rows), 'Budget Tracker' (8 rows), 'Team Capacity' (12 rows), and 'Risk Register' (5 rows). The Feature Roadmap table was last modified 2 hours ago and contains columns for Priority, Owner, Status, and Target Date. Budget Tracker includes actual vs. planned spend with formulas calculating variance.

Notes

This read-heavy example shows the MCP's ability to introspect doc structure without opening the Coda UI. Requires API key with read access to the specified doc. Response time depends on doc size; large docs with hundreds of tables may take 3-5 seconds to enumerate.

Prompt

@Coda add a new row to the 'Feature Roadmap' table: Feature name 'Dark mode toggle', Priority 'High', Owner 'Sarah Chen', Status 'Backlog'

Output

Successfully added row to 'Feature Roadmap' in the Q1 Planning doc. New row ID: i-abc123XYZ. The row was inserted with Feature='Dark mode toggle', Priority='High', Owner='Sarah Chen', Status='Backlog', and Target Date left blank. Note that any automation rules or buttons configured in this table will not trigger via API—only manual edits in the Coda UI fire those.

Notes

This write example demonstrates direct table manipulation. The MCP returns a row ID you can reference in follow-up prompts. Be aware: Coda's API does not trigger Pack automations, buttons, or cross-doc syncs. If your table has complex formulas or lookups, verify the new row's calculated fields in the UI after creation.

Prompt

@Coda read all rows from 'Risk Register' where Status is 'Open', then draft a summary email highlighting the top 3 risks by severity

Output

Retrieved 3 open risks from Risk Register: (1) 'API rate limit breach' (Severity: Critical, Owner: Dev Ops), (2) 'Delayed vendor contract' (Severity: High, Owner: Legal), (3) 'Insufficient QA coverage' (Severity: High, Owner: QA Lead). Draft email: 'Team—three open risks need immediate attention this week. Critical: API rate limits are at 87% utilization; Dev Ops is evaluating caching strategies. High priority: vendor contract delayed by 10 days, Legal is expediting review. High priority: QA coverage gaps identified in the checkout flow; QA Lead scheduling additional test cycles.'

Notes

This synthesis example pairs the MCP's data retrieval with the AI's summarization. The AI interprets severity rankings and composes prose—useful for standup prep or stakeholder updates. Accuracy depends on your table schema; if column names differ ('Priority' vs 'Severity'), specify them in your prompt to avoid misreads.

Use-case deep-dives

Client deliverable template duplication

When Coda MCP beats manual doc setup for agencies

A 6-person consulting shop closes 3-4 new clients a month, each needing a project tracker, onboarding checklist, and status dashboard. The Coda MCP's 'Copy Document' tool lets them script the entire setup: duplicate the master template, rename it with the client name, set permissions for the client contact, and add the custom domain if they're on a white-label tier. This cuts onboarding from 20 minutes of clicking to 90 seconds of running a prompt. The break-even is around 2 new clients per month—below that, the API key overhead isn't worth it. If your templates need more than doc-level customization (like pre-filling table rows with CRM data), you'll hit the 50-tool ceiling fast and need to chain multiple calls. For pure template stamping at small-team scale, this MCP is the right call.

Weekly sprint doc refresh

Coda MCP for recurring team ritual automation

A 10-person product team runs two-week sprints and resets their sprint planning doc every Monday: archive last sprint's page, export it for the retro, create a new page from template, and notify the team in Slack. The Coda MCP handles the export ('Begin content export', 'Content export status') and page duplication in one workflow. The API key auth means any team member can trigger it from Switchy without individual OAuth. The trade-off: if your sprint doc has complex conditional formatting or cross-doc syncs, the MCP can't replicate those—it's a structural copy, not a logic clone. This works best when your template is data-light and your cadence is predictable. For teams running sprints shorter than a week or with more than 15 active docs, the manual coordination cost drops below the automation threshold.

Partner pack permission management

When Coda MCP scales pack distribution for SaaS teams

A 12-person SaaS company built a Coda Pack for their API and distributes it to 40+ integration partners. Each new partner needs workspace-level permissions added, and each quarter they audit and revoke access for churned accounts. The Coda MCP's 'Add a permission for pack' and related pack tools let them script the entire lifecycle: onboard a partner with one prompt, bulk-revoke at quarter-end, and log every change for compliance. The 50-tool limit isn't a blocker here because pack management is a narrow domain. The constraint: if you're managing permissions across more than 10 packs simultaneously, the API rate limits (not documented in the MCP schema) will slow you down. For single-pack distribution at mid-market scale, this MCP eliminates the spreadsheet tracking and manual Coda UI work. If you're not publishing packs, ignore this scenario entirely.

Frequently asked

What can the Coda MCP do in Switchy?

The Coda MCP lets your team create, copy, and manage Coda docs and packs directly from Switchy. It handles permissions, custom domains, content exports, and pack publishing workflows. You can automate doc creation, bulk-update permissions, or trigger exports without opening Coda's UI. It's built for teams that treat Coda as their system of record and want programmatic control.

Do I need a Coda API key to connect this MCP?

Yes. You'll generate an API key from your Coda account settings and paste it into Switchy during setup. The key inherits your Coda permissions, so if you're a doc maker or workspace admin, the MCP can manage packs and permissions. If you're a doc editor, it's limited to reading and editing content. One key per Switchy workspace is typical.

Can the Coda MCP edit tables and formulas inside docs?

No. The MCP focuses on document-level operations—copying docs, managing permissions, exporting content, publishing packs. It doesn't manipulate rows, columns, or formulas within tables. For that, use Coda's native automations or the Coda API directly. This MCP is for doc orchestration, not cell-level edits.

How is this different from using Coda's API directly?

The MCP wraps Coda's API into 50 natural-language tools that Switchy's AI can call without you writing code. Instead of crafting HTTP requests and parsing JSON, you describe what you want—'copy this doc and add Sarah as an editor'—and the MCP handles the API calls. It's faster for ad-hoc tasks; the raw API is better for custom integrations.

Who on the team should connect the Coda MCP?

Whoever owns your Coda workspace or manages doc permissions. That person's API key determines what the MCP can access. If you connect it with a doc maker's key, the whole team can publish packs and manage permissions through Switchy. If you use an editor's key, it's read-and-edit only. One connection per workspace is standard.

Compare with

Compare with anything else →
Data last verified 7 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.