productivity
Coda CLI for AI Agents
Use the Coda CLI from KosmoKrator to call Coda tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Coda CLI Setup
Coda can be configured headlessly with `kosmokrator integrations:configure coda`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure coda --set api_token="$CODA_API_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor coda --json
kosmokrator integrations:status --json Credentials
Authentication type: API token api_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
api_token | CODA_API_TOKEN | Secret secret | yes | API Token |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call coda.coda_list_docs '{"query":"example_query","isOwner":true,"limit":1}' --json kosmo integrations:coda coda_list_docs '{"query":"example_query","isOwner":true,"limit":1}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs coda --json
kosmo integrations:docs coda.coda_list_docs --json
kosmo integrations:schema coda.coda_list_docs --json
kosmo integrations:search "Coda" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
coda.coda_list_docs
List Coda docs accessible to the authenticated user. Optionally filter by name or ownership.
read - Parameters
- query, isOwner, limit
kosmo integrations:call coda.coda_list_docs '{"query":"example_query","isOwner":true,"limit":1}' --json kosmo integrations:coda coda_list_docs '{"query":"example_query","isOwner":true,"limit":1}' --json coda.coda_get_doc
Get details of a specific Coda doc by its ID.
read - Parameters
- doc_id
kosmo integrations:call coda.coda_get_doc '{"doc_id":"example_doc_id"}' --json kosmo integrations:coda coda_get_doc '{"doc_id":"example_doc_id"}' --json coda.coda_list_tables
List tables in a Coda doc. Returns table IDs, names, and display types.
read - Parameters
- doc_id, limit
kosmo integrations:call coda.coda_list_tables '{"doc_id":"example_doc_id","limit":1}' --json kosmo integrations:coda coda_list_tables '{"doc_id":"example_doc_id","limit":1}' --json coda.coda_get_table
Get details of a specific table in a Coda doc, including its columns and display column.
read - Parameters
- doc_id, table_id
kosmo integrations:call coda.coda_get_table '{"doc_id":"example_doc_id","table_id":"example_table_id"}' --json kosmo integrations:coda coda_get_table '{"doc_id":"example_doc_id","table_id":"example_table_id"}' --json coda.coda_list_rows
List rows in a Coda table. Use useColumnNames=true to get values keyed by human-readable column names instead of column IDs.
read - Parameters
- doc_id, table_id, limit, useColumnNames
kosmo integrations:call coda.coda_list_rows '{"doc_id":"example_doc_id","table_id":"example_table_id","limit":1,"useColumnNames":true}' --json kosmo integrations:coda coda_list_rows '{"doc_id":"example_doc_id","table_id":"example_table_id","limit":1,"useColumnNames":true}' --json coda.coda_get_row
Get a single row from a Coda table by its row ID.
read - Parameters
- doc_id, table_id, row_id, useColumnNames
kosmo integrations:call coda.coda_get_row '{"doc_id":"example_doc_id","table_id":"example_table_id","row_id":"example_row_id","useColumnNames":true}' --json kosmo integrations:coda coda_get_row '{"doc_id":"example_doc_id","table_id":"example_table_id","row_id":"example_row_id","useColumnNames":true}' --json coda.coda_insert_rows
Insert one or more new rows into a Coda table. Each row should have a "cells" array with column/value pairs.
write - Parameters
- doc_id, table_id, rows
kosmo integrations:call coda.coda_insert_rows '{"doc_id":"example_doc_id","table_id":"example_table_id","rows":"example_rows"}' --json kosmo integrations:coda coda_insert_rows '{"doc_id":"example_doc_id","table_id":"example_table_id","rows":"example_rows"}' --json coda.coda_update_row
Update cells in an existing row in a Coda table. Provide a cells array with column/value pairs to update.
write - Parameters
- doc_id, table_id, row_id, cells
kosmo integrations:call coda.coda_update_row '{"doc_id":"example_doc_id","table_id":"example_table_id","row_id":"example_row_id","cells":"example_cells"}' --json kosmo integrations:coda coda_update_row '{"doc_id":"example_doc_id","table_id":"example_table_id","row_id":"example_row_id","cells":"example_cells"}' --json coda.coda_delete_row
Delete a row from a Coda table. This action is permanent.
write - Parameters
- doc_id, table_id, row_id
kosmo integrations:call coda.coda_delete_row '{"doc_id":"example_doc_id","table_id":"example_table_id","row_id":"example_row_id"}' --json kosmo integrations:coda coda_delete_row '{"doc_id":"example_doc_id","table_id":"example_table_id","row_id":"example_row_id"}' --json coda.coda_list_columns
List columns in a Coda table. Useful to discover column names and types before querying or inserting rows.
read - Parameters
- doc_id, table_id, limit
kosmo integrations:call coda.coda_list_columns '{"doc_id":"example_doc_id","table_id":"example_table_id","limit":1}' --json kosmo integrations:coda coda_list_columns '{"doc_id":"example_doc_id","table_id":"example_table_id","limit":1}' --json coda.coda_list_pages
List pages in a Coda doc. Pages can contain text, tables, and other content.
read - Parameters
- doc_id, limit
kosmo integrations:call coda.coda_list_pages '{"doc_id":"example_doc_id","limit":1}' --json kosmo integrations:coda coda_list_pages '{"doc_id":"example_doc_id","limit":1}' --json coda.coda_get_current_user
Verify Coda authentication and get the current user's profile information.
read - Parameters
- none
kosmo integrations:call coda.coda_get_current_user '{}' --json kosmo integrations:coda coda_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
coda.coda_list_docs 3 parameters
kosmo integrations:schema coda.coda_list_docs --json | Parameter | Type | Required | Description |
|---|---|---|---|
query | string | no | Search query to filter docs by name. |
isOwner | boolean | no | If true, only return docs owned by the user. |
limit | integer | no | Maximum number of docs to return (default: 20, max: 100). |
coda.coda_get_doc 1 parameters
kosmo integrations:schema coda.coda_get_doc --json | Parameter | Type | Required | Description |
|---|---|---|---|
doc_id | string | yes | The ID of the doc to retrieve. |
coda.coda_list_tables 2 parameters
kosmo integrations:schema coda.coda_list_tables --json | Parameter | Type | Required | Description |
|---|---|---|---|
doc_id | string | yes | The ID of the doc. |
limit | integer | no | Maximum number of tables to return (default: 20, max: 100). |
coda.coda_get_table 2 parameters
kosmo integrations:schema coda.coda_get_table --json | Parameter | Type | Required | Description |
|---|---|---|---|
doc_id | string | yes | The ID of the doc. |
table_id | string | yes | The ID or name of the table. |
coda.coda_list_rows 4 parameters
kosmo integrations:schema coda.coda_list_rows --json | Parameter | Type | Required | Description |
|---|---|---|---|
doc_id | string | yes | The ID of the doc. |
table_id | string | yes | The ID or name of the table. |
limit | integer | no | Maximum number of rows to return (default: 20, max: 1000). |
useColumnNames | boolean | no | If true, return values keyed by column names instead of column IDs (default: true). |
coda.coda_get_row 4 parameters
kosmo integrations:schema coda.coda_get_row --json | Parameter | Type | Required | Description |
|---|---|---|---|
doc_id | string | yes | The ID of the doc. |
table_id | string | yes | The ID or name of the table. |
row_id | string | yes | The ID of the row to retrieve. |
useColumnNames | boolean | no | If true, return values keyed by column names instead of column IDs (default: true). |
coda.coda_insert_rows 3 parameters
kosmo integrations:schema coda.coda_insert_rows --json | Parameter | Type | Required | Description |
|---|---|---|---|
doc_id | string | yes | The ID of the doc. |
table_id | string | yes | The ID or name of the table. |
rows | array | yes | Array of row objects. Each row should be {"cells": [{"column": "col-name-or-id", "value": "the-value"}]}. |
coda.coda_update_row 4 parameters
kosmo integrations:schema coda.coda_update_row --json | Parameter | Type | Required | Description |
|---|---|---|---|
doc_id | string | yes | The ID of the doc. |
table_id | string | yes | The ID or name of the table. |
row_id | string | yes | The ID of the row to update. |
cells | array | yes | Array of cell objects to update, e.g. [{"column": "col-name-or-id", "value": "new-value"}]. |
coda.coda_delete_row 3 parameters
kosmo integrations:schema coda.coda_delete_row --json | Parameter | Type | Required | Description |
|---|---|---|---|
doc_id | string | yes | The ID of the doc. |
table_id | string | yes | The ID or name of the table. |
row_id | string | yes | The ID of the row to delete. |
coda.coda_list_columns 3 parameters
kosmo integrations:schema coda.coda_list_columns --json | Parameter | Type | Required | Description |
|---|---|---|---|
doc_id | string | yes | The ID of the doc. |
table_id | string | yes | The ID or name of the table. |
limit | integer | no | Maximum number of columns to return (default: 20, max: 100). |
coda.coda_list_pages 2 parameters
kosmo integrations:schema coda.coda_list_pages --json | Parameter | Type | Required | Description |
|---|---|---|---|
doc_id | string | yes | The ID of the doc. |
limit | integer | no | Maximum number of pages to return (default: 20, max: 100). |
coda.coda_get_current_user 0 parameters
kosmo integrations:schema coda.coda_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.