Actions14
- Record Actions
- Table Actions
- Space / Base Actions
Record → Create Many
AI-generatedSummary
Creates multiple records in a selected Teable table from a JSON array, sending them in batches of 1,000 and returning each created record as an output item.
Inputs
- Space (required) — Teable space, chosen from a dropdown. It only drives the Base dropdown and isn't used in the create request.
- Base (required) — Base within the selected space. It only drives the Table dropdown.
- Table (required) — Target table. Its ID is validated (letters, digits, underscores, hyphens only) and used in POST /table/{tableId}/record.
- Records (JSON) (required) — Array of record objects, each with a "fields" key, e.g. [{"fields":{"Name":"Example"}}]. Accepts a JSON string or an already-parsed array/expression result. Invalid JSON raises an error.
- Additional Options > Field Key Type — Whether keys in "fields" are field names ("name", the default) or field IDs ("id", fldXXX). If set, it is sent as fieldKeyType in the request.
Output shape
A list of items, one per created record, each holding the record object returned by Teable (record ID and fields) in json.
The request always sets typecast: true, so Teable tries to coerce values to the field types. The node splits the array into chunks of 1,000, with one POST per chunk, and combines the results. It retries a failed request up to 3 times on HTTP 429 or 5xx, with no delay between attempts. The node never checks that each entry has a "fields" key, so Teable rejects malformed entries. If any batch fails, earlier batches stay created. With Continue On Fail enabled, an error item ({error: message}) is emitted instead of throwing. The node runs once per input item, so each input item creates its own set of records.
Examples
Example 1: Bulk-import rows from a spreadsheet or API into a Teable table.
Select Space, Base and Table. Set Records (JSON) to an expression such as {{ JSON.stringify($input.all().map(i => ({fields: i.json}))) }}. Leave Field Key Type as Field Name.
Example 2: Insert records using stable field IDs, so that renaming a field doesn't break the workflow.
Records (JSON): [{"fields":{"fldAbc123":"Alice"}}]. Additional Options > Field Key Type = Field ID.
