bulk_update_rows
Update many existing rows in ONE call — the bulk version of update_row. Use this instead of looping update_row when changing more than a few rows (much lower latency + token cost for sheet edits). Pass updates as an array of { id, data }: id is the row id (from get_rows / query_rows), data is a column-name → value map of just the cells to change. Each row's data is MERGED into the existing row (last-write-wins per field), so you only send the cells you're changing. Up to 500 rows per call. ALL-OR-NOTHING: if any id is missing or in another workspace the whole batch is rejected and nothing is written, so on error you can safely resend the entire batch. Values are coerced to each column's type. Returns { updated, rows }.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The workspace slug (bare or org-prefixed). | |
| updates | Yes | Rows to update. Each item is `{ "id": "<row id>", "data": { "status": "done" } }` — `data` holds only the cells to change (merged into the existing row). 1-500 items. |