How-to AWS Tutorial

The ultimate callback in queue survival guide

“Your call is important, please continue to hold”…. is this really necessary? In this blog post, we discuss what is callback in queue and how to use the valuable tool.

What is callback in queue?

Callback in queue (CBiQ) is a technology that enables telephone callers to keep their place in queue with a q-bot, also known as a virtual queue. As a customer, if you’re offered CBiQ and accept this, your phone line will disconnect. Then a period of time later, you will get a call back from the company you was contacting and speak to a representative who can support you.

 

Does Amazon Connect support CBiQ?

Yes. This is a native capability.

 

When should I use CBiQ?

In short.. with care. There are several factors to consider here.

  • How long should the queue be before I offer CBiQ?
  • How do I handle phone numbers?
  • What messaging should I use?

If you didn’t want to implement CBiQ, a good interim step is to set callers’ expectations. Within Connect you can do this by, getting the queue metrics (first block in the image below), then we check the time of the oldest contact in the queue, and based on the time we play various messages. These messages can be ever-escalating, such that you actively promote the caller to use digital channels, either way, the key here is setting an expectation.

QueueTimeFlowExample

Below is an example of the messages that you may choose to adopt. We recommend that customers deploy our Admin Portal that supports some great features, including multi-language.

MessageAppPrompts
(Screenshot of the VoiceFoundry Admin UI)

 

How much does it cost?

There is no cost of this feature. In many cases CBiQ will save money, in some cases, CBiQ could increase the costs. Let’s take a look at 2 examples to explain this:

Example of cost-saving

  • Customer calls a UK Freephone number
    • $0.030 per minute telephony charge
    • $0.018 per minute service charge
    • Total per minute charge $0.048
  • Customer queues for 5 minutes
  • Customer talk time is 5 minutes

Cost for the call without CBiQ = 10 minutes of inbound duration = $0.48

  • Customer calls a UK Freephone number
    • $0.030 per minute telephony charge
    • $0.018 per minute service charge
    • Total per minute charge $0.048
  • The customer interacts with the IVR for 1 minute to set-up the CBiQ
  • Callback completes and customer talk time is 5 minutes
    • $0.0158 telephony charge (outbound UK)
    • $0.018 per minute service charge
    • Total per minute charge $0.0338

Cost for the call with CBiQ = 1 minute of inbound duration + 5 minutes of outbound duration $0.22

The reason why CBiQ is saving money is for 2 reasons. Firstly, the customer is not waiting in queue for 4 minutes, this saves $0.19, then when the agent calls the customer back, this is now being charged at $0.0338 per minute for 5 minutes, saving a further $0.07. Making a total saving of 55%

(Note: As the Agent will call out to the customer, this impacts agent AHT (You need to account for outbound ringing time). The amount depends on if the customer answers the agent on the first attempt. You need to factor this into your own calculations!)

 

Example of cost-increasing

  • Customer calls a UK DDI number
    • $0.004 per minute telephony charge
    • $0.018 per minute service charge
    • Total per minute charge $0.022
  • Customer queues for 5 minutes
  • Customer talk time is 10 minutes

Cost for the call without CBiQ = 10 minutes of inbound duration = $0.33

  • Customer calls a UK DDI number
    • $0.004 per minute telephony charge
    • $0.018 per minute service charge
    • Total per minute charge $0.022
  • Customer interacts with the IVR for 1 minute to set-up the CBiQ
  • Callback completes and Customer talk time is 10 minutes
    • $0.0158 telephony charge (outbound UK)
    • $0.018 per minute service charge
    • Total per minute charge $0.0338

Cost for the call with CBiQ = 1 minute of inbound duration + 5 minutes of outbound duration $0.36

The reason why CBiQ costs money is due to the increase in Telephony charge for outbound calls, compared to inbound calls. In this example our invoking of CBiQ caused an increase in costs. Making a total cost increase of 10%.

(Note: As the Agent will call out to the customer, this impacts agent AHT (You need to account for outbound ringing time). The amount depends on if the customer answers the agent on the first attempt. You need to factor this into your own calculations!)

