Skip to main content
Administration → Rules is where you tell the product what to do by itself — refuse a status change, set a field, raise a work order, send a notification — and where you find out whether each rule is actually doing it. A rule is a condition over a record, asked at a named moment, with one or more actions that run when it holds. The rules screen, listing the published rules with what each has matched The rules screen, listing the published rules with what each has matched

Who can use this screen

Writing, publishing and retiring rules takes Configure workflows and rules — System Administrator and Maintenance Administrator by default. Anyone without it sees Rules are configured by an administrator instead of the list. See roles.

The list

Each rule is a card:
Unevaluable is the worst of the three. A rule with a mistake in a field name is not switched off and does not look broken — it simply never matches. The count is there so somebody finds out before the notification that stopped arriving is missed.
A rule that refuses a status change does not appear in these counts: refusing rolls back the whole attempt, including the record of the refusal. The person making the move is told at the time instead.

What it has decided

A rule's recent decisions, showing the clause it tested and the value it found A rule's recent decisions, showing the clause it tested and the value it found Show what it has decided lists each recent evaluation with its outcome (such as MATCHED), how long ago it ran, and the reasoning clause by clause — what each clause expected and what it actually found, for example antenna.purpose eq “ENTRY” — was “ENTRY”. Nothing recorded yet. means it has not been asked since it was published, or that only matches are being recorded.

Writing a rule

The editor for a new rule The editor for a new rule Write a rule opens A new rule; Edit opens Edit this rule.

The moments

The GPS tracker, BLE tag and missing-asset moments are about an asset, so a rule on one of them is written for assets; saving one for another register is refused with “Write this rule for assets.”

The condition

The condition builder is the same one used by approval workflows, Form studio and Document studio. The operators offered depend on the kind of field: Values are offered as the field’s own choices where it has them — statuses, priorities, records to pick — and can be typed otherwise. Fixed choices are offered in words rather than as stored codes. A clause on a field that names a record — a site, a category, a person — starts as is one of, with a picker you tick several rows in (Select all and Clear all are at the top of the list), because a filter on a record is almost always the jobs at these three sites. Change the operator to is for one value. Where a field’s values are added one at a time, Match any of several values — this becomes “is one of” turns the clause into a list. Two is clauses on the same field joined by All of these must hold can never both be true; the builder says so and suggests combining them into one is one of clause.

The actions

Add an action… offers every action; choose one and Add. Each action says whether it runs immediately or runs in the background — decided by the kind of action, not chosen. A background action is queued, so it cannot fail the save that triggered it. Drag actions to change the order they run in. Nothing happens yet. A rule with no actions cannot be published — it would evaluate on every event and do nothing with the answer.

Trying it before it is live

Try it against a real record runs the engine itself against the condition as it stands in the editor — saved or not — on a record you name in the id of a record to try it on. Nothing is performed and nothing is written. Run comes back with the outcome, the reasoning clause by clause and, under It would:, what the rule would do. Save the rule once before testing it.

Saving is not publishing

Saving a rule does not put it live. Publish does, and it is a separate button on the card.
Editing a published rule returns it to draft with its version advanced, because the decisions it has already recorded name the version that made them. Retire takes a live rule out of service and keeps its history.

Where else rules are used

The moves on the statuses and transitions screen point here for anything that has to be true before a move, or happen after one — use Before a status change and After a status change, and a clause on the status the record is heading for.