Skip to main content

Form Builder Conditional Logic

Conditional logic lets you control what users see based on what they enter. For example: show a follow-up question only when someone picks a specific option, or make a field required only when a checkbox is checked.

Walk-through example: You have a "Number of Guests" field and a "Catering Options" step. Create a rule with the target set to the "Catering Options" step, the action set to Show, and the condition set to "Number of Guests" greater than 50. Now the catering step only appears when someone enters more than 50 guests.

Where to set it up

  • Conditional Logic tab in the builder -- shows all rules across the entire form.
  • Field settings > Conditional Logic tab -- shows rules that affect a specific field.

How a rule works

Each rule has four parts:

  1. Targets -- which fields, rows, or steps should be affected.
  2. Action -- what happens when the conditions are met.
  3. Logic mode -- how multiple conditions are combined (all must match, or any can match).
  4. Conditions -- one or more checks against field values.

When the conditions are met, the action is applied to all targets.

What you can target

Pick one target type per rule:

  • Fields -- individual form fields.
  • Rows -- entire rows (all fields in the row).
  • Steps -- entire form steps/pages.

Actions per target type

TargetAvailable actions
FieldsShow, Hide, Require, Make optional
RowsShow
StepsShow

For rows and steps, the only action is Show. This means the row or step is hidden by default and only appears when the condition is true.

Require makes a field mandatory when the conditions are met. Make optional removes the mandatory status.

When multiple rules target the same field, row, or step, all conditions across all rules must be true (AND logic) for the target to show or hide.

Fields that cannot be targeted

These fields cannot be controlled by conditional logic: rooms, cart summary, custom data, event title, and event date.

Conditions

Each condition checks the value of a source field against an expected value.

Which fields can be used as a source

You can use any input field that appears before the target in the form layout. This prevents circular rules (field A depends on field B, while field B depends on field A).

Fields that cannot be used as a source: heading, text block, spacer, separator, alert, image, rich text, products, rooms, cart summary, file upload, and custom data.

Comparison operators

The available operators depend on the field type.

Text fields

Works with: text, text area, email, phone, salutation, first name, last name, company, mobile, street, postal code, city, address lines, country, event title, event contact.

OperatorMeaning
EqualsExact match
Does not equalValue is different
ContainsValue includes the text
Does not containValue does not include the text
Starts withValue begins with the text
Ends withValue ends with the text
Is emptyField has no value
Is not emptyField has a value

Number fields

Works with: number, rating, attendees, event days, people min, people max.

OperatorMeaning
EqualsExact match
Does not equalValue is different
Greater thanValue is higher
Less thanValue is lower
Greater than or equalValue is the same or higher
Less than or equalValue is the same or lower
Is emptyField has no value
Is not emptyField has a value

Date fields

Works with: date, event date, event end date.

OperatorMeaning
EqualsExact date match
Does not equalDate is different
BeforeDate is earlier
AfterDate is later
On or beforeSame date or earlier
On or afterSame date or later
Is emptyNo date selected
Is not emptyA date is selected

Time fields

Works with: time, event start time, event end time.

OperatorMeaning
EqualsExact time match
Does not equalTime is different
BeforeTime is earlier
AfterTime is later
On or beforeSame time or earlier
On or afterSame time or later
Is emptyNo time selected
Is not emptyA time is selected

Checkbox

The operators depend on how the checkbox is set up:

Single checkbox (yes/no toggle):

OperatorMeaning
CheckedCheckbox is on
UncheckedCheckbox is off

Checkbox with single selection:

OperatorMeaning
EqualsThe selected option matches
Does not equalThe selected option is different
Is emptyNothing selected
Is not emptySomething is selected

Checkbox with multiple selection:

OperatorMeaning
IncludesThe selection contains the value
Does not includeThe selection does not contain the value
Is emptyNothing selected
Is not emptySomething is selected

Single selection (radio buttons, single picture choice, dropdown without multi-select):

OperatorMeaning
EqualsSelected value matches
Does not equalSelected value is different
Is emptyNothing selected
Is not emptySomething is selected

Multiple selection (dropdown with multi-select, picture choice with multi-select):

