coda_insert_rows
Insert or upsert rows into a Coda table using column names. Supports up to 500 rows per call with async mutation tracking.
Instructions
Insert one or more rows into a Coda table, with optional upsert.
Inserts up to 500 rows per call. Use column names (not IDs) in the cells. With key_columns, matching rows are updated (upsert) instead of inserted — this is the only way to bulk-update rows. Returns a requestId for async mutation tracking via coda_get_mutation_status. The operation is async (202).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | The doc ID containing the table | |
| table_id_or_name | Yes | Table ID or name to insert rows into | |
| rows | Yes | List of rows to insert. Each row is a dict with 'cells' key containing a list of {column: name, value: val} objects. Example: [{'cells': [{'column': 'Name', 'value': 'Alice'}]}] | |
| key_columns | No | Column names to use as upsert keys. If a row matches on these columns, it is updated instead of inserted. Omit for pure insert. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |