How to read the list
Every rule shows what it has actually done, because the two questions anybody has about a rule are the two a form cannot answer: is it doing anything? and would this change do what I think?
A rule that refuses a transition does not appear in these counts. Refusing rolls the whole attempt
back, including the record of the refusal; the person trying to make the move is told at the time
instead.
Show what it has decided opens the last twenty times the rule was asked, clause by clause, with
what each one expected and what it actually found.
Writing one
1
Name it
A code, a name, and a line saying what it is for.
2
Choose what it is about, and when it is asked
The record type, and the moment — as a record moves, once it has moved, when a candidate is
being considered for a job, and so on. Each moment carries a hint saying what it means.
3
Say when it applies
The condition builder: groups combined with all of these must hold or any one of these is
enough, with not where you need it, nested up to a few levels deep. Each clause is a
field, a test and a value. The fields offered are the ones the record actually carries, and you
can type your own.An empty condition is a rule that applies to every event of its kind. That is a real thing to
want, so it is reachable rather than refused.
4
Say what happens
One or more actions. Each says whether it runs immediately or runs in the background —
that is decided by the kind of action, not chosen. A background action is queued, so it cannot
fail the save that triggered it.A rule with no actions cannot be published.
5
Set the priority
Rules are asked in priority order. Stop after this one matches ends the run for that record.
Trying it before it is live
Try it against a real record runs the engine itself against the condition as it stands, on a record you name. Nothing is performed and nothing is written. It comes back with the outcome, the reasoning clause by clause, and what the rule would do. This is not a second opinion computed by the screen — it is the same evaluator that will decide for real. Save the rule once before testing it.Saving is not publishing
Saving a rule does not put it live. Publishing does, and it is a separate button.