Teable (TuanDK) icon

Teable (TuanDK)

Read and write records, tables, and spaces in Teable

Record → Create Many

AI-generated

Summary

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.

Links

Discussion