Conditional logic

Rules run on the public form from the answers on the current attempt. Reordering fields does not rewrite field ids, so rules stay attached.

What you can do

  • Show or hide fields from earlier answers.
  • Skip to a later page (page-break step) when a condition matches.
  • Pick confirmation copy or a redirect from answers after submit.
  • Notification routing (To / CC / BCC from field values) is available in the builder.

Where it lives

Open a form in the builder and use the Logic panel. Preview uses the current unsaved draft, including these rules. Preview submit is not stored.

Conditions

Each rule is an IF group of conditions, THEN an action. A group can require ALL conditions (AND) or ANY condition (OR). Operators:

  • is / is not
  • contains / not contains
  • starts with
  • greater than / less than
  • is empty / is not empty

Matching is case-insensitive. The same evaluator runs in the browser and on submit. Calculation fields store a number, so you can write rules such as IF total > 500 THEN show “Request invoice”.

Show and hide

A show rule keeps its target fields hidden until the conditions match. A hide rule hides them when the conditions match. Hide wins if both apply. Hidden required fields are not validated, and their values are dropped on submit (client and server).

Half-width and third-width fields leave the grid when they are hidden, so neighbors pack with no empty cell.

Deleted fields

If you delete a field that a rule still points at, the Logic panel flags that rule. The rule does not run against the missing field until you pick a live field.

How rules are stored

Rules are saved in the form schema JSON as a versioned document (fields plus logic). Existing forms stay a plain field list until you add a rule.

Multi-step forms · Preview · Hidden fields · Calculated fields