Search the documentation

Find a page by title or section.

Administration

Notification rules

Rules that decide who hears about a fleet event, on which channel, how often, and what happens if nobody acts.

Updated

A notification rule reads as one sentence: when this happens, tell these people, this way. Everything else on a rule — the throttle, the schedule, the escalation — exists to stop that sentence firing more often than anyone can act on. Rules live under Customization, separately from the notification feed itself.

Who can do this

Role
Administrators
Permission
notification-rules:readnotification-rules:writenotification-rules:delete

Drivers receive notifications but cannot see or edit the rules that produce them.

What a rule is made of

Every rule carries the same six parts.

  • Trigger event — one of the ten events listed below. A rule watches exactly one.
  • Conditions — optional filters on the event’s own data. All conditions must match; within one condition any listed value matches.
  • Recipients — by role, by named person, or resolved from the event itself.
  • Channels — push, email, webhook, or any combination. Each is attempted independently.
  • Throttle — a cooldown that suppresses repeats for the same thing.
  • Schedule and escalation — when the rule is awake, and who to chase when nobody acknowledges.

The events you can trigger on

The list is fixed, and the rules page groups it the same way the form does. Trip events: created, completed, failed, cancelled. Stop events: departed, failed. Fleet and GPS: route deviation, signal loss detected, vehicle breakdown. Delivery windows: window violation, raised when a stop’s estimated arrival falls outside the window it was promised for.

Building a rule. The form walks the six parts in order.

  1. 1

    Start a new rule

    Customization → Notification Rules → New rule

    With no rules yet the page offers starter templates instead of an empty list; picking one pre-fills the form and you edit from there.

  2. 2

    Choose the trigger event

    One event per rule. Two rules on the same event are fine and are evaluated independently — that is how you send a terse push to dispatch and a fuller email to a manager for the same failure.

  3. 3

    Pick who hears about it

    Roles expand to everyone currently holding that role. Named people are fixed. Event references are resolved when the event fires — the trip’s assigned driver is the one that is wired up today. Duplicates across the three are collapsed, so someone in a role and also named individually is notified once.

  4. 4

    Add channels

    At least one is required. A webhook additionally needs its URL, which is validated when you save rather than when it first fires.

  5. 5

    Set the throttle and the active window

    Both are optional. Leave the hours empty and the rule is awake around the clock; leave the cooldown at zero and every matching event notifies.

  6. 6

    Save, then test it

    A rule can be fired at a single person on demand. The test send is prefixed so nobody mistakes it for a real incident, and it ignores the schedule and the throttle so you are testing the delivery, not the timing.

Channels

PushEmailWebhook
Goes toRegistered mobile devicesThe address on the user recordA URL you own
Needs setupThe app installed and signed inNothingA URL, optionally a signing secret
Sent asOne batched send to all recipientsOne batched message, recipients on BCCOne request per recipient
Silently skipped whenNo device is registered, or the type is switched offThe user record has no addressThe URL is blank
Signedn/an/aHMAC-SHA256, when a secret is set
The three delivery channels. A rule may use any combination.

Channels fail independently. A dead webhook does not stop the push, and a recipient with no email address is skipped without failing the batch for everyone else. Each attempt is recorded whether or not the send succeeded, so the dispatch history is a record of intent rather than proof of receipt.

Throttling, quiet hours and critical events

Three limits sit between an event and an inbox, and they apply in this order. First the rule’s cooldown, which is held per rule and per subject — a cooldown on one trip never silences a different trip. Then the active window: outside it the notification is queued rather than dropped, and released when the window next opens. Finally a per-person cap of 50 notifications an hour, which protects one unlucky dispatcher from a storm no single rule caused.

Escalation

Escalation answers the question the rest of the rule cannot: what if nobody acts. Turn it on and give it a timeout, and any notification that has not been acknowledged by then is re-sent to a second set of recipients, marked as an escalation and raised to critical priority. Leave the escalation channels empty and it reuses the rule’s own.

Escalation happens once. After the second wave goes out the original is taken off the eligible list, so an unacknowledged notification cannot re-escalate on every sweep until somebody clears it.

When a rule does not fire

The event definitely happened, and nobody was notified
Cause

The rule matched but resolved to zero recipients, or every recipient was filtered out.

Check the recipient roles first — a role with no members resolves to nobody and the rule is skipped entirely. Then check whether the rule is still switched on: the toggle on the list is a live control and does not need the rule to be opened.

Notifications arrive in a burst hours after the event
Cause

The rule was outside its active window, so the notifications were queued rather than sent.

Queued notifications are released when the window next opens, which is working as designed. If the delay is not what you wanted, widen the hours or move the rule to an event that bypasses the window.

The first alert arrived and the follow-ups did not
Cause

The rule’s cooldown is suppressing repeats for that same trip or vehicle.

The cooldown is scoped to the rule and the specific subject, so it is doing exactly this on purpose. Lower it, or split the noisy case onto its own rule with a shorter window.

A webhook URL is refused when I save the rule
Cause

The URL points somewhere the platform will not call.

Internal addresses and cloud metadata endpoints are rejected at save time rather than failing quietly on every dispatch. Use a publicly resolvable HTTPS endpoint.

A driver gets email but never a push
Cause

No active device token, or that notification type is switched off in their own preferences.

Push needs the app installed, signed in and permitted to notify. Each person also has personal switches per notification type; those are theirs to set and a rule cannot override them.

Terminology

Your organisation can rename these. If your screens say something else, this is what they mean here.

Trip
One journey with an ordered list of stops. Event names and rule labels follow whatever you have renamed it to.Rename it in Customization → Terminology
Stop
One ordered call within a trip. Stop events in this list are named after your term for it.Rename it in Customization → Terminology