Logic & Personalization

Logic turns a static form into a smart one: it sends people down different paths based on their answers, hides or shows fields, computes values, and personalizes the wording. This is what makes a quiz feel tailored and an intake form feel short.

Logic rules

A logic rule has three parts:

  1. A trigger — the field whose answer is being checked.

  2. A condition — a test on that answer (equals, contains, ends with, greater than, and so on). Conditions can be combined with and / or for more complex tests.

  3. One or more actions — what to do when the condition is true.

Those three parts are the wire shape too: trigger_field, condition, actions. A rule with any other top-level key is rejected — the schema forbids extras rather than ignoring them.

A rule, concretely — send larger teams straight to a call instead of the self-serve path:

{
  "trigger_field": "team_size",
  "condition": {
    "op":    "greater_than",
    "left":  { "type": "field",    "value": "team_size" },
    "right": { "type": "constant", "value": "25" }
  },
  "actions": [
    { "type": "jump", "target": "field", "target_id": "book_a_call" }
  ]
}

Two things catch people out. Each side of a comparison is a typed operand{"type": …, "value": …} — not a bare field name or literal. And a constant's value is written as a string, even when you are comparing numbers, so "25" rather than 25.

Operators are written long-form — equal, not_equal, contains, begins_with, greater_than, later_than, answered, and so on. There is no eq alias; a short form fails validation.

What rules can do

  • Jump — skip ahead to a later field, or straight to a specific thank-you screen. This is how you build branching paths: answer A goes one way, answer B another.

  • Show / hide — reveal or hide a field depending on earlier answers, so people only see what is relevant to them.

  • Calculate — add, subtract, multiply, or divide into a variable. This is how you build scored quizzes and lead-scoring forms.

Variables

Declare a variable to keep a running value as someone fills out the form — a score, a total, a category. Logic actions update it, and you can branch on it. For example, sum points across answers, then jump to a "You're a great fit" thank-you screen if the score clears a threshold.

Hidden fields and URL prefill

Hidden fields are values you carry along without asking — a campaign tag, a referrer, a lead id. They can be prefilled from the URL, so a link like ?utm_source=newsletter lands that value on every submission. Use them to attribute submissions and to personalize.

Recall — personalizing the wording

You can echo earlier answers back into later questions and into your welcome and thank-you screens — "Thanks, Jordan!" — so the form speaks to the person filling it in.

Validate before you ship

Logic can get intricate. Validate the form before publishing — the validator checks that every rule points at fields and targets that exist, so you do not ship a dead-end jump. Agents can call the validation tool directly; the dashboard validates as you build.

Tips

  • Branch early, converge late. Send people down the shortest relevant path, then bring them to a common ending.

  • Keep scores in variables, not in hidden fields, so logic can update them as answers come in.

  • Test every branch. Walk each path once before going live.

Next steps

Publish