Skip to content

Sync to Table

Module · Stable

Upsert a batch of rows into a custom table — match-and-update by key, no duplicates.

Upserts a whole list of rows into an admin-defined custom table in one step — the same validate-and-upsert engine as the bulk CSV/XLSX import. rows is a list of {column_key: value} objects. Set key_column to a column key to make it idempotent: a row whose key matches an existing row updates it, otherwise it inserts, and duplicates within the batch collapse. Leave key_column empty to always append. Column-tolerant: keys that are not columns of the table are dropped (and returned in dropped_keys) while the columns that do exist are still filled — so a rich feed maps onto whatever subset of columns you kept. A non-empty dropped_keys flags a mistyped or mis-mapped column. A row missing a required column is counted in errors and skipped; one bad row never aborts the batch.

Use to sync a feed into a table on a schedule — e.g. a Calendar (iCal) step produces a list of events, each with a stable uid; Sync to Table with key_column=“uid” writes them once and keeps them current on every re-run instead of duplicating. Also the right step whenever an upstream node yields a list of rows to persist in bulk.

To insert a single new row, use Create Record. This IS the single-row upsert tile too, though — pass a one-item list and a key_column to match-and-update one row in one step. To create a contact, company, or deal use the dedicated Contacts steps. Note: it upserts and inserts but does not delete rows absent from the batch — it will not remove entries cancelled at the source.

Configured per use: table, rows, key_column.

  • inserted
  • updated
  • errors
  • total
  • dropped_keys
  • ok
  • error

Auto-generated from the skill registry (load_skills()). Do not edit by hand.