How to Prevent Client Support Tickets From Going Stale

A ticket going stale is rarely a decision. It is assigned during a busy morning, it is honestly less urgent than the production incident next to it, and then it is Monday and the client is writing "any update?" in capital letters. The fix is not a stricter attitude, it is a handful of mechanics that make silence visible before the client notices it.

calendar_monthtimer 7 min readlanguage Lees dit artikel in het Nederlands
A ticket moving from assignment through an SLA clock to a warning before the deadline and a daily stale ticket report

Assignment is not progress

Most helpdesks treat "assigned" as a healthy state. For a development team it is the least informative status there is: it tells you a name is attached, not that anything is happening. Teams that measure only open versus closed cannot see the gap in between, which is exactly where clients lose confidence.

Two statuses deserve separate treatment: waiting on us and waiting on the client. A ticket blocked for six days because the client has not sent credentials is fine, provided the ticket says so and somebody is chasing it. A ticket blocked for six days because nobody looked at it is a problem wearing the same label.

Give every ticket one owner, by name

A ticket assigned to a team is assigned to nobody. Queues are useful for intake, but the moment a ticket is accepted it needs a single person whose job it is to move it or say why it cannot move. Rotate the role if you like — many agencies run a weekly triage duty — but the name on the ticket has to be a person.

This is also the cheapest fix available, because it costs nothing technically and removes most of the "I thought you had it" cases in the first week.

Set SLA levels that mean something

An SLA is not a marketing promise, it is a scheduling input. Two numbers matter per priority: how fast someone responds, and how fast it is resolved. Response is the one clients actually judge you on, and the one teams most often leave undefined.

PriorityTypical meaningResponseResolution
P1Production down or data at riskWithin the hour, in working hoursSame day, with a workaround if needed
P2Significant feature broken, workaround existsSame working dayWithin the current sprint
P3Minor defect or change requestTwo working daysPlanned into a future sprint

Those numbers are illustrative: yours should come from the contract you signed, per client. The important properties are that they exist, that they are attached to the ticket rather than a PDF, and that the system warns you before a deadline rather than reporting the breach afterwards. That is what SLA handling on the ticket is for.

Detect the quiet ones automatically

SLA deadlines catch the tickets with contractual clocks. Staleness is broader: a ticket can be inside its SLA and still be quietly rotting. Useful signals, in rough order of value:

  • No activity for N days while assigned to someone. The single best indicator, and the easiest to compute.
  • Client replied, nobody answered. The last message on the thread came from outside your organisation and is more than a day old.
  • Reopened more than once. Repeated reopening usually means the underlying problem was never understood.
  • In a sprint that has moved on. The sprint closed, the ticket rolled forward, and nothing has touched it since.
  • Estimate far exceeded. Five points of work with twenty points of time logged means something went wrong that nobody escalated.

A daily sweep that surfaces these in one attention report is worth more than any individual notification, because it produces a short list a human can actually work through. Suporta runs that sweep and puts the result on the dashboard.

The fifteen-minute habit that fixes most of it

One person, once a day, at a fixed time, walking the list of tickets that have not moved. Not a meeting, not a status round, a single pass with three possible outcomes per ticket.

  1. Move it. Do the ten-minute version now, or hand it to someone who can.
  2. Schedule it. Put it in a sprint with an estimate so it stops being ambient guilt and becomes planned work.
  3. Say something. If it cannot move this week, tell the client that, with a reason and a date. Clients tolerate delay far better than silence.

The reason this works is that stale tickets are almost always decision debt rather than work debt. Nobody has decided what to do with them. Fifteen minutes of deciding clears more than an afternoon of doing.

Keep the client informed without a meeting

Half of the escalations about stale tickets are not about speed at all. The client does not know what is happening, so they ask, and asking feels to them like chasing. Two mechanisms remove most of that traffic:

  • A portal the client can check. One thread per ticket, the status visible, internal notes staying internal. More on that in client portal vs traditional helpdesk.
  • A weekly summary. An automatic Friday email per client organisation: completed, new, updated, still open, grouped by project. It takes nobody's time and it pre-empts the Monday question.

When staleness is really a capacity problem

If the same tickets keep going quiet after you have fixed ownership, alerts and triage, the process is not the problem. You are committing to more than the team can deliver, and the backlog is absorbing the difference silently.

That is a planning issue, and it is solved with honest capacity rather than better reminders. If your sprint capacity does not subtract approved leave, public holidays and a realistic support reserve, it is a wish list. See sprint capacity planning for software teams.

Anti-staleness checklist

  • check_circleEvery accepted ticket has one named owner, never a team
  • check_circlePriorities carry response and resolution deadlines that came from the contract
  • check_circleWarnings fire before the deadline, not only on breach
  • check_circleA daily report lists everything with no activity, no reply, or a blown estimate
  • check_circleSomeone owns fifteen minutes of triage at a fixed time each day
  • check_circle"Waiting on client" is a distinct state with a chase date
  • check_circleClients can check status themselves and receive a weekly summary
  • check_circleSprint capacity reserves time for support, instead of pretending it will not arrive
Comparison of a shared inbox against a client portal on history, scoping, status visibility and internal notes
Client experience7 min read

Client Portal vs Traditional Helpdesk for Software Agencies

The question is not which is more modern. It is who can see what, where the history lives, and whether a client can answer "what is happening with my request" without emailing you.

Read article arrow_forward
Sprint capacity calculation: working days minus approved leave and support reserve giving committable capacity
Planning8 min read

Sprint Capacity Planning for Software Teams

Four developers times ten days is not forty days of capacity. Subtract leave, holidays, support duty and the meetings you already scheduled, and the honest number is often two thirds of that.

Read article arrow_forward

Put your ticket queue to work

Fourteen days, every feature unlocked, no credit card. Bring your own model, or point it at the Claude Code you already pay for.