Conditional logic form builder

Build respondent paths with a conditional logic form builder

KinoForms is a form builder with conditional logic for visibility, required fields, option filtering, validation, and review-ready submission data.

Problem

Static forms force every respondent through the same path

When a form includes eligibility, budget, country, service type, or approval answers, irrelevant fields create friction and stale data.

Dependency rules keep the respondent path focused

KinoForms dependency rules can change field visibility, requirements, descriptions, disabled states, allowed options, and stale values as answers change.

  • Show and hide fields or sections
  • Require fields only when the answer path needs them
  • Filter select options and clear invalid values
  • Refine validation before submission review

Build forms that react like real workflows, not static questionnaires

KinoForms lets teams model the logic behind the form: what should appear, what should be required, which options are valid, and which submissions are clean enough to review. The result is a conditional logic form builder that keeps the respondent experience and the stored schema in sync.

Predicates

Equals, contains, ranges, regex, empty states, and more.

Effects

Show, hide, require, filter options, set limits, and clear values.

Rule graph

Dependency builder

1

When application type is Scholarship

Require eligibility details and reviewer context

setRequiredshow
2

When budget is above the review threshold

Show approval notes and route the response for review

greaterThansetDescription
3

When country changes

Filter program options and clear stale selections

filterEnumclearValue

Schema guardrails

Validate before review

Required fields that change with the respondent path

Pattern, min/max, length, and option checks

Schema-aware submission data before the review queue

Rules that can hide, show, require, disable, or refine fields

Validation contract
FieldEligibility reason
TypeLong text
RequiredConditional
Min length80 characters

When matched

If application type is Scholarship, show the eligibility field and require it before review.

Try the template behavior before starting from it

These are small form surfaces, not screenshots: change values and watch the respondent view update in place.

Simple template

Project request

Ready

100%

Request type

Budget estimate$4,500

Live response

Title

Launch page cleanup

Type

Design

Contact

Email

Budget

$4,500

Dependency example

filterEnum in action

Applied rule

Saudi program options

Engine output

Allowed values

ScholarshipResearch grant

Respondent sees

Scholarship, with other program options removed from the select.

Template definitions with rules you can inspect

Each example below carries fields, schema, and dependency data together so the public template page shows the logic behind the respondent path.

Live template

Program application

Active rules

Scholarship requires transcript

show, setRequired, setDescription

Hide research plan outside grant path

hide, setOptional

Hide guardian contact for adults

hide, setOptional

Required now

Application typeApplicant countryApplicant ageTranscript

Hidden now

Research plan summaryGuardian email

Outcomes

  • Transcript appears and becomes required only on the scholarship path.
  • Research plan appears and becomes required only on the research grant path.
  • Guardian email appears only when the age rule marks the applicant as a minor.

Inspect definition

