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
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_atnests as{meta: {imported_at: …}}. - Mode —
mergelayers your assignments over the upstream payload (everything else passes through);replaceoutputs 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
- Pluck —
email←{{ payload.customer.email }}flattens a nested value for a simpler downstream reference. - Stamp —
source←stripetags records before saving. - Adapter —
replacemode reshapes one step's output into exactly the fields the next step wants.
Gotchas
- In
replacemode, 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.