Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Coda

Scalekit connector
Open markdown

The Coda connector lets your AI agent act in each user's Coda account. Each user connects their own Coda access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 37 tools.

Tools
37
What they doRead · write · destructive
26 · 11 · 026 read11 write0 destructive
Users sign in with

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Coda connection

    In AgentKit > Connections, create a Coda connection. The name you give it is the connection_name your code passes. See Configure connections.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'coda'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Coda:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'coda_current_user_get',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their Coda credentials there. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • coda_column_getGet details about one column in a Coda table or view.Read-only

    Get Column

    Get details about one column in a Coda table or view. Returns the column's id, name, whether it is the display column, whether it is calculated and its formula, default value, format (type and options), and parent table. Use coda_column_get for one column's type and settings. Use coda_columns_list to see all columns in a table.

    Inputs

    column_id_or_namestringrequired
    ID of the column, e.g. c-tuVwxYz. Get it from coda_columns_list. A column name also works, but Coda discourages names because users can rename columns.
    doc_idstringrequired
    ID of the Coda doc. Get it from coda_docs_list, or from the doc's URL: it is the part after `_d` in a link like https://coda.io/d/Project-Tracker_dAbCDeFGH (here AbCDeFGH).
    table_id_or_namestringrequired
    ID of the table or view, e.g. grid-pqRst-U. Get it from coda_tables_list. A table name also works, but Coda discourages names because users can rename tables.
  • coda_columns_listList the columns of a table or view in a Coda doc.Read-only

    List Columns

    List the columns of a table or view in a Coda doc. Returns a page of columns with each column's id, name, whether it is the display column, whether it is calculated (and its formula), default value and format, plus nextPageToken when more exist. Use coda_columns_list to find column IDs before reading or writing rows. Use coda_column_get for one column's details.

    Inputs

    doc_idstringrequired
    ID of the Coda doc. Get it from coda_docs_list, or from the doc's URL: it is the part after `_d` in a link like https://coda.io/d/Project-Tracker_dAbCDeFGH (here AbCDeFGH).
    table_id_or_namestringrequired
    ID of the table or view, e.g. grid-pqRst-U. Get it from coda_tables_list. A table name also works, but Coda discourages names because users can rename tables.
    limitinteger
    Maximum number of results to return in one page. Defaults to 25. Maximum 100. Example: 10.default 25
    page_tokenstring
    Opaque token for the next page of results. Pass the nextPageToken value from the previous response; leave empty for the first page.
    visible_onlyboolean
    If true, return only visible columns. Applies to base tables only, not views. Defaults to false.
  • coda_control_getGet one control in a Coda doc, including its type and current value.Read-only

    Get Control

    Get one control in a Coda doc, including its type and current value. Returns the control's id, name, parent page, control type (such as button, slider, select or date picker) and value. Use coda_control_get to read a control's current value. Use coda_controls_list to find the control ID.

    Inputs

    control_id_or_namestringrequired
    ID of the control, e.g. ctrl-cDefGhij. Get it from coda_controls_list. A control name also works, but Coda discourages names because users can rename controls.
    doc_idstringrequired
    ID of the Coda doc. Get it from coda_docs_list, or from the doc's URL: it is the part after `_d` in a link like https://coda.io/d/Project-Tracker_dAbCDeFGH (here AbCDeFGH).
  • coda_controls_listList the controls (buttons, sliders, select lists, date pickers and other inputs) in a Coda doc.Read-only

    List Controls

    List the controls (buttons, sliders, select lists, date pickers and other inputs) in a Coda doc. Returns a page of controls with each control's id, name and parent page, plus nextPageToken when more exist. Use coda_controls_list to find a control ID. Use coda_control_get to read a control's type and current value.

    Inputs

    doc_idstringrequired
    ID of the Coda doc. Get it from coda_docs_list, or from the doc's URL: it is the part after `_d` in a link like https://coda.io/d/Project-Tracker_dAbCDeFGH (here AbCDeFGH).
    limitinteger
    Maximum number of results to return in one page. Defaults to 25. Example: 10.default 25
    page_tokenstring
    Opaque token for the next page of results. Pass the nextPageToken value from the previous response; leave empty for the first page.
    sort_bystring
    Sort order for the results. The only supported value is `name` (alphabetical). Leave empty for the default order.one of name
  • coda_current_user_getGet the Coda user that the connected API token belongs to.Read-only

    Get Current User

    Get the Coda user that the connected API token belongs to. Returns the user's name, email login, picture link, home workspace, the token's name, and whether the token is scoped (restricted to certain docs or to read-only access). Use coda_current_user_get to confirm which account is connected or to get the user's workspace ID for coda_folder_create or coda_docs_list.

    Inputs

    This tool takes no inputs.

  • coda_doc_acl_settings_getGet a Coda doc's doc-wide sharing settings.Read-only

    Get Doc ACL Settings

    Get a Coda doc's doc-wide sharing settings. Returns whether editors can change permissions, whether viewers can copy the doc, and whether viewers can request editing access. Use coda_doc_acl_settings_get for doc-wide sharing rules. Use coda_doc_permissions_list for the individual people and groups with access.

    Inputs

    doc_idstringrequired
    ID of the Coda doc. Get it from coda_docs_list, or from the doc's URL: it is the part after `_d` in a link like https://coda.io/d/Project-Tracker_dAbCDeFGH (here AbCDeFGH).
  • coda_doc_getGet metadata for one Coda doc by its ID.Read-only

    Get Doc

    Get metadata for one Coda doc by its ID. Returns the doc's id, name, owner, browser link, icon, created and updated times, folder, workspace, publishing settings, and size counts (pages, tables, rows). Use coda_doc_get when you already have a doc ID. Use coda_docs_list to find a doc by name or browse the docs you can access.

    Inputs

    doc_idstringrequired
    ID of the Coda doc. Get it from coda_docs_list, or from the doc's URL: it is the part after `_d` in a link like https://coda.io/d/Project-Tracker_dAbCDeFGH (here AbCDeFGH).