Skip to content

The inbox full of technical requests nobody could prioritize

A shared inbox of technical requests, with no visibility and no priority order, was replaced by a tracked, triaged queue. The first urgent production fix jumped the line the same day it was submitted.

Board
Every open request by priority · worked in order, longest waited first within a band
All desksNew request Thu 17 Sep 2026TR
Time to triageSame dayArrival → logged with a priority and an owner
Untracked requests0Was weeks in a shared inbox
Open in queue122 past target
Latest urgentREQ-1041Placed first · ahead of 11 open
P1 · Urgent1Resolve same day
REQ-1041TodaySubscribers sent back to sign-in on every articleAudienceJumped 11TR
P1 goes to the top
of the work order
P2 · High3Resolve in 2 working days
REQ-10283 daysImage crops lost on syndicated storiesPicturesTR
REQ-10311 dayNewsletter sign-up embed blank on SportSportAK
REQ-10341 dayScheduled posts publishing an hour lateNewsdeskDW
P3 · Normal4Resolve in 5 working days
REQ-10197 daysRelated-articles module repeats storiesAudienceDW
REQ-10254 daysPodcast player skips on older AndroidAudioAK
REQ-10332 daysShow an Updated time on live pagesNewsdeskMO
REQ-1036TodayAuthor pages missing byline photosFeaturesMO
P4 · Low4Resolve in 10 working days
REQ-10226 daysFooter copyright year is hard-codedWebDW
REQ-10302 daysRename the Opinion tag to CommentCommentMO
REQ-10351 dayPuzzle page font off in print previewPuzzlesAK
REQ-1037TodayRaise the CMS caption limit to 280PicturesTR

Work order

Working days waited
  1. 1P1REQ-1041TodaySubscribers sent back to sign-in on every article
  2. 2P2REQ-10283 daysImage crops lost on syndicated stories
  3. 3P2REQ-10311 dayNewsletter sign-up embed blank on Sport
  4. 4P2REQ-10341 dayScheduled posts publishing an hour late
  5. 5P3REQ-10197 daysRelated-articles module repeats stories
  6. 6P3REQ-10254 daysPodcast player skips on older Android
  7. 7P3REQ-10332 daysShow an Updated time on live pages
  8. 8P3REQ-1036TodayAuthor pages missing byline photos
  9. 9P4REQ-10226 daysFooter copyright year is hard-coded
  10. 10P4REQ-10302 daysRename the Opinion tag to Comment
  11. 11P4REQ-10351 dayPuzzle page font off in print preview
  12. 12P4REQ-1037TodayRaise the CMS caption limit to 280

Who, what, and how long

Industry
Media & Publishing
Duration
Ongoing retainer
Cooperation model
Ongoing retainer, phased
Services
Request triageUrgent fixesTracked queue
Integrations
StripeSendGridSegmentSentry
Technologies
Ticketing platformTriage workflowPriority routingSLA trackingReporting dashboard
Team
1 Project lead1 Product designer2 Frontend engineers1 Backend engineer1 QA engineer

Client name withheld under NDA. Engagement details are shown to the extent our agreement permits.

What went wrong, and when

  1. 01

    A single editor's request for a minor CMS tweak had, on one occasion, sat unanswered for three weeks while a genuine production bug went unnoticed in the same inbox for two days before anyone realized it needed urgent attention.

    An inbox has no state. A request was either in someone's head or it wasn't, and which requests got worked came down to recency and how insistently they'd been phrased, neither of which correlates with anything useful. The production bug went unnoticed for two days because nothing about its arrival set it apart from a request to change a caption.

    We replaced the inbox with a tracked intake and triage process: every request gets logged with a status and an owner, assessed for real impact, and worked in priority order. An urgent production issue is visibly triaged ahead of a cosmetic tweak, where before both waited in the same undifferentiated pile.

Process

Phase by phase

  1. Phase 1: Replace the inbox

    Make the work visible

    Replaced the shared inbox with a tracked queue where every request has a state and an owner.

    • Queue setup
    • Intake form
  2. Phase 2: Triage

    Impact and urgency

    Built a triage step that assesses real impact and urgency at the point of intake.

    • Triage rubric
    • Severity definitions
  3. Phase 3: Route

    Production first

    Set priority routing so production issues move ahead of minor requests automatically.

    • Routing rules
    • Priority matrix
  4. Phase 4: Account

    A record that closes

    Kept a resolution record so every request's outcome stays accountable after the fact.

    • Resolution log
    • Reporting dashboard
