Documentation

Reference

Explore Govform.com guidance, configuration details and practical steps for reference.

Operators, triggers and coded values

This reference helps you choose the right comparison operator and action trigger in Builder. Use the visible Builder labels where possible; the coded values are included only to help when reading an existing configuration, integration or Liquid expression.

Choose an operator by the data type

Use an operator that matches the value you are comparing. A condition can look correct but never pass if, for example, it uses a text comparison for a choice item or a numeric comparison for a date.

What you need to test Builder operator When to use it
Exact text match Text equals codes and controlled text values
Text differs Text does not equal a known text value must not be present
Case does not matter Text equals, ignore case identifiers where letter case has no meaning
Part of a text value Text contains, starts with or ends with deliberate search or routing rules; test carefully
Pattern match Text matches regular expression advanced, reviewed validation or matching only
Approximate text Fuzzy text match controlled search experiences, not critical identity decisions
Number comparison equals, greater than, less than and variants quantities, amounts and numeric thresholds
Date comparison equals, after, before and variants date-only business rules
Selected choice Contains selection item radio, checkbox or select answers
Compare two fields Same as another field / Different from another field confirmation values or controlled equality checks
Presence Has a value / Has no value optional information and route checks
Lookup outcome Lookup found a match / no matches feed or list search routes
Action outcome Action succeeded / failed controlled follow-on behaviour

For a choice comparison, use the stable selection item ID—not the visible label. For date comparisons, use the expected ISO-formatted date and test boundary cases such as today. Some date rules can use the current-day start or end values when the service needs a relative date comparison.

Combine rules with AND or OR

Use all conditions (AND) when every rule needs to pass. Use any condition (OR) when at least one rule is enough. Start by writing the business rule in a sentence, then choose the operator:

flowchart TD
  A[Written business rule] --> B{Must every statement be true?}
  B -- Yes --> C[Use AND]
  B -- No, one is enough --> D[Use OR]
  C --> E[Test true and false routes]
  D --> E

Avoid deeply nested or inverted logic where two small, named conditions would be clearer. Conditions should explain the service rule to a future maintainer.

Choose action timing

An action trigger determines when an action runs in the journey. Select the latest practical trigger that still gives the action the values it needs.

Trigger Use it for Caution
Page load data needed as the page begins returning to the page can run it again
After page load work that follows page setup confirm all dependencies are available
Before validation controlled preparation before validation do not expect completed page input
After validation work based on valid submitted answers common choice for integrations and messages
On service completion final hand-off or confirmation work test the final completion route
Workflow a workflow step rather than a user page make the operator outcome clear
When a PDF is requested work required only for that request avoid using it for unrelated lifecycle work

Redirects should be last in a trigger sequence. Navigation can prevent later actions from running.

Read coded values safely

Coded values are the stored forms behind Builder labels. They are case-sensitive in configuration and should not be guessed or edited casually. When maintaining an existing service, use the Builder UI to make changes and keep stable IDs intact unless you have reviewed every dependency.

Common coded values include:

  • choice comparisons that use the selection item’s stable ID;
  • action triggers such as pageLoad, pagePostValidate and isUserComplete;
  • result modes such as single or multiple results;
  • redirect targets such as internal, external and reload; and
  • action IDs and condition IDs used by templates and later actions.

If an unfamiliar coded value appears in a configuration export, locate its Builder setting and detailed reference before changing it. Treat configuration IDs as dependencies, not as cosmetic labels.

Troubleshoot a condition or action

If a condition never passes, check the source value, data type, operator, right-hand value and AND/OR logic. If an action does not run, check its trigger, execution conditions, button filter and whether a preceding redirect changed the route.

Use Builder flow simulation to explore a possible path, then confirm it in User view and QA. Simulation supports design; it is not evidence of live runtime behaviour.

Related guidance

Keep exploring

Explore more documentation

View all categories →