Encatch
Welcome to Encatch Docs
Forms & AppearanceForm Builder

Logic Jumps

Branch your feedback form based on answers, context, and user traits

Logic jumps let you send respondents to different questions based on their answers, workflow context, or user traits—so they can skip irrelevant steps and follow branching paths instead of a single fixed order.

The Logic jumps tab sits in the feedback editor next to Form and Appearance. Use Form to add questions and pages first; then open Logic jumps to design and test branching.

Before you start

  • Add questions on the Form tab. The logic jumps canvas stays empty until at least one question exists.
  • For paths that should end without a thank-you screen, add an Exit form in the Thank you & Exit Section and use it as a jump target.

Enable logic jumps

At the top of the Logic jumps tab, turn on Enable logic jumps.

  • When enabled, the flow canvas appears with a Start node, your questions, and routing edges.
  • When you turn logic jumps off, a confirmation dialog warns that all logic jump rules, canvas layout, and workflow context for this feedback are cleared. You can enable logic jumps again later, but you will need to set them up from scratch.

Flow canvas

The canvas is an interactive graph of your form flow:

ElementDescription
StartEntry point before the first question. Rules here choose which question respondents see first.
Question nodesOne node per form element (welcome, questions, message panels, thank-you screens, exit form). Each shows the type badge and title.
Section backgroundsFaint regions grouping nodes by form page/section.
EdgesLines from a source to a Go to target. Custom rules use the default edge style; the automatic Else (default) rule uses a fuchsia edge.

Canvas controls

  • Pan and zoom the graph; use the minimap and fit view control in the corner.
  • Open fullscreen for a larger canvas on complex forms.
  • When zoomed out, nodes switch to a compact view (type + title only). Zoom in to add or edit rules—compact nodes show a hint if you click them while zoomed out.

Visual indicators

  • Yellow border — Hidden question (skipped at runtime like welcome/message panels; still routable).
  • Red border — Never reached: no incoming logic jump targets this question (orphan in the graph).

Terminal screens (Thank you screen, Exit form) appear at the end of the logic order even if they live in the Thank you & Exit Section on the Form tab. They cannot have outgoing Else rules.

How routing works

For each question (and for Start), the runtime evaluates rules in this order:

  1. Custom rules — Listed on the node; evaluated top to bottom.
  2. Else (default) rule — Always true (1 = 1); catches every case no custom rule matched. You can change only its Go to target.

The first rule whose conditions match wins. Its Go to target is where the respondent goes next.

Start node

  • Start rules run before any question is shown and pick the first question (or a later jump target).
  • If no Start rule matches, the respondent begins at the first question in logic order.

Linear fallback

  • If no rule matches at a question and there is no valid default target, flow continues to the next question in order on the canvas.

Safety

  • If routing would loop forever, the engine stops at a cycle instead of hanging.

Passthrough questions

  • Welcome screen and Message panel do not collect answers; rules on them still run.
  • Hidden questions are auto-skipped for respondents but remain on the canvas for routing.

Create and edit rules

On any non-terminal node (or on Start), use Add rule or click an existing rule to open the rule editor.

FieldBehavior
Rule titleRequired for custom rules. Must be unique per source node (case-insensitive).
Go toTarget question. Must appear after the source in logic order (forward jumps only).
ConditionsOne or more conditions combined with AND or OR.
DeleteRemove a custom rule. The Else rule cannot be deleted.

Condition sources

  • On a question node: conditions can reference that question and any earlier question that supports operators (see table below).
  • On Start: conditions can use workflow context, user traits, or later questions when testing with prefilled answers (see Start node section).

Matrix questions

  • For rating matrix and matrix choice types, pick the row/statement the condition applies to, then set the operator and value for that row.

Else (default) rule

Every non-terminal question gets an automatic Else rule:

  • It always matches when no custom rule does.
  • In the editor it is titled default; on the canvas its edge is fuchsia.
  • You can only change its Go to target—not its conditions or title.

Use custom rules for branches; use Else for “everyone else goes here.”

Terminal targets

TargetEffect
Thank you screenShows your closing screen, then submission completes.
Exit formEnds the session silently with no visible closing UI.