Resolved
Four weeks of closed requests · each with how long it took to close and how it ended
All bands Thu 17 Sep 2026TR
24–28 Aug4 closedREQ-0987P2Match report embed cut off Fixed1 dayREQ-0990P4How do I schedule a gallery? AnsweredSame dayREQ-0992P3Weather widget shows yesterday Fixed4 daysREQ-0995P4New font for headlines Declined3 days
31 Aug–4 Sep5 closedREQ-0998P3Paywall copy typo on mobile Fixed2 daysREQ-1001P2Crossword not saving progress Fixed3 daysREQ-1003P3Embed broken on Sport (dup.) MergedSame dayREQ-1005P3Tag pages not in sitemap Fixed5 daysREQ-1006P4Can captions take links? Answered1 day
7–11 Sep4 closedREQ-1009P2Obituaries form spam Fixed2 daysREQ-1011P4Old live blog still pinned Fixed4 daysREQ-1013P4Print preview margins Declined2 daysREQ-1015P3Video autoplay with sound Fixed3 days
14–17 Sep4 closedREQ-1017P4Author bio length limit? AnsweredSame dayREQ-1020P3Event listings timezone Fixed6 daysREQ-1026P2Sport embed again (dup.) MergedSame dayREQ-1041P1Subscribers sent to sign-in FixedSame day

Working days to close, by band

One dot per request · tick is the target
P1 · UrgentP2 · HighP3 · NormalP4 · Low0246810

How requests end

17 closed
17closedFixedChanged in code or config1059%AnsweredA question, not a fault318%DeclinedReason given to requester212%MergedDuplicate of an open request212%Every request closes with a record. A declined request carries its reason and a merged one points at the request it joined, so nothing ends silently.
On screen

Four weeks of resolved requests laid out week by week, each with how long it took to close, and how requests actually end (fixed, answered, declined or merged) with the share each outcome takes.

The numbers, before and after

Same day

Time to triage a new request

Weeks → zero

Average time a request stays untracked

Resolved same day, jumped 11-item backlog

First urgent fix under the new process

Time to triage is measured from a request arriving to being logged with a priority and an owner. Time untracked is the change from weeks to none, which is structural, not measured: every request now enters the queue on arrival. The first urgent fix is a single incident, reported as an illustration, not an average.

Client name withheld under NDA. Figures are approximate, drawn from the engagement’s own reporting.

Introduction

The engagement

Every technical request, from a broken embed to an urgent publishing bug, went through a shared inbox with no triage, so nothing had a status and small jobs regularly sat for weeks.

A publisher whose technical requests (embeds, CMS tweaks, production bugs) all arrived in one shared inbox with no status, no owner and no order. The engagement was commissioned after a stretch in which a minor CMS request sat for three weeks and a genuine production bug sat for two days in the same pile, and nobody had decided either should.

On-Demand Technical Support

The solution

How it was handled

  1. 01

    Replaced the shared inbox with a tracked, visible request queue

    Every intake channel now lands in one tracked queue with a status and a named owner, so nothing is worked out of a personal inbox.

  2. 02

    Built a triage step that assesses real impact and urgency on intake

    The rubric was written with the editorial team, since impact on a publishing deadline is something only they can score.

  3. 03

    Set priority routing so production issues jump ahead of minor tweaks

    The queue is worked in priority order with jumps recorded as overrides, so a production issue sits visibly ahead instead of competing for attention.

  4. 04

    Kept a resolution record so every request's outcome stays accountable

    Every request keeps a resolution record, which is what makes SLA attainment per priority band reportable instead of anecdotal.

A visible queue

Every request logged with a status and an owner, and none left sitting in a shared inbox.

Requests arriving by email, chat and hallway conversation now land in one tracked queue with a status and a named owner, which changed the question from "who's dealing with this?" to "what state is it in?" Nothing is worked from a personal inbox, so a request doesn't disappear when the person holding it is on leave, and the backlog is a number instead of a feeling.

What shipped
  • One tracked queue for every intake channel
  • Status and named owner on every request
  • Nothing worked out of a personal inbox
REQ-1041
Raised, triaged, worked and resolved on Thu 17 Sep 2026 · every change recorded
Requester view Thu 17 Sep 2026TR
P1 · UrgentResolved · within targetOutcome · Fixedscore 10/12Subscribers sent back to sign-in on every articleRaised by Priya Nandakumar · Audience deskVia Chat #web-helpOwner TR Tom ReeveQueue at triage 1 of 12

History

Hour by hour · Thu 17 Sep
  1. 08:47Priya NandakumarRaised in #web-help: subscribers bounced to sign-in on articles
  2. 08:47WinnowbayLogged as REQ-1041 · status New · visible to requester
  3. 08:52Tom ReeveTriaged: score 10 of 12 → P1 Urgent · target resolve same day
  4. 08:52WinnowbayPlaced first in the queue, ahead of 11 open requests
  5. 08:53Tom ReeveTook ownership · status In progress
  6. 10:31Tom ReeveCause found: session cookie scoped to the old subdomain
  7. 13:58Tom ReeveFix deployed · cookie domain corrected, sessions re-issued
  8. 14:36Priya NandakumarConfirmed from three subscriber accounts
  9. 14:40Tom ReeveResolved · outcome Fixed · resolution note written

