Overview
Coda is a collaborative document/spreadsheet platform. This tool connects to the Coda API v1 to manage data within Coda docs. It supports CRUD operations on table rows, view rows, column metadata, formula values, and control values. Resources: Table (create/get/getAll/delete rows, get/getAll columns, push button), View (get/getAll views, get/getAll/delete/update rows, get columns, push button), Formula (get/getAll), Control (get/getAll).
Node Type
Action — processes input items and produces output
| Direction | Port(s) |
|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Coda API credentials.
See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|
| Control | control |
| Formula | formula |
| Table | table |
| View | view |
Operations
Parameters
Table: Create Row
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. Find it in the URL: https://coda.io/d/DocTitle_d<docId> |
| Table ID | string | Yes | — | The ID of the table. Find via Coda > Doc > Table settings. |
Options (options) | collection | No | {} | Optional settings for this operation. |
| — Disable Parsing | boolean | No | false | Whether the API will not attempt to parse the data in any way. |
| — Key Columns | string | No | — | Optional column IDs, URLs, or names specifying columns to be used as upsert keys. If more than one, separate by comma. |
Table: Delete Row
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. Find it in the URL: https://coda.io/d/DocTitle_d<docId> |
| Table ID | string | Yes | — | The ID of the table. Find via Coda > Doc > Table settings. |
Row ID (rowId) | string | Yes | — | ID or name of the row. Names are discouraged because they are easily changed by users. If using a name, be sure to URI-encode it. |
Table: Get All Columns
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. Find it in the URL: https://coda.io/d/DocTitle_d<docId> |
| Table ID | string | Yes | — | The ID of the table. Find via Coda > Doc > Table settings. |
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit. |
Limit (limit) | number | No | 50 | Max number of results to return. (shown when Return All is false) |
Table: Get All Rows
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. Find it in the URL: https://coda.io/d/DocTitle_d<docId> |
| Table ID | string | Yes | — | The ID of the table. Find via Coda > Doc > Table settings. |
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit. |
Limit (limit) | number | No | 50 | Max number of results to return. (shown when Return All is false) |
Options (options) | collection | No | {} | Optional settings for this operation. |
| — Query | string | No | — | Query used to filter returned rows, specified as <column_id_or_name>:<value>. If using a column name, you must quote it (e.g., “My Column”:123). |
| — RAW Data | boolean | No | false | Whether to return the data exactly as received from the API. |
| — Sort By | options | No | — | Specifies the sort order of the rows returned. |
| | | | Options: createdAt, natural |
| — Use Column Names | boolean | No | false | Whether to use column names instead of column IDs in the returned output. |
| — Value Format | options | No | — | The format that cell values are returned as. |
| | | | Options: simple, simpleWithArrays, rich |
| — Visible Only | boolean | No | false | Whether to return only visible rows and columns for the table. |
Table: Get Column
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. Find it in the URL: https://coda.io/d/DocTitle_d<docId> |
| Table ID | string | Yes | — | The ID of the table. Find via Coda > Doc > Table settings. |
Column ID (columnId) | string | Yes | — | The ID of the column. For pushButton, this must be a button-type column. |
Table: Get Row
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. Find it in the URL: https://coda.io/d/DocTitle_d<docId> |
| Table ID | string | Yes | — | The ID of the table. Find via Coda > Doc > Table settings. |
Row ID (rowId) | string | Yes | — | ID or name of the row. Names are discouraged because they are easily changed by users. If using a name, be sure to URI-encode it. |
Options (options) | collection | No | {} | Optional settings for this operation. |
| — RAW Data | boolean | No | false | Whether to return the data exactly as received from the API. |
| — Use Column Names | boolean | No | false | Whether to use column names instead of column IDs in the returned output. Fragile if columns are renamed. |
| — Value Format | options | No | — | The format that cell values are returned as. |
| | | | Options: simple, simpleWithArrays, rich |
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. Find it in the URL: https://coda.io/d/DocTitle_d<docId> |
| Table ID | string | Yes | — | The ID of the table. Find via Coda > Doc > Table settings. |
Row ID (rowId) | string | Yes | — | ID or name of the row. Names are discouraged because they are easily changed by users. If using a name, be sure to URI-encode it. |
Column ID (columnId) | string | Yes | — | The ID of the column. For pushButton, this must be a button-type column. |
View: Delete Row
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. |
| View ID | string | Yes | — | The ID of the view. Find via the Coda API or doc settings. |
Row ID (rowId) | string | Yes | — | ID or name of the row to operate on. |
View: Get
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. |
| View ID | string | Yes | — | The ID of the view. Find via the Coda API or doc settings. |
View: Get Columns
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. |
| View ID | string | Yes | — | The ID of the view. Find via the Coda API or doc settings. |
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit. |
Limit (limit) | number | No | 50 | Max number of results to return. (shown when Return All is false) |
View: Get Many
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. |
| View ID | string | Yes | — | The ID of the view. Find via the Coda API or doc settings. |
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit. |
Limit (limit) | number | No | 50 | Max number of results to return. (shown when Return All is false) |
View: Get Rows
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. |
| View ID | string | Yes | — | The ID of the view. Find via the Coda API or doc settings. |
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit. |
Limit (limit) | number | No | 50 | Max number of results to return. (shown when Return All is false) |
Options (options) | collection | No | {} | Optional settings for this operation. |
| — Query | string | No | — | Query used to filter returned rows, specified as <column_id_or_name>:<value>. |
| — Use Column Names | boolean | No | false | Whether to use column names instead of column IDs. |
| — Value Format | options | No | — | The format that cell values are returned as. |
| | | | Options: simple, simpleWithArrays, rich |
| — RAW Data | boolean | No | false | Whether to return the data exactly as received from the API. |
| — Sort By | options | No | — | Specifies the sort order of the rows returned. |
| | | | Options: createdAt, natural |
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. |
| View ID | string | Yes | — | The ID of the view. Find via the Coda API or doc settings. |
Row ID (rowId) | string | Yes | — | ID or name of the row to operate on. |
Column ID (columnId) | string | Yes | — | The ID of the button column to push. |
View: Update Row
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. |
| View ID | string | Yes | — | The ID of the view. Find via the Coda API or doc settings. |
Row ID (rowId) | string | Yes | — | ID or name of the row to operate on. |
| Key Name | string | Yes | columns | The name of the key in the input JSON that contains the column-value pairs to update. Defaults to “columns”. |
Options (options) | collection | No | {} | Optional settings for this operation. |
| — Disable Parsing | boolean | No | false | Whether the API will not attempt to parse the data in any way. |
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. |
| Formula ID | string | Yes | — | The ID of the formula to retrieve. |
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. |
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit. |
Limit (limit) | number | No | 50 | Max number of results to return. (shown when Return All is false) |
Control: Get
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. |
| Control ID | string | Yes | — | The ID of the control to retrieve. |
Control: Get Many
| Parameter | Type | Required | Default | Description |
|---|
Doc ID (docId) | string | Yes | — | The ID of the Coda document. |
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit. |
Limit (limit) | number | No | 50 | Max number of results to return. (shown when Return All is false) |
All Operations
| Parameter | Type | Required | Default | Description |
|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
The Coda response becomes the output item’s JSON — it replaces the incoming JSON rather than being nested under a property, so reference fields directly, e.g. {{ $json.id }}. Binary data already on the input item is forwarded to every output item.
Seven operations fan out, emitting one output item per record returned: Table: Get All Rows, Table: Get All Columns, View: Get Many, View: Get Rows, View: Get Columns, Formula: Get Many and Control: Get Many. When one of them matches nothing, it produces no output items at all. Every other operation emits exactly one output item per input item.
| Resource / Operation | Output item JSON |
|---|
| Table: Create Row | The input item, passed through unchanged. |
| Table: Delete Row | The input item, passed through, plus _deleted: true. |
| Table: Get All Columns | One item per column object. |
| Table: Get All Rows | One item per row: id plus one field per cell value — or the raw API row object when RAW Data is on. |
| Table: Get Column | The column object. |
| Table: Get Row | id plus one field per cell value — or the raw API row object when RAW Data is on. |
| Table: Push Button | The button response, or success: true when the API returns no body. |
| View: Delete Row | The delete response, or success: true with deleted: true when the API returns no body. |
| View: Get | The view object. |
| View: Get Columns | One item per column object. |
| View: Get Many | One item per view object. |
| View: Get Rows | One item per row, shaped like Table: Get All Rows. |
| View: Push Button | The button response, or success: true when the API returns no body. |
| View: Update Row | The input item, passed through unchanged. |
| Formula: Get | The formula object. |
| Formula: Get Many | One item per formula object. |
| Control: Get | The control object. |
| Control: Get Many | One item per control object. |
Two operations send data instead of returning it, which is why they pass the input item straight through:
- Table: Create Row builds the new row from the input item’s own top-level fields — one cell per field, using the field name as the column. Fields whose name starts with
_ are skipped, so error and metadata fields never become columns.
- View: Update Row reads the column-value pairs from the input item property named by Key Name (
columns by default), so the upstream item needs a nested object there.
Row-returning operations key each cell by column name unless you add Use Column Names to Options and switch it off, in which case column IDs are used instead.
Example Configuration
Read a filtered, sorted page of table rows — each row arrives as its own item:
{
"type": "coda",
"parameters": {
"resource": "table",
"operation": "getAllRows",
"docId": "AbCDeFGH",
"tableId": "grid-pqRst",
"returnAll": false,
"limit": 50,
"options": {
"query": "Status:\"Active\"",
"sortBy": "createdAt",
"useColumnNames": true,
"valueFormat": "simple",
"visibleOnly": true
}
}
}
Upsert a row keyed on the Name column — the cells come from the incoming item’s fields:
{
"type": "coda",
"parameters": {
"resource": "table",
"operation": "createRow",
"docId": "{{ $json.docId }}",
"tableId": "grid-pqRst",
"options": {
"keyColumns": "Name"
}
}
}
Update a view row from a columns object on the incoming item:
{
"type": "coda",
"parameters": {
"resource": "view",
"operation": "updateViewRow",
"docId": "AbCDeFGH",
"viewId": "table-abc123",
"rowId": "{{ $json.rowId }}",
"keyName": "columns",
"options": {
"disableParsing": false
}
}
}
Read a single formula value:
{
"type": "coda",
"parameters": {
"resource": "formula",
"operation": "get",
"docId": "AbCDeFGH",
"formulaId": "{{ $json.formulaId }}"
}
}
List every control in a doc, one item per control:
{
"type": "coda",
"parameters": {
"resource": "control",
"operation": "getAll",
"docId": "AbCDeFGH",
"returnAll": true
}
}
Error Handling
| Mode | Behavior |
|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Coda reads and writes rows, columns, views, formulas and controls in a Coda document. It is the right tool when a workflow must insert or delete table rows, read a table’s rows and columns, push a button in a row, read a view’s rows and columns, update or delete a view row, or read formulas and controls, rather than a spreadsheet; a table row is updated only through a view. It returns the rows, columns, views, formulas or controls as JSON items, and a confirmation for inserts, deletes and button pushes.
Error Prevention Tips
- Use row IDs instead of names when possible (names can change)
- URI-encode row names if you must use them
- Verify document, table, and view IDs before operations
- Check button column types before pushing buttons