add_row_batch
Insert many new rows (records) into a table in one call — bulk-write data into a table, up to 100 rows. Each item in rows maps column names to values, the same as add_row. Values by column type: text/email/url/phone a plain string (no markdown: a cell shows as typed, in documents too); number a number; money with its currency, {“value”: 1200, “code”: “GBP”} or “£1,200” (codes USD, EUR, GBP, JPY, no other; a bare number is stored as USD); date an ISO date “2026-09-28”; time “14:30”; checkbox true/false; select an option label; multiSelect an array of labels (new labels become options); progress a number, “42%” or {“current”: 3, “total”: 10}; location {“mainText”, “secondaryText”, “type”, “lat”, “lng”} with lat and lng filled (an address alone has no coordinates, so it never shows on a map); relation (oneMany) an array of row ids from the linked table; reference a documentId or {“documentId”, “blockId”}. person the email or full name of someone in the project or workspace (anyone else is refused, with who is listed). Pass null or "" to clear a cell. Formula, timer and approval columns cannot be written. For a row name linked to another table’s row pass {“linkedTableId”: ”…”, “linkedRowId”: ”…”} for the identifier column. Any unknown column name stops the whole call before a row is created. Returns rowIds in order, plus rejectedValues (with the row number) for values that could not be written.
Parameters
string
required
array<object>
required
Row objects (column name → value). Include the identifier (row name) column. E.g. [{“Employee Name”: “Alice”, “Salary”: 60000}, {“Employee Name”: “Bob”, “Salary”: 55000}]