Impact assessment

Scored at intake
Who is affected?All readers or subscribers+3Is money at stake?Yes — subscriptions or ads+3Is there a way round it?No workaround+2Does it hold up a publishing deadline?No deadline+0Is it happening on the live site now?Yes, live now+210of 12
9 or more is P1
P1 · Urgent

What the requester sees

Live since logging
StatusResolved 14:40Priority and targetP1 · resolve same dayOwnerTom ReeveResolution note · Session cookie scoped to the old subdomain; domain corrected, sessions re-issued.
On screen

One urgent request opened: who raised it and through which channel, its named owner, the impact assessment behind its score, what the requester can see, and the hour-by-hour history to a same-day resolution.

New request
Five plain questions · the answers set the score, the priority, the owner and the place in the queue
Logged from #web-help Thu 17 Sep 2026TR

REQ-1041 · intake

Raised by Priya Nandakumar · Audience
What's wrong or neededSubscribers sent back to sign-in on every articleWhat you're seeingSince this morning, subscribers opening any article are sent to the sign-in page, sign in, and land on sign-in again. Readers are emailing the audience inbox.1Who is affected?User impact+3All readers or subscribersOne section's readersStaff onlyJust me2Is money at stake?Revenue exposure+3Yes — subscriptions or adsIndirectlyNo3Is there a way round it?Workaround+2No workaroundAn awkward oneYes, an easy one4Does it hold up a publishing deadline?Scored by editorial+0Today's editionThis weekNo deadline5Is it happening on the live site now?Production+2Yes, live nowStaging or a request for changeRequester is notified of priority and target on submitSave draftLog and place

Triage result

Updates as you answer
10of 12P1 · UrgentP4 · 0–2P3 · 3–5P2 · 6–8P1 · 9–12TargetResolve same dayOwnerTom Reeve · on rotaPlace in queue1 of 12 · ahead of 11

Where it lands

Work order after placing
  1. 1P1Subscribers sent back to sign-in on every articleNew
  2. 2P2Image crops lost on syndicated stories3 days
  3. 3P2Newsletter sign-up embed blank on Sport1 day
  4. 4P2Scheduled posts publishing an hour late1 day
  5. 5P3Related-articles module repeats stories7 days
  6. 6P3Podcast player skips on older Android4 days
+ 6 more, down to P4 Assessing impact takes about a minute
On screen

The intake form: five plain questions on user impact, revenue, workaround, publishing deadline and whether it's live, producing a score, a priority, a target, an owner and a place in the queue.

Triage on intake

Real impact and urgency assessed the moment a request arrives.

Triage happens on arrival, against a stated rubric of user impact, revenue exposure and whether a workaround exists. How a request is phrased no longer counts, and it used to be the strongest predictor of how fast something got fixed. Priority and target response are set at intake and visible to the requester, so the expectation is set up front instead of negotiated later.

What shipped
  • Triaged on arrival against impact, revenue and workaround
  • Phrasing and volume no longer determine speed
  • Priority and target response visible to the requester
Targets
Open work against each band's target · closed work reported per band · every jump in order logged
Last 4 weeks Thu 17 Sep 2026TR
P1 · UrgentResolve same dayOpen · against targetClosed 1All within
P2 · HighResolve in 2 working daysOpen · against targetClosed 41 past target
P3 · NormalResolve in 5 working daysOpen · against targetClosed 61 past target
P4 · LowResolve in 10 working daysOpen · against targetClosed 6All within

Past target

2 open requests
RequestTitleBandStatusWaited
REQ-1028Image crops lost on syndicated storiesP2In progress3 of 2 days
REQ-1019Related-articles module repeats storiesP3Waiting on requester7 of 5 days
Next dueREQ-1031Newsletter sign-up embed blank on SportP21 day leftREQ-1034Scheduled posts publishing an hour lateP21 day leftREQ-1025Podcast player skips on older AndroidP31 day left

Why requests slip

Reason logged on each miss
Waiting on the requester4Needed a third-party vendor2Bigger than it was scored2Owner away, reassigned1Jumped by an override1A band that keeps missing is a resourcing case, with these rows attached.

Overrides

Work taken out of priority order · a reason is required
DateRequestWorked ahead ofApproved byReason
9 SepREQ-1011 P42 Normal requestsClare Hollis, NewsdeskPinned live blog contradicted a published correction
OverrideEverything else on the board was worked in order. P1 placement is the rule, so it doesn't count as an override.

Priority that holds

On screen

Work against its targets per priority band: the two overdue items, a tally of the reasons requests slip, and the one override recorded with the reason it was worked out of order.

A production issue sits visibly ahead of a cosmetic tweak, where before both waited equally.

