Skip to main content

Graph vs. Steps (Legacy)

If both graph and steps exist, graph wins.

Branching (IF / ELSE)

  • Condition nodes expose true and false outputs. Wire both for a real IF/ELSE.
  • If only one edge leaves a condition, the engine uses that edge for both outcomes (usually unintended).

Fan-Out from an Action

If one action node connects to several next nodes, the engine runs all outgoing branches in sequence (fan-out). It does not mean β€œpick one branch”—use a condition node to choose.

Conditions

Conditions compare a field from the context (see Triggers) to a value with an operator (equals, not equals, numeric comparisons, in list, contains, etc.). The UI only offers fields that match the allowed contexts for your trigger. After actions that recalculate risk or change status, later conditions see the updated values.

Saving and Validation

When you save in the app or via the API, the product validates:
  • Synergy β€” trigger ↔ each action, and each immediate action β†’ next action (Synergy).
  • Graph shape β€” e.g. a trigger node must exist; edges must make sense for the builder.
If save fails, check error messages: they usually point to a forbidden trigger for an action or an invalid successor action.

Testing vs. Production


Maintenance: Graph traversal order for synergy checks uses getOrderedActionTypesFromGraph in workflow-synergy.ts; complex graphs with many branches should be reviewed in the builder.