OperatorMeaning
IncludesThe selection contains the value
Does not includeThe selection does not contain the value
Is emptyNothing selected
Is not emptySomething is selected

Combining conditions (AND / OR)

When a rule has more than one condition, you choose how they work together:

  • All conditions must match (AND) -- every single condition must be true.
  • Any condition can match (OR) -- at least one condition must be true.

The AND/OR toggle appears automatically when you add a second condition.

Value input

The value input adapts to the source field:

Source fieldValue input shown
Text fieldsText input
Number fieldsNumber input
Date fieldsDate picker
Time fieldsTime picker
Fields with optionsDropdown of available options

Some operators do not need a value: is empty, is not empty, checked, and unchecked.

Product and room rules

Products and rooms have their own extended rule system. See Form Builder Products and Rooms for details.

Additional sources for product rules

SourceWhat it checksOperators
Form fieldA regular field valueSame as the standard operators above
RoomWhether a room is bookedIs selected / is not selected
ProductWhether a product is selectedIs selected / is not selected
Order totalThe current order totalNumber comparison operators
Order quantityThe current total quantityNumber comparison operators

Product rule actions

ActionWhat it does
ShowShow the product or group
HideHide the product or group
RequireMake selection mandatory (for selection groups)
Auto-bookAutomatically add the product when conditions are met

How rules are evaluated

  • Hidden fields are excluded from validation (users cannot see them, so they are not checked).
  • A required status set by conditional logic overrides the field's default setting.
  • Conditions are evaluated in real time as users fill in the form.
  • For security, the server re-evaluates all conditional logic when the form is submitted.

Complete operator reference

Below is an exhaustive reference of every operator available per field type category.

Text operators

Applies to: text, text area, email, phone, salutation, first name, last name, company, mobile, street, postal code, city, address line 2, address line 3, country, event title, event contact.

OperatorValue neededExample
EqualsyesField value is exactly VIP
Does not equalyesField value is anything other than VIP
ContainsyesField value includes the text partner
Does not containyesField value does not include partner
Starts withyesField value starts with Dr.
Ends withyesField value ends with GmbH
Is emptynoField is blank, null, or undefined
Is not emptynoField has any value

Number operators

Applies to: number, rating, attendees, event days.

OperatorValue neededExample
EqualsyesNumber is exactly 10
Does not equalyesNumber is not 10
Greater thanyesNumber is above 50
Less thanyesNumber is below 50
Greater than or equalyesNumber is 50 or above
Less than or equalyesNumber is 50 or below
Is emptynoField is blank
Is not emptynoField has any value

Date operators

Applies to: date, event date, event end date.

OperatorValue neededExample
EqualsyesDate is exactly 2026-06-15
Does not equalyesDate is not 2026-06-15
BeforeyesDate is earlier than 2026-06-15
AfteryesDate is later than 2026-06-15
On or beforeyesDate is 2026-06-15 or earlier
On or afteryesDate is 2026-06-15 or later
Is emptynoNo date selected
Is not emptynoA date is selected

Time operators

Applies to: time, event start time, event end time. Values use the HH:MM 24-hour format.

OperatorValue neededExample
EqualsyesTime is exactly 14:00
Does not equalyesTime is not 14:00
BeforeyesTime is earlier than 12:00
AfteryesTime is later than 12:00
On or beforeyesTime is 18:00 or earlier
On or afteryesTime is 18:00 or later
Is emptynoNo time selected
Is not emptynoA time is selected

Options operators (dropdown, radio, picture choice)

Single selection (radio, single picture choice, dropdown without multi-select):

OperatorValue neededExample
EqualsyesSelected value matches the chosen option
Does not equalyesSelected value does not match
Is emptynoNothing selected
Is not emptynoSomething is selected

Multiple selection (dropdown with multi-select, picture choice with multi-select):

OperatorValue neededExample
IncludesyesThe selection contains the chosen option
Does not includeyesThe selection does not contain the chosen option
Is emptynoNothing selected
Is not emptynoSomething is selected

Checkbox operators

Single checkbox (yes/no toggle, no options defined):

OperatorValue neededExample
CheckednoCheckbox is on
UncheckednoCheckbox is off