Place thank-you screens and the optional exit form in the Thank you & Exit Section on the Form tab. In the logic graph they still act as valid Go to targets for any branch.

Start node and workflow context

Workflow context

On the Start node, open Workflow context to define keys and types available when the form begins:

TypeExample use
stringPlan name, locale, feature flag
numberAccount tier, seat count
dateTrial end, contract date
booleanBeta access, admin flag

Each field becomes context.<key> in Start conditions (for example context.plan).

Keys must be unique. Save the dialog to apply changes.

User traits

Start rules can also test user traits as contact.<slug> (for example contact.role), using the trait’s data type for operators.

Traits must exist in your project and be enabled; only types that map to string, number, date, or boolean are available in the rule editor.

Prefilled questions on Start

For testing or advanced flows, Start conditions may reference forward questions (answered via SDK prefill before the form opens). See Test logic jumps below.

SDK and runtime data

Pass metadata when showing the form so Start rules can branch immediately:

_encatch.showForm('form-abc-123', {
  context: { plan: 'enterprise' },
});

The context object in showForm is the same data exposed as context.* in Start rules. Identify users with traits before showForm when rules depend on contact.*.

Operators by question type

Operators depend on the question (or context field) type. Unsupported types (welcome, thank you, exit form, message panel) cannot be used as condition sources.

GroupQuestion types (examples)Operators
TextShort answer, long answer, email, website, phone, annotationis, is not, contains, does not contain, is empty, is not empty
Number / scaleRating, NPS, CSAT, opinion scale, number, dateis, is not, greater/less than (or equal)
Single valueSingle choice, yes/no, consent, matrix single per rowis, is not
Multi valueMultiple choice, nested selection, ranking, picture choice, matrix multiple per rowcontains option, does not contain option, is empty, is not empty
Matrix ratingRating matrix (per row)Same as number/scale for that row
StructuredAddress (country, etc.)is, is not, is empty, is not empty
Presence onlyFile upload, video/audio, signature, Q&A with AI, scheduler, paymentsis empty, is not empty
Context / traitsWorkflow context, user traits on StartMatches field type (text/number/date/boolean operators)

For full field-level options, see the Element Types Overview.

Test logic jumps

Use Test logic jumps to simulate paths without publishing:

  1. Test modeIn app (embedded preview) or Shareable (full-page style).
  2. Context & contact variables — Enter sample values for context.* and contact.* used in Start rules.
  3. Prefill responses — Set answers for questions before the live preview runs (mirrors SDK addToResponse).
  4. Live preview — Answer questions in the preview; the canvas highlights the traced path (green = visited, blue pulse = current stop).

Edges and nodes update as rules fire so you can confirm branching before go-live.

Form tab interactions

Changes on the Form tab affect logic jumps automatically:

  • Reorder or delete questions — Custom rules whose target points backward, or whose conditions reference questions that now come after the source, are removed. You may see a toast listing pruned rule names.
  • Hidden questions — Still on the canvas but skipped for respondents; rules can still target or source them where supported.

After large structural edits, review the canvas for Never reached (red) nodes and fix routing.

Viewing responses

When logic jumps are enabled, submissions store which questions were on the respondent’s path.

In Individual Responses, switch to Respondent path to see only questions the person actually saw—not the full form outline.

Examples

NPS follow-up by score

  1. Add an NPS question, a long-answer follow-up, and a thank-you screen.
  2. On the NPS node, add a rule Detractor follow-up: NPS is less than 7 → Go to long answer.
  3. Add a rule Promoter thanks: NPS is greater than or equal to 9 → Go to thank you.
  4. Set Else → thank you (or another neutral path).

Start by plan (SDK context)

  1. In Workflow context, add plan (string).
  2. On Start, add a rule: context.plan is enterpriseGo to your premium block’s first question.
  3. Set Start Else → default first question.
  4. Launch with showForm(..., { context: { plan: 'enterprise' } }).

Silent exit for disqualified respondents

  1. Add an Exit form at the end of the Thank you & Exit Section.
  2. On a screening question, add a rule: answer is “No” → Go to Exit form.
  3. Set Else → continue the main survey.

Respondents on that branch end immediately with no thank-you screen.

Was this page helpful?