AWS Contact Center

Optimize customer wait experience in queue using Amazon Connect

Long wait times in contact center queues are a key driver for customer frustration. They also increase costs to companies. Typically, the workforce management (WFM) teams forecast and adjust staffing to minimize the time a customer waits in queue before they can speak to a contact center agent. However, resource management is an optimization between service costs and service levels.

Traditional contact centers map the lifecycle of a contact into three key segments:

  1. Interactive voice response (IVR): to determine why the customer is calling,
  2. Routing engine: to determine the queue to transfer the contact, and
  3. Automatic contact distributor (ACD): to select the most appropriate agent to service this contact.

It is common to have a different technology provider for each of these segments. Technology constraints within legacy platforms limit the queue experience to a single generic hold music and static announcements. As a result, companies do not consider using this time segment for any productive use. Their self-service interaction ends the moment a customer has been put into a queue for an agent.

Amazon Connect is a 100% cloud-based service, built from scratch to simplify customer engagement. Amazon Connect contact flows allow you to engage with customers even when the contact is waiting in a queue. You can now help customers in queue, while maintaining their position.

This blog post provides a few best practices to optimize a caller’s time while in a queue, and in turn improve customer experience. These techniques include:

  • Provide estimated wait time
  • Set expectations that the customer’s position in queue will not be lost
  • Provide an option to receive a callback
  • Personalize music on hold
  • Personalize messaging on hold,
  • Collect information that expedites service
  • Assist with performing self-service on a digital channel

1. Provide estimated wait time

Before transferring a customer to a queue, check their expected wait time. You can do this by using the Get queue metrics contact flow block. This block retrieves the oldest contact in queue in real-time.

Additionally, the GetCurrentMetricData API gets real-time metric data from a specified Amazon Connect instance using AWS Lambda. Using these two options, you can tell the customer how long they can expect to wait before speaking to an agent. This wait time depends on factors like staffing, contact types, agent schedules, and incoming volumes.

It is recommended to play a range of time, instead of a specific number to the customer.

For example, “Your wait time is between four and eight minutes.

It is better to err on the conservative side of estimates. The penalty for under delivery (negative sentiment, longer talk times) is higher than the reward for over delivery. If the wait times are high, consider providing updates periodically. Include apologies if the wait time has increased since the last time it was played.

Customers experience a faster perceived progress with regular status updates.

2. Place the customer in the queue at the earliest

Once the customer has opted to transfer to an agent, place them into the queue at the earliest. Resist the urge to play messages right before placing them in a queue.  For example:

“This call may be recorded for quality purposes.” OR

“You can also reach us online at www dot company dot-com.”  OR

“You can pay your bill, hear account balance, and open a ticket on our website or mobile app.” OR

“Your time is important to us. We are having higher than normal call volumes at this time. Please hold while I transfer you to the next available agent.”

All these messages take time away from the customer, and builds up frustration.

You can also customize this experience based on the value of expected wait time. For longer expected wait times, you could play all messages required in the queue. For shorter expected wait times, or no wait times, play only the mandatory messages before queuing the customer.

This will reduce average contact duration, and save customer time.

Contact prioritization within the queue could result in pushing some contacts behind their original position. While Amazon Connect allows modifying queue priority, this should be done cautiously, and only when required.

3. Set the expectation that the customer’s position in queue will not be lost

Communicate to the customers that any additional interactions in the queue will not impact their position in queue. This is an important step to gain customer trust and confidence. If there is trust, more customers will interact while they wait.

4. Provide the option to receive a callback

If the expected wait time is more than a threshold value, offer the customer an option to receive a callback instead. Acceptance rates for callbacks are high when the wait times are high, and vice versa. Fine-tune your threshold values, based off the acceptance rates from your contact data.

Consider configuring these thresholds based on the reason for the contact. Customers with technical issues are more motivated to opt for callbacks, as compared to those with billing issues. You can even personalize thresholds at a customer level, based on their past callback choices. This information can be stored as part of their Amazon Connect customer profile.

When implemented correctly, callbacks are useful to both the customers and businesses. Customers don’t have to wait in queue any longer and this drives higher customer satisfaction. Companies save on toll costs, and can improve operational metrics like speed to answer, and queue wait times.

