Forms

Logic & branching

Conditionally show, hide, or require fields based on previous answers.

Rules

Each field has a rules array. Each rule has a condition and an effect:

typescript
{
  field: "companySize",
  rules: [
    {
      when: { field: "isBusiness", equals: true },
      then: { show: true, required: true },
    },
  ],
}

Conditions support equals, notEquals, includes, gt, lt, and a composite and/or.

Branching pages

Multi-page forms can branch to different pages based on a rule. Useful for quizzes, intake forms, and conditional onboarding.