What it does
- Per-MSP rule engine — create as many rules as you need, each with its own filter + recipient list
- Ticket-spike detection — a built-in detector that fires when 3+ tickets from the same company arrive within 2 hours
- Filterable triggers — match on ticket priority, source channel (portal / email / SMS / Teams / manual), portal company, and assigned technician
- Recipient cap — each rule supports up to 25 email recipients (defense against accidentally CC-ing the entire org)
- Org-scoped — rules are tenant-scoped at the API layer; an MSP cannot receive a notification for another MSP’s tickets
How to create a rule
1
Open the rules page
Navigate to Settings → Notification Preferences and switch to the Rules tab.
2
Click New Rule
Enter a descriptive name (e.g., “Critical tickets for Acme Health → on-call inbox”).
3
Choose the trigger event
Currently supported:
- Ticket Created — fires on new ticket from any source
- Ticket Status Changed — fires on every status transition
- Ticket Reply Added — fires on every customer-visible reply
- Ticket Spike Detected — the built-in 3-in-2h detector (see below)
- SLA Warning — fires when a ticket’s SLA timer enters the at-risk window before breach
- Ticket Escalated — fires when an automation rule or operator moves a ticket to ESCALATED status
4
Add filters (optional but recommended)
- Priority — LOW / MEDIUM / HIGH / CRITICAL (one or many)
- Source — Portal / Email / SMS / Teams / Manual (one or many)
- Company — narrow to a specific portal company or “All”
- Assignee — narrow to a specific technician or “All”
5
Add recipients
Up to 25 email addresses per rule. Each email is treated independently — no shared inbox is required.
6
Save and enable
Toggle Enabled and click Save.
Customer priority is the filter source of truth
ThePriority filter matches against the value set at ticket creation by the customer (portal, Teams bot), the inbound-email classifier, or the operator. The AI auto-analyzer never changes priority on its own (see Automations & AI → AI and ticket priority), so a rule keyed on CRITICAL will fire correctly for every customer-submitted CRITICAL ticket.
Ticket-spike detection
When 3 or more tickets from the same portal company arrive within a 2-hour window, the Ticket Spike Detected trigger fires. Useful for catching site-wide outages early — one rule with this trigger and your on-call inbox covers every customer. The spike detector runs as part of the same Inngest pipeline that handlesapp/ticket.created events, so the alert email lands within seconds of the third ticket. The notification email links to all tickets in the spike for quick triage.
Frequently asked questions
Can a notification rule write to a ticket (e.g., change assignee)?
Can a notification rule write to a ticket (e.g., change assignee)?
No. Notification rules only send emails. For state-changing automations (assign / change priority / set status), use PSA → Automations — that engine is separate.
What if a rule has 0 recipients?
What if a rule has 0 recipients?
The rule is invalid and cannot be saved. You must specify at least one recipient.
How do I stop a rule temporarily?
How do I stop a rule temporarily?
Toggle Enabled off on the rules list. The rule is preserved but won’t fire until re-enabled.
Are recipients deduplicated across rules?
Are recipients deduplicated across rules?
Yes. If two rules match the same ticket and both list
alice@example.com, alice receives one email (not two). The email enumerates which rule(s) matched so the recipient understands why they’re being notified.Can I scope a rule to my MSP-managed clients only?
Can I scope a rule to my MSP-managed clients only?
Yes — set the Company filter to one specific client, or create one rule per client. Notification rules are tenant-scoped at the API layer; you cannot accidentally route another MSP’s tickets to your inbox.