{
  "fields": [
    {
      "id": "applicationType",
      "label": "Application type",
      "kind": "select",
      "options": [
        {
          "value": "scholarship",
          "label": "Scholarship"
        },
        {
          "value": "research",
          "label": "Research grant"
        },
        {
          "value": "event",
          "label": "Event access"
        }
      ]
    },
    {
      "id": "country",
      "label": "Applicant country",
      "kind": "select",
      "options": [
        {
          "value": "saudi",
          "label": "Saudi Arabia"
        },
        {
          "value": "uae",
          "label": "United Arab Emirates"
        },
        {
          "value": "global",
          "label": "Global"
        }
      ]
    },
    {
      "id": "age",
      "label": "Applicant age",
      "kind": "number",
      "min": 14,
      "max": 80,
      "step": 1
    },
    {
      "id": "transcriptUpload",
      "label": "Transcript",
      "kind": "file",
      "accept": ".pdf,application/pdf"
    },
    {
      "id": "researchPlan",
      "label": "Research plan summary",
      "kind": "textarea",
      "placeholder": "Summarize the research plan"
    },
    {
      "id": "guardianEmail",
      "label": "Guardian email",
      "kind": "text",
      "placeholder": "[email protected]"
    }
  ],
  "schema": {
    "type": "object",
    "required": [
      "applicationType",
      "country",
      "age"
    ],
    "properties": {
      "applicationType": {
        "type": "string",
        "enum": [
          "scholarship",
          "research",
          "event"
        ]
      },
      "country": {
        "type": "string",
        "enum": [
          "saudi",
          "uae",
          "global"
        ]
      },
      "age": {
        "type": "number"
      },
      "transcriptUpload": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "size": {
            "type": "number"
          },
          "type": {
            "type": "string"
          }
        }
      },
      "researchPlan": {
        "type": "string"
      },
      "guardianEmail": {
        "type": "string"
      }
    }
  },
  "dependencyData": {
    "version": "1.0.0",
    "rules": [
      {
        "id": "scholarship-documents",
        "name": "Scholarship requires transcript",
        "when": [
          {
            "field": "applicationType",
            "op": "eq",
            "value": "scholarship"
          }
        ],
        "enforce": [
          {
            "target": "transcriptUpload",
            "action": "show"
          },
          {
            "target": "transcriptUpload",
            "action": "setRequired"
          },
          {
            "target": "transcriptUpload",
            "action": "setDescription",
            "description": "Required only for scholarship applicants."
          }
        ]
      },
      {
        "id": "non-scholarship-documents",
        "name": "Hide scholarship documents for other paths",
        "when": [
          {
            "field": "applicationType",
            "op": "neq",
            "value": "scholarship"
          }
        ],
        "enforce": [
          {
            "target": "transcriptUpload",
            "action": "hide"
          },
          {
            "target": "transcriptUpload",
            "action": "setOptional"
          }
        ]
      },
      {
        "id": "research-plan",
        "name": "Research grant requires a plan",
        "when": [
          {
            "field": "applicationType",
            "op": "eq",
            "value": "research"
          }
        ],
        "enforce": [
          {
            "target": "researchPlan",
            "action": "show"
          },
          {
            "target": "researchPlan",
            "action": "setRequired"
          }
        ]
      },
      {
        "id": "non-research-plan",
        "name": "Hide research plan outside grant path",
        "when": [
          {
            "field": "applicationType",
            "op": "neq",
            "value": "research"
          }
        ],
        "enforce": [
          {
            "target": "researchPlan",
            "action": "hide"
          },
          {
            "target": "researchPlan",
            "action": "setOptional"
          }
        ]
      },
      {
        "id": "minor-guardian",
        "name": "Minor applicants need guardian contact",
        "when": [
          {
            "field": "age",
            "op": "lt",
            "value": 18
          }
        ],
        "enforce": [
          {
            "target": "guardianEmail",
            "action": "show"
          },
          {
            "target": "guardianEmail",
            "action": "setRequired"
          }
        ]
      },
      {
        "id": "adult-guardian-hidden",
        "name": "Hide guardian contact for adults",
        "when": [
          {
            "field": "age",
            "op": "gte",
            "value": 18
          }
        ],
        "enforce": [
          {
            "target": "guardianEmail",
            "action": "hide"
          },
          {
            "target": "guardianEmail",
            "action": "setOptional"
          }
        ]
      }
    ]
  }
}

Where this page fits

These examples keep the page focused on narrow form-workflow intent instead of broad form-builder copy.

Scholarship applications with eligibility branches
Client intake forms with service-specific details
Research screening with inclusion criteria
Internal requests with budget approvals

How the workflow moves

Use conditional logic when respondents should see only the fields and options that apply to their workflow.

1

Define predicates

Match answers with equality, ranges, text checks, empty states, dates, and validation-aware conditions.

2

Attach effects

Show, hide, require, disable, clear, set descriptions, filter choices, and prevent invalid stale selections.

3

Review clean submissions

Keep the displayed respondent path and stored submission data aligned before responses reach review.

What this looks like in a form

Country-specific program options

When country is Saudi Arabia, show scholarship and research tracks; when country changes, remove stale program values.

Conditional file upload

Require a private transcript attachment only for scholarship applications while keeping it hidden from paths that do not need evidence.

Common questions

What makes KinoForms a conditional form builder?

KinoForms is a conditional form builder that can show, hide, require, disable, refine, filter options, clear stale values, and validate fields as respondents answer.

Can KinoForms work as a form builder with conditional logic?

Yes. Teams can use KinoForms rules to show, hide, require, disable, refine, filter options, and validate fields based on respondent answers.

Can conditional logic improve submitted data quality?

Yes. Conditional requirements and option filtering can prevent irrelevant missing fields and stale values before submissions reach review.

Design a form path that changes with the answer

Use conditional logic when respondents should see only the fields and options that apply to their workflow.

Start building