The ticket queue that raises its own hand
Every inbound ticket is classified and prioritised on arrival, and the ones that actually need a human now reach a specific person on the channel they will actually see.

Before
Every ticket arrived at whatever priority its sender implied.
Tickets arrived into the queue at whatever priority the sender's tone implied, which is to say at whatever priority the client set. A genuine outage and a password reset landed looking much the same, and the difference was found by a human reading down the list.
Anything urgent that came in outside the moment someone happened to be looking at the queue simply waited — a P1 with nobody assigned to it is not a system state anything was watching for, it was a thing you noticed. And the notifications that did exist went out as email and push, into the same stream as everything else, which meant they were reliably ignored in exactly the situations that mattered: mid-meeting, driving, out of hours.
- 41%
- of tickets picked up within the hour
- 1 in 4
- still waiting a full day later
- 9%
- never assigned to anyone at all
Measured over 637 tickets that arrived with no assignee between 1 March and 11 June 2026, each observed for at least 30 days. Genuine inbound support work only — prospect, sales, internal, operations, projects and administration queues are excluded by construction. "Assigned" is the first change of owner away from nobody in the ticket's own history; a later reassignment does not count. Tickets that already had an owner when they were raised never waited, so they are excluded rather than counted as zero.
What we built
Two cooperating pieces: one decides, one watches.
The first classifies every inbound ticket on arrival and sets its priority from what the ticket actually describes rather than from how the sender phrased it. The second watches the queue continuously for the states that need a person — a critical ticket with nobody on it, a backup that has failed, a firewall that has gone dark — and routes each one to a named human through the channel they will actually notice, based on what they are doing right now.
- 01
Priority from impact, not wording
Classifies each inbound ticket on arrival and sets its priority from the described impact, not the sender’s phrasing.
- 02
A decision card, not an alert
Posts the classification, the reasoning behind it, and the person it belongs to into Teams for critical tickets — so the judgement can be checked rather than trusted.
- 03
Watching for what nobody is watching
A one-minute cycle over the states nobody is looking at: a critical ticket unassigned past its window, an open backup failure, a network device offline past a threshold.
- 04
Routed by what you are doing
The same alert reaches you differently in a meeting, driving, or asleep — and non-urgent ones are held rather than allowed to interrupt.
- 05
Deduplicated aggressively
One alert per device per day, one per event, so a persistent fault does not become a persistent notification.
What it looks like in use
Both are reconstructions. The live queue carries client data in the ticket title as well as the company field, so these are rebuilt with invented tickets rather than redacted.


What changed
We measured the after, and it is flat. So there is no rail here.
The retroactive pull was run specifically to fill this section, and the answer came back flat: four points better inside a day, slightly worse inside an hour, worse at the extreme tail. There is no defensible improvement to publish, so we are not publishing one. Two measurement traps produced a believable wrong answer first — running the after-window to the present day dropped the slowest tickets for not having been assigned yet, and computing percentiles over only the tickets that were assigned compared different populations. Both flattered us. What the system demonstrably changed is which tickets a person sees first, and that is § 3 and § 7’s story rather than a number’s.
What didn't work first time
Four things we got wrong, in our own shop.
We turned off two of our own alerts for being noise
The first build nagged on any unassigned ticket past a threshold, and on any unassigned critical-or-high. Both had to be disabled. The queue carries prospect enquiries and non-support items that are unassigned because they are not support work, and the alerts fired on all of them. An alerting system that cries wolf is worse than no alerting system, because the second one at least does not train you to ignore it. What survives is narrow on purpose: critical, genuinely unassigned, past a real window.
Both notification channels went silent for a month and nobody noticed
Two systems posted to two different Teams channels, and each was quietly assumed to be covered by the other. When one stopped, the reasoning that should have caught it — "the other one still runs" — was the exact belief on both sides. Nothing alerted, because an alerting system that is not running does not alert you that it is not running. The uncomfortable part is the duration: a month, in a business whose product is noticing things. Each channel now has one named system behind it, written down, rather than an assumption.
We were mapping priorities to the wrong identifiers
For a period the classifier was setting priorities correctly and writing them against mismatched identifiers, so the ticket system stored something other than what had been decided. It looked like it worked, because something was always written. Fixed in June 2026, and it is the same failure this business keeps finding in its own work: a successful write is not a correct one.
Push notifications were removed entirely
We built push first because it is what you build. In practice it lost to SMS every time — particularly in the car, which is exactly where a critical alert needs to land. The routing matrix now sends text, and the sophisticated channel we built sits unused. Building the wrong thing is cheap; keeping it because you built it is not.
We run this on ourselves before we run it on you.
The same survey that found these states is the one we would run for you — and the same candour about what did not work.