Offer a Callback Instead of Putting Callers on Hold
Cut call abandonment: with the Offer callback node, the caller keeps their place in the queue and you call them back instead of making them wait on the line.
Nobody wants to sit through ten minutes of hold music. When the queue is jammed, the smart move isn't to make people wait, it's to offer a callback: "hang up and we'll call you back as soon as an agent frees up." Omnifox's Offer callback IVR node does exactly that, with branches for accepted, declined, and no response. This guide builds it step by step to drive abandonment down.
Why offer a callback
A caller on hold gets frustrated and hangs up; that abandonment is a lost sale or a lost ticket. With Offer callback the caller keeps their place in the queue without tying up the line: they hang up, go about their day, and get the call back when it's their turn. It cuts abandonment, improves the experience, and frees up your voice trunks.
The flow node by node
Here is the path we will build:
- Entry node (call starts)
- Play audio → greeting
- Transfer to team (
round_robinmode) - If nobody answers within the timeout → Offer callback
- Accepted branch → Play audio confirmation → Notify an agent / HTTP request → Hang up
- Declined branch → Wait/pause (with music) back to the queue, or Voicemail
- Timeout branch (no response) → Voicemail → Hang up
Step 1 · Try to answer first
Start with the normal path: Play audio (greeting) and Transfer to team. The callback is a plan B when the queue can't keep up, not the first option. Set a timeout on the transfer (say 30–45 seconds of ring) after which, if nobody picks up, the callback fires.
Step 2 · The star node: Offer callback
Connect the "no answer" edge to Offer callback. This node plays a spoken offer: "All our agents are busy. If you'd like, hang up and we'll call you back the moment one frees up. Press 1 to accept." Internally it combines a Wait for DTMF digit to capture the caller's choice. Based on the response, the node exposes three outputs:
- Accepted: the caller requested the callback.
- Declined: they'd rather wait (or pressed the decline option).
- Timeout: they didn't respond to the offer.
Step 3 · Accepted branch
From "accepted," play a Play audio confirmation: "Great, we'll call you back at {{$call.from}} as soon as an agent is free. Thank you." Then route to Notify an agent so someone sees the request, or to an HTTP request that logs the callback in your system/return queue. Close with Hang up. You already have the number in {{$call.from}}, so there's no need to ask for it.
Step 4 · Declined branch
If the caller prefers to wait, send them to a Wait/pause with music and retry Transfer to team. If you'd rather avoid long queues, the declined branch can also go straight to Voicemail to leave a message.
Step 5 · Timeout branch
If they didn't respond to the offer, don't leave them hanging: route to Voicemail (records + AI transcription + creates a conversation) and then Hang up. That way no caller falls through the cracks.
Pair it with Hours
Put an Hours/Calendar node at the start. In hours you offer queue + callback; after hours, skip straight to Voicemail, since no agents will be around to return the call soon.
Common mistakes
- Offering a callback you can't deliver. If nobody processes the Notify an agent or the HTTP request, the customer waits for a call that never comes. Nail down the return process.
- Not confirming the number. The accepted-branch audio should repeat
{{$call.from}}so the customer knows which number you'll call. - Ring timeout too short or too long. Too short and you offer a callback when an agent was about to answer; too long and the caller is already fed up.
- No timeout exit. Always route the "no response" branch to Voicemail or Hang up.
Best practices
- Add an Analytics event on the accepted branch to measure how many callbacks you take and assess your staffing.
- Use an HTTP request to push the request to your CRM or a sheet with time, number, and reason.
- Combine with Find contact to know whether the callback requester is a known customer and prioritize them.
How to close the callback loop
Requesting the callback is half the job; the other half is returning it well. The cleanest approach is to have the accepted branch fire an HTTP request into your return queue or CRM with {{$call.from}}, the time, and the reason, then have an agent work those requests in order of arrival. If you prefer something internal, Notify an agent drops the alert on the dashboard and whoever is free places the outbound call. Either way, mark the request resolved once the agent completes the callback, so you don't call the same customer twice. Measure the time between "requested" and "returned": that's your callback SLA and the number that most affects satisfaction.
In Omnifox the Offer callback node ships with the three branches ready: you drag it, wire the accepted branch to your return process, and on publish it's running. Less abandonment, free lines, happier customers.
Tired of losing calls to hold time? Head to Omnifox and add an automatic callback to your IVR today.
Comentarios (0)
Todavía no hay comentarios. Sé el primero en compartir tu opinión.
Dejá un comentario
Tu email nunca se publica. Los comentarios se moderan antes de aparecer.