Presets
Last updated recently
Presets
A preset is a reusable rule - state is one of TX, FL, AZ, or consent is true and it is a weekday between 9am and 6pm. Presets do not do anything on their own. They become useful when a routing setup pairs one with a list of destinations, which is how a lead from Texas reaches different destinations than a lead from Ohio.
If every lead should go to the same destinations in the same order, skip presets entirely and put your destinations in the routing setup's default waterfall. Presets are for when leads need to diverge.
Where they live
Routing → Presets is the global library - presets available to every routing setup you have.

You can also create a preset from inside the routing builder, in which case it defaults to belonging to that one routing setup. A switch widens it to the global library if you later want to reuse it.
The distinction is only about reuse. A local preset and a global one behave identically at run time.
Building one

A preset is a name, a list of rules, and whether all of them must be true (AND) or any of them (OR).
Each rule has four kinds:
Field tests a canonical field against a value. This is what you will use nearly all of the time.
Runtime tests attribution data captured with the lead rather than answered by the visitor - which page they were on, where they came from, campaign parameters.
Time of day tests against a window in a named timezone. Windows may wrap past midnight, so
22:00–06:00 works as you would expect.
Day of week tests which days are allowed.
The last two exist because most destinations only want leads while their call centre is staffed.
Operators
| Operator | Notes |
|---|---|
| equals, not equals | Booleans compare sensibly against the words true and false |
| contains, not contains | Substring |
| starts with, ends with | Substring, anchored |
| greater than, less than | And the "or equal" variants; compares numerically when both sides are numbers |
| in, not in | Against a list of values - the one you want for a list of states |
| is empty, is not empty | The only operators that treat a missing field as a legitimate answer |
How they are evaluated
This is the part worth reading twice, because two of the rules are deliberate and surprising.
Branches are tried in priority order, and the first match wins. In the routing builder, priority is vertical position - the topmost preset is tried first. Nothing below a matching branch is considered.

No match sends the lead to the default branch. If nothing matches and there is no default waterfall configured, the lead is stored and marked unsold, and the logs records why.
A preset with no rules never matches. It would be reasonable to assume an empty preset matches everything; it does the opposite, on purpose. A half-configured branch sitting at the top of the list would otherwise swallow every lead in the account before anything else was tried.
A missing field makes a rule false, never an error. If a preset tests state and a lead
arrives without one, the rule is false and Formwork records a warning against the lead. Nothing
throws and nothing matches by accident - but a preset testing a field that never arrives will
quietly never fire, which is why the builder flags presets whose fields no attached source supplies.

Attaching destinations to a preset
A preset on its own routes nothing. In the routing builder, a branch pairs one preset with an ordered list of destinations - and that list is the waterfall the lead is offered to if the preset matches.

Drag branches up and down to change which is tried first. Drag destination chips within a waterfall to change who gets first refusal.
A branch whose preset has been deleted is marked broken in the builder and is skipped at run time. It is left visible rather than silently removed so that you can see what happened and either repoint it or delete it deliberately.
A worked example
Say you sell solar leads, your best destination only covers the southwest, and everybody else takes national volume.
- Create a global preset Southwest with one rule:
stateinTX, AZ, NV, NM. - In your routing setup, add a branch for it and put your premium destination first, then a backup.
- Leave the default waterfall as your national destinations.
A Texas lead is offered to the premium destination; if they decline it falls to the backup, and if that declines too, nothing further happens - the default is only used when no preset matched, not as a fallback for a matched branch that came up empty.
That last point catches people out. If you want a matched branch to fall through to your national destinations, add those destinations to the end of that branch's waterfall too.
What to read next
- Routing - where presets are paired with destinations and put in order.
- Destinations - the lists presets point at.
- Fields - the values presets test.