Checkbox with single selection (only one option can be selected):

OperatorValue neededExample
EqualsyesThe selected option matches vegetarian
Does not equalyesThe selected option is not vegetarian
Is emptynoNothing selected
Is not emptynoSomething is selected

Checkbox with multiple selection (default when options are defined):

OperatorValue neededExample
IncludesyesThe selection contains parking
Does not includeyesThe selection does not contain parking
Is emptynoNothing selected
Is not emptynoSomething is selected

Conflict resolution

When multiple rules target the same element, conflicts are resolved with these fixed priorities:

ConflictWinnerExplanation
One rule says show, another says hideHide winsIf any active hide-rule has its conditions met, the target is hidden regardless of show-rules.
One rule says require, another says make optionalRequire winsIf any active require-rule has its conditions met, the field is mandatory regardless of unrequire-rules.

Show-only rules and default visibility

  • If a field, row, or step has only show-rules (no hide-rules), the target starts hidden and becomes visible when at least one show-rule's conditions are met.
  • If a field has only hide-rules, it starts visible and is hidden when a hide-rule's conditions are met.
  • If both show and hide rules exist, the target starts visible, show-rules can reveal it, but any active hide-rule overrides everything.

Conditions based on hidden fields

If a source field referenced in a condition is itself hidden (by another rule), the condition is treated as not met. This prevents rules from applying based on fields the user cannot see.

Example: Rule A hides field "Country". Rule B checks "Country equals Switzerland" to show "Canton". Because "Country" is hidden, rule B's condition is not met, so "Canton" stays hidden too.

Protected fields

Event title and event date are always visible and required regardless of any rules. Rows and steps that contain these fields cannot be hidden by conditional logic either.

Product and room conditional rules (extended)

Product and room rules use a separate evaluation engine with additional source types beyond regular form fields.

Source types

Source typeWhat it checksAvailable operators
Form fieldThe value of a regular form fieldAll operators for that field type (text, number, date, etc.)
RoomWhether a specific room is bookedIncludes, Does not include, Is empty, Is not empty
ProductWhether a specific product is selected (returns quantity)Equals, Does not equal, Greater than, Less than, Greater than or equal, Less than or equal, Is empty, Is not empty
Order totalThe current order total in the cart (net or gross depending on display settings)Equals, Does not equal, Greater than, Less than, Greater than or equal, Less than or equal
Order quantityThe total number of items in the cartEquals, Does not equal, Greater than, Less than, Greater than or equal, Less than or equal

Order total and order quantity only count standard (manually selected) products. Automatic products are excluded to prevent circular dependencies.

How product/room rules differ from field rules

AspectField rulesProduct/room rules
Where definedForm-level conditional logic tabPer product, product group, or selection group in the products configuration
TargetFields, rows, or stepsA single product, product group, or selection group
Actionsshow, hide, require, unrequireshow, hide, require (selection groups only), auto-book (products only)
Source typesForm fields onlyForm fields, rooms, other products, order total, order quantity
EvaluationSingle passMultiple rounds to handle product-to-product cascades
Auto-book quantityNot applicableFixed number or derived from a form field value

Auto-book details

When a product rule with the auto-book action applies, the product is automatically added to the cart. The quantity can come from:

  • A fixed number set in the rule action.
  • A form field value (e.g., number of attendees). If the field value is not a valid positive number, the quantity defaults to 1.

Auto-booking only applies when the product is visible. If a hide-rule hides the product, auto-book does not apply even if its conditions are met.

Fields that cannot be condition sources

The following field types cannot be used as a condition source because they do not produce a user-entered value:

Field typeReason
HeadingDesign element, no input
Text blockDesign element, no input
SpacerDesign element, no input
SeparatorDesign element, no input
AlertDesign element, no input
ImageDesign element, no input
Rich textDesign element, no input
ProductsComplex composite field
RoomsComplex composite field
Cart summaryDisplay-only field
File uploadBinary data, not comparable
Custom dataInternal data, not user-visible

All other field types (text, number, date, time, checkbox, select, radio, picture choice, email, phone, and all event/address/contact fields) can be used as condition sources.