All docs
1 min read

Branching

Branching jumps respondents to a specific question (or skips ahead) based on what they've answered so far.

Rules live under settings.survey.branching as an ordered list:

[
  {
    "from": "q1",
    "when": [{ "field": "role", "op": "equals", "value": "engineer" }],
    "jump_to": "q5"
  }
]

The first matching rule from the current screen wins. Operators are the same set used by visibility rules: equals, not_equals, contains, not_contains, gt, lt, is_empty, is_not_empty.

If the jump_to target can't be resolved we fall through to the next sequential question. We never trap a respondent on a dead-end screen.