π―Outcomes (results by score range)
Show a different result to each respondent based on their score: add score ranges in the Outcomes dialog, write a thank-you message per range with [field] tokens, redirect a range to a URL after a del
An outcome is what a respondent sees when they finish, chosen by their score. You split the score into ranges (for example Not a fit yet, Promising match, You're a great fit) and give each range its own heading, message and, if you want, a redirect. Outcomes need Scoring to be on.
This page continues the demo form from Scoring: three scored questions with a highest possible score of 14, then an Email and a Name question whose answers are reused in the messages.
Step 1: Open the Outcomes dialog and add ranges
Step 1: Open the Logic tab and click Outcomes in the toolbar. The dialog reads Score ranges mapped to what a respondent sees at the end. The first matching range wins.
Step 2: Click Add a range once per result you want. Each new range starts right after the previous one, and the previous top range closes automatically so the two never overlap.
Step 3: For each range fill in:
Label: the heading respondents see on their result screen (placeholder e.g. You're a great fit). The help text is explicit: it is the big line on the thank-you screen, not an internal name. Write it for the respondent.
From and To: the score range, inclusive on both ends.
The colored bar at the top shows how the ranges divide the score, from 0 to the highest possible score.

Step 2: The top range is open-ended ("and up")
The highest range has no upper bound: its To field reads and up and cannot be typed into. The tooltip explains why: The highest range has no upper bound, so no score is ever left without an outcome. If you add a range above it, the old top range closes and the new one takes over the open end.
Step 3: Write the message, add a redirect and a delay
Below the label of each range:
Message shown for this outcome: the thank-you body for this range. Type
@or[to pick an earlier answer from the Insert a previous answer list; the token is inserted as[field](for example[firstname]or[email]) and is replaced by the respondent's answer on screen. Leave it empty to fall back to the form's own ending message (see Ending screen).Redirect URL (optional): if set, respondents in this range are sent to this URL instead of staying on the thank-you screen. Only
http(s)links are accepted.Show the thank-you first (ms): appears as soon as a redirect URL is set. 0 redirects immediately; 1500 shows the message for a second and a half, then leaves. Up to 60000 ms.
![The top range You're a great fit with To reading and up, a message containing the [firstname] token, Redirect URL https://dapta.ai and Show the thank-you first (ms) set to 3000](https://docs.dapta.ai/~gitbook/image?url=https%3A%2F%2F3835013762-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FCy5rSNtQmtqYCGzJlNEB%252Fuploads%252Fgit-blob-a987f18c87e4e23df1f573684f0922be2360c7be%252Fforms-outcomes-02-top-range-redirect.png%3Falt%3Dmedia&width=768&dpr=3&quality=100&sign=1654536c8d0d4dce13570cd1ab5c22aa&sv=3)
Step 4: Click Done. Changes are saved automatically; remember to Publish to make them live. The outcomes also appear as Ending cards on the Logic canvas, each with its range.
Overlaps, gaps and inverted ranges
The dialog checks your ranges as you type:
Two ranges claim the same score
Refused. The field reverts and the row shows "{label}" already covers {range}. Two ranges can't claim the same score.
To is lower than From
Refused with A range can't end below where it starts.
Some scores are not covered
Allowed, but reported under the list: No range covers {scores}. Those scores see the form's own ending. The bar shows the hole.
Scoring is off
The ranges are kept but grayed out: Scoring is off, so no range can be reached. Everyone sees the form's own thank-you screen. Turn scoring back on in Scoring to use them again.

π‘ Tip: Negative scores are possible when you use negative points. The lowest range can start below zero (for example From -3), so that a respondent who picks every penalizing answer still lands on an outcome instead of the generic ending.
How an outcome is resolved
When the respondent submits, the form computes the score from the answers they actually gave (skipped questions add nothing).
Ranges are checked from the lowest score up; the first range that contains the score wins.
The result screen uses the range's Label as heading and its Message shown for this outcome as body. Any field left empty on the range falls back to the form's own ending (see Ending screen).
If the range (or, failing that, the form's ending) has a Redirect URL, the respondent is sent there, after the delay if one is set.
If no range matches, the respondent sees the form's own ending.

[firstname] filled in.Forced by an answer
A range can also carry rules that make it win regardless of the score, for example "anyone who picked Enterprise lands here". When such rules exist, the range shows a Forced by an answer list that reads them back ({field} is any of {values}, {field} is at least {n}, {field} is at most {n}) with a Remove button next to each, and the note These beat the score outright: a respondent matching one lands here no matter what they scored. These rules are created through the API, not in the dialog; the dialog only shows and removes them, so the ranges you read on screen can be trusted.
Where the outcome goes
The Outcome property mapping receives the range Label (the same text the respondent sees), on completed submissions only.
submission.outcome carries the label.
The {{outcomeLabel}} variable.
The Score column; the outcome label is not a column.
What's next
Set the defaults every range falls back to in Ending screen.
Add a short processing pause before the result with Reveal screens.
Send the score and outcome to your CRM in Form elements.
Last updated