(Note: Pricing for telephony is here: httpss://aws.amazon.com/connect/pricing/, as always understand your own requirements)

Best practices for implementing CBiQ.

If you decide to implement CBiQ, there are a few things you need to consider.

  • Messaging, this is vital, setting the customer expectations is Job 1!
  • Only offer CBiQ between a certain queue length
  • Only offer CBiQ if you’re going to call them back during the current day
  • Implement a re-dial strategy
  • Allow your operations team to manage turning off CBiQ
  • Decide which number you want to call back the customer on
  • Set expectation again after setting up the CBiQ

Messaging, this is vital, setting the customer expectations is Job 1!

When you have long queues, tell your customer. But do this with a dynamic message that gives them an idea of how long they will need to queue for. With this expectation set, then immediately offer them a callback. “Hey there, we are currently experiencing queues of up to 5 minutes, we can keep your place in the queue and call you back. Would you like us to do this?”

You can choose to use Natural Language or DTMF or Both!

Only offer CBiQ between a certain queue length

If your queue length is less than say 3 minutes, then tell the customer the queue times are up to 2 minutes and then place them into queue.

If your queue lengths are over 3 minutes, then set their expectation and offer them a CBiQ.

You may decide that at a certain time (15/30/60 mins?) that you don’t offer CBiQ and instead prompt other channels (If this is the norm, why not look at automation/self-service capabilities)

Only offer CBiQ if you’re going to call them back during the current day

Only offer a CBiQ if you will actually be able to call the customer back that same day. Therefore you need to monitor 2 items, the time of day and the queue length. If you close at 9pm and the customer calls at 8:45, then I wouldn’t offer them a callback, keep them in queue even if the queue is over the 3 minutes as suggested above. My rule of thumb is to have the CBiQ closed 30 minutes prior to the closure of the Contact Centre/Queue, but this is your choice.

If the customer calls in at 8:15 and the queues are 50 minutes long, then don’t offer a CBiQ, it sounds simple, but you have to plan for this in your Amazon Connect contact flows.

Decide which number you want to call back the customer on

Now that you’ve offered your customer a CBiQ, what number do you want to call them back on? You have 2 choices here:

  1. Offer to call them back on the number they called in on
  2. Offer them to enter a number to be called back in on

Or you can mix and match, my suggestion here is to do something like this: “We can call you back on your phone number ending 1234, or we can call you back on a different number” the customer can be asked to press 1 or use natural language. However playing back the last 4 numbers of the phone number, is a nice touch (note this requires a small amount of lambda code to make this happen).

Note: In all cases the number from the ANI or provided by the caller needs to be checked that it can be dialed from your Amazon Connect instance. This includes restrictions placed by soft limits.

Implement a re-dial strategy

OK, so your customer has accepted, how do you configure the system to dial the customer? this is completed within the ‘Transfer to queue” as seen below:

transferToCBiQ

  • Initial Delay – This is the amount of time you want Connect to wait before placing the callback into the queue.
  • Maximum Attempts – How many times do you want Connect to attempt to connect to the customer (If you get to voice mail, this is deemed connected, train your representative to leave a voicemail)
  • Minimum time between attempts – If you have Maximum attempts greater than 1 then this is the time Amazon Connect will wait before putting the next attempt back into the queue.

Allow your operations team to manage to turn off CBiQ

CBiQ should be controllable, we’ve spoken about how to offer CBiQ and using opening hours to schedule the feature. You should also allow your business operations team to have the ability to over-ride the system and turn off CBiQ. This will not prevent those currently in queue, but it will mean your next callers will not be offered CBiQ. You may want to do this due to a change in call behaviours, maybe due to system issues that drive increased calls and you need to provide a quick message to customers.

As I mentioned in the ‘How much does it cost’ section, when an agent receives a CBiQ offer Connect will then dial out to the customer, this delay increases AHT (If the caller answers in 15s, then maybe your AHT has increased by 20s for that call (allowing 5 seconds for the caller to greet and start the conversation)).

 

Set expectation again after setting up the CBiQ

Once Connect has accepted the CBiQ, the right thing to do is again set the callers expectation on when they should be receiving a callback. This follows the same process as we did in the section earlier when the caller was first offered CBiQ.

QueueTimeFlowExample

 

Reporting considerations

Reporting within the contact centre is very important when implementing CBiQ, you may need to change the way you implement the capability based on the requirements. As such ensure full understanding of the requirements and test any changes prior to rollout.

It is recommended to create specific queues for callbacks, this has 2 benefits:

  1. Reporting, these callback specific queues will show you your queue depth, longest queue, AHT performance etc…
  2. You can be assigned callbacks to certain agents, or have agents that only handle callbacks.

When creating these additional queues, you can call them as you wish, I find that appending ‘:CB’ is a good approach.

queues

Now that you have your callback dedicated queues, when transferring to the queue you need to enable the ‘Set Working Queue’ option as shown below, and then set your working queue.

setCallbackQueueTransfer

Real-time reporting

Now that your Connect instance is set-up correctly, on the real-time and historical reports you’re able to see the queue performance as such:

  • Scheduled, are callbacks are in the system but cannot be answered by an agent. This happens in 2 scenarios, 1) If you set an initial delay, the contact will be in this state for the duration of your initial delay. 2) If the first attempt didn’t result in a connect, then the minimum delay timer starts, during this timer the contact will be in this state.
  • In queue, are callbacks waiting for the next available agent
  • Oldest, is the time the longest callback that has been In queue.

Contact Trace Records

CTRs will likely form of your external reporting requirements. When using CBiQ, you will get multiple, yet linked, CTRs for the contact. For a callback, you will have at least 2 CTRs

  1. First CTR will cover the INBOUND contact from the customer, this will include the IVR journey, and any queue time before being turned into a callback. Once a callback has been generated a second CTR is created.
  2. The second CTR covers the queue time awaiting an agent, and then once connected to the customer the duration.

Note: you may get a 3rd or 4th depending on if the callback was not connected and thus re-attempted at a later date.

How do I prevent duplicate CBiQs?

Great question. Customers will call in, request a CBiQ and then if their expectations are not met, they then call back in again. They will be offered another CBiQ and thus this needs to be prevented.

To do this, once the customer has requested a CBiQ, this event is written to a database, then when the caller calls back in, we tell them upfront, that they are pending a callback and that they need to be patient and that their callback will maintain its place in the queue.

This requires some custom code to implement, here is reference code by AWS: https://aws.amazon.com/blogs/contact-center/preventing-duplicate-callback-requests-in-amazon-connect/

 

Can I stop a CBiQ?

Currently, you cannot. Once a CBiQ has been placed, there is no management ability of those CBiQ’s in flight. They must be sent to an agent for the queue to be drained.

 

Can a customer request a scheduled CBiQ?

This is possible and for another blog 🙂

 

In Conclusion,

Callback in queue is a very powerful feature that needs to be well-considered, making sure it’s right for you as a business and right for the customers is unique to you. Used well it has great benefits and value to all parties. Used incorrectly this can frustrate your agents and customer. As always, we’re here to support so feel free to contact-us.