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.
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.