Insert Rows

bigquery.insert_rows
ActionDatabases & warehousesconnection required

Calls the BigQuery API POST /datasets/{dataset}/tables/{table}/insertAll.

Stream rows into a BigQuery table (insertAll).

Connection

Required
Yes — the node will not save without one
Auth type
OAuth 2.0
Providers
Google BigQuery
Secret shape
{"client_id", "client_secret", "refresh_token"}
Config it needs
project_id
Resolved by
config.connection_id, else node.connection_id

Configuration

6 fields, 3 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
project_id
GCP project id (overrides connection).
stringNo———
dataset
Id of the dataset to act on, from bigquery.list_datasets — not its name.
stringYes———
table
Id of the table to act on, from bigquery.list_tables — not its name.
stringYes———
rows
Rows to insert (array of objects, JSON).
arrayYes—≥ 1 characters; array of object—
insert_id_field
Row key holding a stable id BigQuery de-duplicates on.
stringNo———
deduplicate
Send a per-step insertId so a retried batch is dropped (default). Turn off for high-throughput inserts: rows with an insertId fall into BigQuery's lower streaming quota tier.
booleanNotrue——

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "deduplicate": true
}

Output

One shape.

result

FieldTypeExample
ok
boolean—
inserted
number—
table
dataset.table the rows went to.
string—
deduplicated
Rows carried insertIds. BigQuery then drops a batch it has already seen — best effort, and only for about a minute, so a retry that backs off longer than that can still append twice.
boolean—
{
  "deduplicated": false,
  "inserted": 0,
  "ok": false,
  "table": ""
}

See Insert Rows run in a workflow.

In a technical demo we add the Google BigQuery connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.