Read the rules list the way Rulebase reads it
Conditions prints the whole trigger as a sentence: the event name, then the conditions in brackets joined withand,
or (all conversations) when the rule has none. Actions prints what will
happen, or - when the rule has nothing to do.
Row order on this page is execution order. When an event fires, Rulebase walks the
list from the top, skips any rule watching a different event, and stops at the
first rule whose conditions all hold. Hovering a row shows a drag handle on the
left for reordering, which appears once you have more than one rule.
Scan for these before opening your own rule:
- A rule above yours that would also match this ticket. It runs, yours does not.
- A rule whose Conditions cell reads Any. It has no trigger set, so it is a candidate for every event.
- A rule whose Actions cell reads
-. It still counts as a match and still stops the rules below.
One rule per event, and the top one wins
Matching is not cumulative. If two rules could both handle a ticket, only the higher one does, and the lower one behaves exactly as though it did not exist. Nothing in the interface logs that this happened.Most workspaces contain a rule nobody created. It reads Any under Conditions
with nothing in the brackets, and - under Actions, and it matches any event on
a ticket that scored below 80%. It stops the rules under it while appearing to do
nothing. If your rules only fail on low-scoring tickets, this is almost certainly
why. Drag your own rules above it.
The trigger has to be the exact event
A rule only ever sees the one event it names, set in the rule’s When section. Open your rule, read what When is set to, and check it against the list below. Each trigger fires at a different moment.
Submitting a manual evaluation
for review raises Evaluation approval is requested. A rule built on Ticket is
evaluated will never see it, however well its conditions fit.
A rule also cannot fire on an event that never happened. If AI QA never scored the
ticket, no evaluated event was raised, and no rule tuning will route it. That is a
different problem with a
different fix.
Conditions must all hold, and some cannot hold at all
Conditions are joined withand, so every one has to be satisfied and each
condition you add is another chance for the rule to be skipped. Common silent
misses:
- Blank data fails a condition, including a negative one. A ticket with no
channel recorded does not match
Channel includes Email, and it does not matchChannel does not include Calleither. The same holds for Group, Partner, Workspace, and Ticket status: no value on the ticket means no match, in either direction. - Failed criteria means scored zero. The condition matches criteria that scored 0 on the evaluation. A criterion that came back partial does not count as failed here, even though the ticket looks like a failure to a reader.
- Customer sentiment never matches. The field cannot be added from the rule editor under any of the five triggers, and a rule still carrying one from an earlier version does not resolve it against a ticket, so that rule will never fire. Use a QA score condition instead.
The rule fired, but nothing appeared to happen
Sometimes the rule matched and the action ran without changing anything. From outside this looks identical to a rule that never fired, but the causes differ, and every one still consumes the event, so the rules below stay skipped.
Assignment also picks one person at random. If a rule assigns to a role or a set
of members, selecting five people spreads tickets across them one at a time rather
than notifying all five, so “my rule didn’t fire” sometimes turns out to be “it
fired and picked someone else”. Add a notification action alongside the assignment
when everyone needs to see the ticket.