Now, if callbacks are so useful, why don’t more customers opt for it? This is due to prior bad experiences, that customers may not fully trust companies to hold their end of the promise. Traditional implementations often call back customers, and place them into a ‘high priority’ queue again.

Amazon Connect takes a customer focused approach where an agent is reserved at the time of the callback. Obsessing over customers helps with earning trust, and better business outcomes in the long term.

Additionally, legacy implementations of callback also lead with the offer, and negotiation and then put the customer in queue. Providing callback number and other information takes time. This means that customers who have opted for callback technically end up into the queue after customers who rejected it.

With Amazon Connect, you can continue with callback offer and negotiation while the customer is in queue. With this approach, you are truly maintaining the customer’s position in the queue.

5. Personalize music on hold

Some customers will decide to wait in queue instead of opting for callback.

You have choices with Amazon Connect to improve the quality of customer wait time. Music has been shown to make wait times more tolerable for customers. To start with, you can play a hold music that is configurable for each queue (or contact type). Customers can also be offered to choose music genre. Also, you could provide the option to wait in silence without any hold music.

6. Personalize the messaging on hold

Customers who decide to wait in queue can be provided targeted, and personalized messaging on hold. After playing global messages, you can play messages that are specific to the queue (call type).

For example: if a customer is waiting in a queue for new loan applications, you could play the list of required documents for a new loan application. Similarly, a queue for technical support could play basic troubleshooting steps.

These messages can then be further personalized based on individual customers. For example, do not play basic troubleshooting steps if the customer has already taken those steps before initiating this contact. You can look up for these customer-specific events, and conditions in a system of record, or CRM using AWS Lambda functions.

Customers often contact when there is a pending request (order, ticket, or issue). Playing the latest status on pending requests could provide the customer the information they are looking for. You can also play specific events that impact the customer (estimated time for outages, COVID-related updates in their area).

In summary, you can personalize the messaging on hold to resolve customer’s primary reason for contacting.

7. Collect information that expedites the service

If the expected wait time is long enough, you can collect relevant information from the customer in queue.

Three common goals of information capture include identifying the customer, understanding the intent, and verifying the customer. The customer may have provided some of this information before transferring to the queue. You can continue capturing the remaining information that helps the agent to expedite resolving customer issue. If the customer has enrolled in Amazon Connect Voice ID, the collective audio captured on this call can effortlessly authenticate customers. This can save time for the customer, and the agent.

8. Allow self-service on a digital channel

In some cases, voice is not the optimal channel to service the customer. However, a more visual channel like the website or the company mobile app could help the customer. Companies also have a digital-first goal for educating customers to use their mobile app.

For customers who don’t have your mobile app, you can offer to walk through setting up your mobile application while they wait in queue. For customers with the mobile app, you can offer to send a text message with a link to assist with the specific customer issue. You may optionally want to build communication between the mobile app and the voice channel. This can synchronize the voice channel announcements with the progress made on the mobile app. Inform the customer that by engaging on this activity, their position in queue will not be lost. If the customer gets connected to an agent during this set up, populate the agent’s screen with information about customer progress. This can be done using Amazon Connect contact attributes shown in the agent screen application.

Try it out

We developed sample contact flows to demonstrate some of the preceding techniques. To download and test the sample contact flows, you need an Amazon Connect instance configured for inbound and outbound calls. Claim a phone number after you create your instance. The Get Started with Amazon Connect and Create Amazon Connect contact flows documentation provide valuable background knowledge for this process.

Download the primary contact flow Customer Options, which includes the following customer experience before placing contact in queue:

      1. Provides estimated wait time
      2. Provides an option to receive call back
      3. Provides options to select music on hold

Download individual contact flows to try out the corresponding in-queue experiences:

      1. Play personalized music or silence
      2. Collect information that expedites the service


In this blog post, we presented some techniques, and best practices to optimize customers’ time waiting in queue. The key highlight is the value of using interactive actions and personalized messaging for customers. Using these, you can optimize idle waiting period, save customer time, and improve customer experience. Queue interactions should be chosen based on estimated wait times, customer context, and customer preferences.

Should you need help with implementing these best practices, you can get assistance from AWS professional services. You can also seek assistance from Amazon Connect partners available worldwide.