Mpathic logo
Menu
Back to Blog

"Hundreds on hold": how to diagnose a callback backlog before you staff for it

Paul Szerszen, SVP of Professional Services & Customer OperationsPaul Szerszen, SVP of Professional Services & Customer Operations
Title card

The escalation arrives as a sentence, not a number. Hundreds of callers are waiting. It comes from someone who heard it from someone else, and it lands with enough force that the next conversation is about adding people. On one engagement, the live queue data said something else: a stack of pending callback requests and nobody on the line. A call center callback backlog and a queue of live callers sound identical in that hallway sentence and behave nothing alike in the operation. What follows is the diagnostic to run before the staffing decision, and the queue design that keeps the two apart.

One reported queue number resolving into four counted call center callback metrics

Script the queue diagnostic before anyone decides to staff

Queue diagnostic output showing live callers, queued callbacks, and unique numbers

The report reached us on the contact center for a state education benefits program, so we measured it. The queue held pending callback requests from unique phone numbers, and zero live callers waiting. Someone saw a long list and described it in the only unit available.

The durable fix is a script any supervisor can run, returning the same fields in the same order:

  • Live callers in queue right now.
  • Queued callback requests.
  • Unique phone numbers behind those requests.
  • Age of the oldest item in each category.
  • The counting rule for each of those numbers, written next to it.

That last line is the one operations teams skip and the one that ends the argument. A queue depth figure means nothing until you know whether it counts requests or people and which timestamp it measures age from. Those distinctions exist in the platform data. Amazon Connect stamps an Initiation Method on every contact, with CALLBACK among its values, and defines an abandoned contact as one the customer disconnected while in queue: its record carries a queue and an enqueue timestamp but no connected-to-agent timestamp.

Script it so it runs on demand and leaves a record. A diagnostic that lives in one analyst's head is not available at 9:15 on the morning the escalation lands.

A call center callback backlog is a different problem from a live queue

A live caller is waiting now, with an abandonment clock running against a service level you are measured on. A queued callback is a promise. That person hung up, went back to their day, and expects a call at some point.

Start with the unit. Duplicates inflate apparent demand by a little in a small queue and by a lot in a large one, and every duplicate you count is capacity you consider buying for work that does not exist.

Then look at the shape of the work. Live callers arrive when they arrive, which is why inbound staffing is built against an arrival curve. Callbacks are a work queue you control: you set the dial-out window, the order, and who handles them. The answer to a callback backlog is often a scheduling change rather than a hire.

Conflating the two produces a wrong answer in both directions. Read a callback backlog as an inbound surge and you add agents to answer calls nobody is placing. Read it the other way and a stakeholder who hears nobody is on hold concludes nothing needs attention, while dozens wait for a promised call.

On that program, Mpathic helped define the KPIs rather than inheriting them, then built the real-time dashboards that tracked them, as described in the published state agency contact center case study. A definition set before anyone has to defend a number under pressure is a tool. The same definition set during an escalation is a negotiation.

Give callbacks their own queue, then choose their priority on purpose

Diagram of a dedicated callback queue and a live call queue feeding one agent pool

Callbacks belong in a queue of their own. Amazon Connect's queued callback setup guidance is to create a dedicated callback queue so callbacks stay separated from live inbound calls in real-time reporting. That is the diagnostic argument, built into the platform.

Priority is the harder call. In most operations, live callers outrank queued callbacks, because a live caller can abandon and a callback request cannot. The platform supports the opposite choice on purpose. To let a callback keep the caller's place in line, you configure the callback queue at the same priority as the original inbound queue, because routing evaluates the original call start time rather than the callback request time.

Both positions are defensible. Matching priority is fairer to the person who called first and accepted a callback instead of holding; lower priority protects your live answer service level. What you cannot do responsibly is inherit the day-one configuration and then learn the policy from a report. The same routing block also sets an initial delay before queuing, a maximum number of retries, and a minimum time between attempts, and a retry policy that keeps dialing at 4:55 PM on a Friday is a policy whether or not anyone chose it.

The reporting consequence is direct. On that program, the contractual targets were 80 percent of calls answered within 30 seconds, abandonment at 8 percent or lower, average handle time of 10 minutes or less, and first call resolution at 80 percent or better. A callback queue folded into that reporting line moves all four.

Enforce one outstanding callback per number, with a safeguard that fails open

Duplicate callback requests come from ordinary behavior. A caller is unsure the request registered, so tries again. One household calls from a mobile and a landline. Nothing is wrong with the caller.

The rule is one outstanding callback per phone number. Amazon Connect supports it with an optional callback creation flow that can be used for duplicate detection.

What matters more is the behavior when the check itself fails. If the duplicate lookup times out or the data it reads is unavailable, create the callback anyway. Fail open, on purpose, and write it down as intended behavior rather than an accident of the code.

The reasoning is a comparison of two failures. A duplicate callback costs an agent a short call and a mildly puzzled customer. A lost callback is a person who asked for help, was told they would hear back, and never did. In a benefits program, that may be a family waiting on eligibility. The duplicate is recoverable. The silence is not.

What to do this week

Pull whatever queue depth report your operation reaches for during an escalation and check two things: does it separate a call center callback backlog from live callers waiting, and does it show unique phone numbers alongside request counts? If it returns one blended number, you found the weakness before the next escalation did, and the repair is a query and a definition rather than a headcount request. Mpathic designs the reporting layer and the queue policy together on CCaaS implementation and customer support engagements. For a second set of eyes on yours, talk to our team.

Frequently asked questions

What is a callback queue in a call center?+

A callback queue is a queue that holds callback requests separately from live inbound calls. Amazon Connect's guidance is to create a dedicated one so callbacks do not mix with live calls in real-time reporting. The separation matters operationally, because a queue that blends the two cannot tell you whether anyone is currently waiting on the line.

Does a call center callback keep the caller's place in line?+

It can, if you configure it that way. In Amazon Connect you set the callback queue to the same priority as the original inbound queue, and routing then evaluates the original call start time rather than the time the callback was requested. That choice is a policy decision, since matching priority competes with live callers for the same agents.

How do you tell queued callbacks apart from abandoned calls in reporting?+

Use the contact record fields rather than a dashboard tile. Amazon Connect stamps an InitiationMethod on every contact, and CALLBACK is one of its values. An abandoned contact is defined as one the customer disconnected while in queue, so its record carries a queue and an enqueue timestamp but no connected-to-agent timestamp.

How do you stop duplicate callback requests from the same number?+

Enforce one outstanding callback per phone number, and check for an existing request before creating a new one. Amazon Connect allows an optional callback creation flow that can be used for duplicate detection. Design the check to fail open: if the lookup itself fails, create the callback anyway, because a duplicate call is cheaper than a promise you never keep.

Should you add agents when callbacks are backing up?+

Not before you know what the number counts. Callbacks are a work queue you schedule, not an arrival curve you staff against, so the first response is usually a dial-out window, a queue priority, or a skill assignment. Confirm live callers in queue, queued requests, unique numbers, and oldest item age before any headcount conversation.