Logic Forms

Build smart forms that adapt to each respondent using conditional logic and jump rules.

What is Logic?

Logic lets you control which questions a respondent sees based on their previous answers. Instead of showing every question to everyone, you can create branching paths — making forms shorter, more relevant, and more engaging.

Example: If someone answers "Yes" to "Do you have a team?", show the team size question. If "No", skip directly to budget.

Setting Up Jump Rules

  1. 1

    Open the form builder and select the block you want to add logic to.

  2. 2

    Click the Logic tab in the right panel.

  3. 3

    Click "Add condition" — choose the answer value that triggers the jump.

  4. 4

    Set the destination: jump to a specific block, or jump to the end.

  5. 5

    Add multiple conditions for the same block using AND / OR operators.

Condition Types

is

Exact match — answer equals the specified value

is not

Answer does not equal the value

contains

Text answer includes the specified string

is greater than

Numeric answer exceeds the threshold

is less than

Numeric answer is below the threshold

is answered

Block has any answer (not empty)

is not answered

Block was skipped or left empty

Calculations

Use calculated fields to add up scores, compute totals, or derive values from answers. Calculations run client-side and update in real time as respondents fill in the form.

  • Reference any numeric block answer with @block_name
  • Supports: + − × ÷ and parentheses
  • Use in Statement blocks to show respondents their score dynamically
  • Use in Redirect URLs to pass the score to your CRM

Common Patterns

Qualification funnel

Ask budget/role early. Jump low-fit respondents to a polite end screen. Show full form to high-fit respondents only.

NPS follow-up

After a rating block: score 0–6 → ask 'What went wrong?'. Score 9–10 → ask 'What did you love?'. Score 7–8 → generic follow-up.

Product recommender

Ask a few preference questions, calculate a score, and jump to the matching outcome page using score ranges.

Logic not behaving as expected?

Use the Preview mode in the builder to test every branch before publishing.