KosmoKrator

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, configure, and verify
# 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.

KeyEnv varTypeRequiredLabel
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.

Generic CLI call
kosmo integrations:call coda.coda_list_docs '{"query":"example_query","isOwner":true,"limit":1}' --json
Provider shortcut
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.

Discovery commands
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 read
Parameters
query, isOwner, limit
Generic call
kosmo integrations:call coda.coda_list_docs '{"query":"example_query","isOwner":true,"limit":1}' --json
Shortcut
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 read
Parameters
doc_id
Generic call
kosmo integrations:call coda.coda_get_doc '{"doc_id":"example_doc_id"}' --json
Shortcut
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 read
Parameters
doc_id, limit
Generic call
kosmo integrations:call coda.coda_list_tables '{"doc_id":"example_doc_id","limit":1}' --json
Shortcut
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 read
Parameters
doc_id, table_id
Generic call
kosmo integrations:call coda.coda_get_table '{"doc_id":"example_doc_id","table_id":"example_table_id"}' --json
Shortcut
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 read
Parameters
doc_id, table_id, limit, useColumnNames
Generic call
kosmo integrations:call coda.coda_list_rows '{"doc_id":"example_doc_id","table_id":"example_table_id","limit":1,"useColumnNames":true}' --json
Shortcut
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 read
Parameters
doc_id, table_id, row_id, useColumnNames
Generic call
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
Shortcut
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 write
Parameters
doc_id, table_id, rows
Generic call
kosmo integrations:call coda.coda_insert_rows '{"doc_id":"example_doc_id","table_id":"example_table_id","rows":"example_rows"}' --json
Shortcut
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 write
Parameters
doc_id, table_id, row_id, cells
Generic call
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
Shortcut
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 write
Parameters
doc_id, table_id, row_id
Generic call
kosmo integrations:call coda.coda_delete_row '{"doc_id":"example_doc_id","table_id":"example_table_id","row_id":"example_row_id"}' --json
Shortcut
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 read
Parameters
doc_id, table_id, limit
Generic call
kosmo integrations:call coda.coda_list_columns '{"doc_id":"example_doc_id","table_id":"example_table_id","limit":1}' --json
Shortcut
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 read
Parameters
doc_id, limit
Generic call
kosmo integrations:call coda.coda_list_pages '{"doc_id":"example_doc_id","limit":1}' --json
Shortcut
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 read
Parameters
none
Generic call
kosmo integrations:call coda.coda_get_current_user '{}' --json
Shortcut
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
Schema command
kosmo integrations:schema coda.coda_list_docs --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema coda.coda_get_doc --json
ParameterTypeRequiredDescription
doc_id string yes The ID of the doc to retrieve.
coda.coda_list_tables 2 parameters
Schema command
kosmo integrations:schema coda.coda_list_tables --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema coda.coda_get_table --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema coda.coda_list_rows --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema coda.coda_get_row --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema coda.coda_insert_rows --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema coda.coda_update_row --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema coda.coda_delete_row --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema coda.coda_list_columns --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema coda.coda_list_pages --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema coda.coda_get_current_user --json
ParameterTypeRequiredDescription
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.