Route respondents to different paths based on their answers using condition rules, rule groups, and AND/OR operators.
Conditional branching lets you show different questions to different respondents based on what they’ve answered. You configure conditions on edges in the workflow canvas — the engine evaluates each outgoing edge in priority order and follows the first one that matches.
Every node should have a default route — an unconditional edge that catches respondents who didn’t match any conditional edge. There can only be one default route per node.If all your edges are conditional and none matches, the respondent is sent to the fallback end node instead. That is usually not the intended behaviour, so always add a default route unless you deliberately want unmatched respondents to exit at the fallback.
Each edge condition is a GroupedEdgeCondition with two levels:
Copy
GroupedEdgeCondition └── groups_operator: AND | OR └── groups[] ├── operator: AND | OR └── rules[] ├── question_node_id ├── operator (equals, contains, greater_than, …) └── value
Rule — tests one question’s answer against a value using an operator.Rule group — combines multiple rules with an AND or OR operator.Groups operator — combines multiple groups with AND or OR.