Blocks

Set fields

The set fields step: assign, rename, or restructure payload fields declaratively with templates — the no-code transform.

Assign payload fields from templates — the no-code way to rename, pluck, or restructure data between steps. Reach for this before run code: most reshaping is three rows here.

Config

The set fields step in the Inspector Field rows plus the merge/replace switch.

  • Field assignments — one row per field: a key and a value. Values are templates over the upstream payload — {{ payload.customer.email }} — or constants. Keys are dot-paths: meta.imported_at nests as {meta: {imported_at: …}}.
  • Modemerge layers your assignments over the upstream payload (everything else passes through); replace outputs only the assigned fields.

A value that is a whole-string template keeps its resolved type: "{{ payload.items }}" stays a list, "{{ payload.count }}" stays a number. Mixed text ("got {{ payload.count }}") renders as a string.

Output

  • merge — the upstream payload with your assignments applied.
  • replace — exactly your assigned fields, nothing else.

Patterns

  • Pluckemail{{ payload.customer.email }} flattens a nested value for a simpler downstream reference.
  • Stampsourcestripe tags records before saving.
  • Adapterreplace mode reshapes one step's output into exactly the fields the next step wants.

Gotchas

  • In replace mode, anything you don't assign vanishes — carry forward identity keys (document_id, record ids) later steps reference, or they're gone at this step.
  • A template that references a key the upstream output doesn't have renders empty. Check the upstream step's output shape (its docs page, or a test run) rather than guessing names.