TablesWriteDo not retry automatically
Insert table rows
insert_table_rowsWrite up to 500 rows into a table in one batch. Values are coerced against the field kinds (the whole batch is rejected if any cell cannot be read as its field’s kind, so a partial batch never lands), and rows whose identity matches a deleted row are skipped rather than resurrected. Subject to the plan row limit.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
tableId | string | required | Table ID — get from list_tables |
rows | object[] | required | Rows keyed by FIELD KEY, e.g. { date: "2026-08-01", amount: 12.5, description: "…" }. A select value may be an option label or its id. Computed, automatic, relation and attachment fields are rejected, never ignored. |
mode | "upsert" | "append" | optional | upsert (default) converges a re-sent batch onto the same rows via the table’s row identity; append writes unconditionally. A table with no identity fields behaves the same either way. |
mergeOn | string[] | optional | Field KEYS to converge on instead of the table’s row identity — your own key (an invoice number, an external id). A row matching one existing live row updates it; no match inserts; several matches are refused unless onMany is "first". A blank merge value never matches. |
onMany | "fail" | "first" | optional | With mergeOn: what to do when a row matches several existing rows. Default fail. |
typecast | boolean | optional | Default true: an option LABEL resolves to its id case-insensitively and a label no option carries is created. Pass false to have an unknown label refused instead. |
Example call
The tool call an MCP client sends (required arguments shown with placeholder values).
{"tool": "insert_table_rows","arguments": {"tableId": "tableId_123","rows": "value"}}
Use this tool in
Claude CodeClaude DesktopClaude CoworkChatGPTCursorWindsurfVS Code CopilotOpenClawGeminiHermes Agent
Related Tables tools
List tables
list_tablesList the tables in the workspace (id, name, kind — typed or custom — resource type, fields, row count, schema/revision versions).Get tableget_tableGet one table by id: its full field set (key, label, kind, display format, select options, whether the field is feed-owned and whether it can be written), the fields that form row identity, the promoted primary/date/amount bindings, row count, and its schema badge.Create tablecreate_tableCreate a table in the workspace.Update tableupdate_tableUpdate a table’s METADATA — name, icon, retention policy.