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 use the same stored profile from
scripts, coding CLIs, Lua code mode, and the MCP gateway.
Call Coda Headlessly Use the generic call form when another coding CLI or script needs a stable universal interface.
kosmo integrations:call coda.coda_list_docs '{
"query": "example_query",
"isOwner": true,
"limit": 1
}' --json Use the provider shortcut form for shorter human-facing commands.
kosmo integrations:coda coda_list_docs '{
"query": "example_query",
"isOwner": true,
"limit": 1
}' --json Agent Discovery Commands
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 All CLI Functions
Every function below can be called headlessly. The generic form is stable across all integrations;
the provider shortcut is shorter but specific to Coda.
coda.coda_list_docs Read read List Coda docs accessible to the authenticated user. Optionally filter by name or ownership.
query, isOwner, limit kosmo integrations:call coda.coda_list_docs '{"query":"example_query","isOwner":true,"limit":1}' --json copy kosmo integrations:coda coda_list_docs '{"query":"example_query","isOwner":true,"limit":1}' --json copy
coda.coda_get_doc Read read Get details of a specific Coda doc by its ID.
doc_id kosmo integrations:call coda.coda_get_doc '{"doc_id":"example_doc_id"}' --json copy kosmo integrations:coda coda_get_doc '{"doc_id":"example_doc_id"}' --json copy
coda.coda_list_tables Read read List tables in a Coda doc. Returns table IDs, names, and display types.
doc_id, limit kosmo integrations:call coda.coda_list_tables '{"doc_id":"example_doc_id","limit":1}' --json copy kosmo integrations:coda coda_list_tables '{"doc_id":"example_doc_id","limit":1}' --json copy
coda.coda_get_table Read read Get details of a specific table in a Coda doc, including its columns and display column.
doc_id, table_id kosmo integrations:call coda.coda_get_table '{"doc_id":"example_doc_id","table_id":"example_table_id"}' --json copy kosmo integrations:coda coda_get_table '{"doc_id":"example_doc_id","table_id":"example_table_id"}' --json copy
coda.coda_list_rows Read read List rows in a Coda table. Use useColumnNames=true to get values keyed by human-readable column names instead of column IDs.
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 copy kosmo integrations:coda coda_list_rows '{"doc_id":"example_doc_id","table_id":"example_table_id","limit":1,"useColumnNames":true}' --json copy
coda.coda_get_row Read read Get a single row from a Coda table by its row ID.
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 copy kosmo integrations:coda coda_get_row '{"doc_id":"example_doc_id","table_id":"example_table_id","row_id":"example_row_id","useColumnNames":true}' --json copy
coda.coda_insert_rows Write write Insert one or more new rows into a Coda table. Each row should have a "cells" array with column/value pairs.
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 copy kosmo integrations:coda coda_insert_rows '{"doc_id":"example_doc_id","table_id":"example_table_id","rows":"example_rows"}' --json copy
coda.coda_update_row Write write Update cells in an existing row in a Coda table. Provide a cells array with column/value pairs to update.
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 copy 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 copy
coda.coda_delete_row Write write Delete a row from a Coda table. This action is permanent.
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 copy kosmo integrations:coda coda_delete_row '{"doc_id":"example_doc_id","table_id":"example_table_id","row_id":"example_row_id"}' --json copy
coda.coda_list_columns Read read List columns in a Coda table. Useful to discover column names and types before querying or inserting rows.
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 copy kosmo integrations:coda coda_list_columns '{"doc_id":"example_doc_id","table_id":"example_table_id","limit":1}' --json copy
coda.coda_list_pages Read read List pages in a Coda doc. Pages can contain text, tables, and other content.
doc_id, limit kosmo integrations:call coda.coda_list_pages '{"doc_id":"example_doc_id","limit":1}' --json copy kosmo integrations:coda coda_list_pages '{"doc_id":"example_doc_id","limit":1}' --json copy
coda.coda_get_current_user Read read Verify Coda authentication and get the current user's profile information.
none kosmo integrations:call coda.coda_get_current_user '{}' --json copy kosmo integrations:coda coda_get_current_user '{}' --json copy Function Schemas Use these parameter tables when building CLI payloads without calling integrations:schema first.
Operation Read read
Schema command kosmo integrations:schema coda.coda_list_docs --json
Operation Read read
Schema command kosmo integrations:schema coda.coda_get_doc --json
Operation Read read
Schema command kosmo integrations:schema coda.coda_list_tables --json
Operation Read read
Schema command kosmo integrations:schema coda.coda_get_table --json
Operation Read read
Schema command kosmo integrations:schema coda.coda_list_rows --json
Operation Read read
Schema command kosmo integrations:schema coda.coda_get_row --json
Operation Write write
Schema command kosmo integrations:schema coda.coda_insert_rows --json
Operation Write write
Schema command kosmo integrations:schema coda.coda_update_row --json
Operation Write write
Schema command kosmo integrations:schema coda.coda_delete_row --json
Operation Read read
Schema command kosmo integrations:schema coda.coda_list_columns --json
Operation Read read
Schema command kosmo integrations:schema coda.coda_list_pages --json
Operation Read read
Schema command kosmo integrations:schema coda.coda_get_current_user --json 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.