Skip to main content
Every workflow is a JSON object with five top-level concerns: metadata, parameters, nodes, edges, and the run context that those nodes share at execution time.

Top-level shape

See Variables & templating for how parameters and node outputs are referenced. See Node reference for the per-node data schemas.

Terminal output nodes

Every path through a workflow ends in an output node. The output carries:
  • a label (APPROVED, REJECTED, IN_REVIEW, REPORTED_TO_REGULATOR, …) — surfaces as the terminal state in the audit log.
  • a schema — explicit list of fields written into the final decision record.
  • an optional returnAllFields boolean — if true, the entire run context is persisted with the decision; otherwise only the declared schema fields.
A workflow can have multiple terminal outputs — one per resolution class. Common shapes: returnAllFields: true is used for sub-flows that pass their entire context downstream and for audit-heavy terminals (KYB approvals, regulator submissions) that benefit from the full evidence pack on the decision. Otherwise prefer an explicit schema — the decision record stays compact and the audit export bundles read better.