Priority holds because the queue is worked in priority order and the exceptions are visible: a low-priority item jumped is recorded as an override with a reason. SLA attainment is reported per priority band, so the tail is inspectable, and a band that keeps missing becomes a resourcing conversation with evidence attached, not an argument about impressions.

What shipped
  • Queue worked in priority order; jumps recorded as overrides
  • SLA attainment reported per priority band
  • Missed bands become a resourcing case with evidence

Working inside their operation

  • A cross-functional team of 5 worked on an ongoing retainer, covering Request triage, Urgent fixes, Tracked queue. We ran a weekly demo and kept a shared board they could read at any time. Their team took over day-to-day running of the queue while we stayed on the retainer for triage and urgent fixes.

    A phased retainer starting with intake and triage before any priority routing, because a queue nobody can see can't be prioritized. Requesters could see their own items from the first phase, and that changed their behavior before any process did: the chasing emails stopped once the status was answerable without one.

What changed in the runbook

  1. 01

    An undifferentiated pile isn't a backlog. It's what you have when there's no triage.

    The two-day bug and the three-week tweak were the same failure: with nothing distinguishing arrivals, order is set by recency and insistence.

  2. 02

    Making the queue visible changed requester behavior before any process did.

    Visibility changed the requesters first. The chasing emails stopped as soon as the status could be checked, before any prioritization existed.

  3. 03

    Triage at intake costs a minute and saves a day spent working the wrong thing.

    Assessing impact on arrival costs about a minute, against a day spent working the wrong thing. That's the trade the shared inbox had been silently making.

One request, four steps

How an urgent request gets ahead of eleven that arrived first

The first urgent request under the new process, from the message that raised it to its place on the board. Watch the queue beside it: unscored, it sits last; scored, it goes first. Switch tabs, or use the arrow keys once one is focused.

REQ-1041 · Thu 17 Sep 2026

#web-help · 08:47Priya Nandakumar · Audience deskSubscribers are getting sent back to the sign-in page whenever they open an article. They sign in and it happens again.
Logged asREQ-1041StatusNewPriorityNot yet scored

It's in the queue the moment it arrives, so it can't be lost. But unscored, it sits where the old shared inbox put everything: at the bottom, newest, below eleven others, and nothing about it looks different from a request to change a caption.

Open queuenewest last
  1. 1P2Image crops lost on syndicated stories
  2. 2P2Newsletter sign-up embed blank on Sport
  3. 3P2Scheduled posts publishing an hour late
  4. 4P3Related-articles module repeats stories
  5. 5P3Podcast player skips on older Android
  6. 6P3Show an Updated time on live pages
  7. 7P3Author pages missing byline photos
  8. 8P4Footer copyright year is hard-coded
  9. 9P4Rename the Opinion tag to Comment
  10. 10P4Puzzle page font off in print preview
  11. 11P4Raise the CMS caption limit to 280
  12. 12?Subscribers sent back to sign-in on every article

Times from REQ-1041’s history; the count-up and the move up the queue are illustrative animation, not timings.

Architecture

From a message in any channel to a record that closes

An inbox has no state. Each stage adds a piece of state the inbox never had (a place, a score, an order, an owner, an outcome), so which request gets worked is a decision, no longer left to recency.

  1. 01 · Intake
    Email, chat, in personEvery channel lands in one tracked queue on arrival. Nothing is worked out of a personal inbox, so nothing is untracked.
  2. 02 · Triage
    Rubric on arrivalScored for user impact, revenue exposure and whether a workaround exists, never on phrasing, the same day it arrives.
  3. 03 · Route
    Priority work orderProduction issues go ahead of minor tweaks by rule. Working anything out of order is recorded as an override with a reason.
  4. 04 · Record
    Status, owner, resolutionEvery request carries a status and a named owner throughout, and closes with a resolution record of how it ended.
  5. 05 · Report
    Targets per bandSLA attainment reported per priority band, so the tail is inspectable and a band that keeps missing becomes a resourcing case.

So the urgent one is never missed

Tracked intake, scored impact & a recorded order

Nothing arrives off the books

Email, chat and hallway requests all land in one tracked queue with a status and a named owner. A request doesn't disappear when the person holding it is on leave.

An outage can’t pass for a tweak

Impact is scored on arrival against a stated rubric of user impact, revenue exposure and workaround, so a live production fault stands out the day it comes in, not two days later.

Order is visible, and so are exceptions

The queue is worked in priority order. Anything worked out of order is recorded as an override with a reason, and every request closes with a resolution record.

Is an urgent bug sitting in the same inbox as a caption change? Scope your build in three minutes.

Scope your build
Have a project?

Let's talk

Running a large platform, shaping a first MVP, or getting a product ready for a funding round? Tell us where you are. We'll shape the process around it, and stay with you after launch.