Merge Step

Rejoins values from multiple incoming workflow branches into a single set of output fields. Use this step after a Logic step (or other branching) so downstream steps can read one mapped value per field regardless of which branch ran. At runtime, each field takes the first non-empty source.

Merge cannot be the first step in a workflow. Create it with at least one incoming edge. Typical graphs place Merge after a Logic step so each Logic branch feeds one incoming edge.

Each merge field may map at most one source per incoming branch. Unattributable sources (session placeholders, UUID mapping ids) are allowed through; readable pills ({{Step.Field}}) that cannot be attributed to a single incoming branch are rejected.

Top-level properties

nametyperequiredconstraintsdescription
mergeableNamestringyesDisplay name for the merge output (typically "Merge"). Used as the step label in mapping pills.
fieldsarrayyesitems: MergeFieldOrdered output fields. Each field is published to session context under id when a source resolves.

MergeField

nametyperequiredconstraintsdescription
idstringyesformat: uuidStable field identifier. Downstream mappings reference this id.
labelstringyesHuman-readable field name.
typestringyesenum: see MergeFieldType belowOutput type. Incoming values are coerced to this type.
sourcesarrayyesitems: stringOrdered source values, usually mapping pills ({{Step.Field}}). First non-empty source wins.

Empty string, null, and empty collections are treated as empty. Scalar numbers/booleans/files count as present.

MergeFieldType enum

TypeDescription
stringSingle string.
numberSingle number.
booleanSingle boolean.
dateSingle date (ISO 8601).
file