bulk_create_rows
Append many rows to a workspace's table surface in ONE call — the bulk version of create_row. Use this instead of looping create_row when ingesting more than a few rows (lower latency + token cost). Pass rows as an array of { data: {...} } objects, each data a column-name → value map (same shape create_row takes). Up to 500 rows per call. ALL-OR-NOTHING: if any row fails the whole batch is rolled back, so on error you can safely resend the entire batch. Targets one surface for the whole batch (surface_slug, or the workspace's primary table surface). auto_create_columns: true appends a text column for every unmapped key across the batch (one schema extension). Returns { created, rows, created_columns }.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | Rows to create. Each item is an object with a `data` field: `{ "data": { "title": "...", "status": "drafted" } }`. 1-500 items. | |
| slug | Yes | The workspace slug (bare or org-prefixed). | |
| surface_slug | No | Optional target table surface slug (use list_surfaces). Omit to use the workspace's primary table surface. The whole batch lands on this one surface. | |
| auto_create_columns | No | When true, append a text column for every key (across all rows) that doesn't map to an existing column, in one schema extension. Default false. |