Amazon Connect: Customer control of queue music

In this blog post we are going to show how a queue can be set up to allow the caller to control their queue music, allowing skipping and stopping of the music while they wait.

Amazon Connect: Customer control of queue music

This is the first in a series of posts where I will be looking into aspects of Amazon Connect, from the customer experience, to the agents experience. Eventually also discussing the day to day operations and dev-ops involved in managing an enterprise level contact center solution.

Overview

In today’s world, customer experience plays a vital role in the success of any business. When it comes to call centers, one of the essential elements of customer experience is the music that customers listen to while waiting in a queue. Amazon Connect, a cloud-based contact center solution, provides an excellent opportunity for businesses to customize their queue music to enhance customer experience.

Traditionally, call centers play generic repetitive music for customers waiting in a queue. There is little consideration for the preferences of customers regarding the music that they may be hearing for potentially a significant amount of time. Some customers may prefer to change the music, or some customers may even wish to just wait in silence. In this blog post, we will discuss the benefits and a simple design for allowing users to have interactive control of the music that they are hearing in a way familiar to them by allowing them to skip music tracks, or even stop the music.

Benefits

There are many benefits of allowing customers to have more control of the music that they are hearing when they are waiting in a queue, to name just a few:

  • Increased Satisfaction: Allowing customers to control the queue music can increase their overall satisfaction with the call center experience. Customers are more likely to feel heard and respected if they are given some control over how they are spending their time waiting.

  • Reduced Frustration: Listening to the same music on repeat can be frustrating, especially if customers are on hold for a long time. Giving them the option to skip songs or play silence can reduce this frustration and make the wait time more tolerable.

  • Improved Perception of Time: When customers have control over their wait time, they are more likely to be engaged and less likely to feel that time is dragging. This can lead to a better perception of the overall wait time, even if the wait time is long.

  • Enhanced Brand Perception: Allowing customers to control the queue music can create a more positive perception of the brand. Customers will appreciate the effort made to provide a more personalized experience and may be more likely to recommend the brand to others.

  • Better Insights: If customers are given the option to skip songs or play silence, the call center can gather valuable insights into customer preferences. By analyzing which songs are skipped the most or which customers choose silence, call centers can make informed decisions about which music to play in the future.

Prerequisites

The overall concepts in this blog post do not require any prior knowledge of Amazon Connect, but the actual example implementation assumes a knowledge of Amazon Connect with the ability to create flows and set up a basic call center. An understanding of AWS services is also assumed.

Example design

To enable customers to choose their own queue music in Amazon Connect, a Queue Flow needs to be created that can accept input from the customer while they are waiting. This custom Queue Flow bypasses the loop prompts block as it needs to gather input from the customer. This is a common pattern when needing to execute more advanced treatments in the queue. A lambda function is used that selects which music is to be played, in our example this music list is just a parameter, but it would usually be part of your data driven contact center design. The selected music is then played using a get customer input block so that the customer is given an interactive ability to interrupt the music with key presses on their phone.

The options that are available to the customer are the ability to choose the next track to be played, the previous track, or even to stop the current track from playing altogether. This allows the customer to wait in silence if they wish, which is a surprisingly common request amongst callers.

In this example we have also included the ability to provide additional information about the queue and wait times. For example, the system can provide, on request, information for the customer about their estimated wait time, position in the queue, or any relevant announcements. This can help to reduce customer frustration and provide a more engaging and informative experience.

Amazon Connect Flow diagram showing a way to select queue music

Flow for music selection choices in Amazon Connect

Example Contact Flow Music Selection

The lambda function that is called from the custom Queue Flow to select the queue music is a simple function that can be easily modified to be reused in other contact flows. In fact in your call center implementations you should/would have a set of utility functions that you use in your flows, this is a utility function for list manipulation. The function is designed to take in an array of songs, which can be either reference Amazon Connect prompts or even music files stored in Amazon S3. It also takes in an action to be performed, such as selecting the next or previous track, and the last song that was played.

The lambda function then uses this information to determine which song should be played next. If the action is to select the next track, the function simply returns the next song in the array, looping back to the start of the array if necessary. Similarly, if the action is to select the previous track, the function returns the previous song in the array, looping back to the end of the array if necessary.

export const handler = async (event) => {
  /*
  This simple lambda will take a list of songs and return the next, 
  previous, or silence depending on the action specified.
  */

  let value = event['Details']['Parameters']['currentSong'];
  let array = event['Details']['Parameters']['songList'];
  let silence = event['Details']['Parameters']['silence'];
  let action = event['Details']['Parameters']['action'];

  let result = ""

  if (Object.keys(action).length === 0) {
    //no existing element so return the first
    result = array[0]
  } else if (action === "stop") {
    //just return the silence parameter
    result = silence
  } else {
    const index = array.indexOf(value);
    //get the next or previous element
    let newIndex = action === "next" ? index + 1 : index - 1;

    //make sure we loop around the array to return an item
    if (newIndex >= array.length) {
      newIndex = 0;
    } else if (newIndex < 0) {
      newIndex = array.length - 1;
    }

    result = array[newIndex];
  }

  //return the new current song to play
  const response = {
    currentSong: result
  };

  return response;

};

Of course in a full contact center, there would be many more treatments being offered in the queue to help enhance the customer experience and improve efficiency. There would most likely be treatments such as offering call-back options to customers, where they can choose to receive a call back from a representative instead of waiting on hold or other treatments such as playing informational or branding messages while customers are waiting in the queue.

Conclusion

In conclusion, allowing customers to control the queue music in an Amazon Connect contact center can greatly enhance the overall customer experience. By providing customers with the ability to skip tracks or listen to silence, call centers can reduce customer frustration and create a more personalized experience.

In addition, by providing customers with engaging and informative music options, call centers can create a more memorable experience that builds customer loyalty and satisfaction. The ability to choose their own music can also help customers feel more in control of their wait time, leading to a more positive overall experience.

Implementing this functionality in Amazon Connect is straightforward, requiring only a custom Queue Flow and a simple lambda function to select and control the queue music. By creating a generic utility function that can be called from multiple contact flows, call centers can streamline their development process and ensure consistency across different flows.

Overall, giving customers control over the queue music in Amazon Connect can greatly enhance the customer experience and help call centers build stronger relationships with their customers. By providing engaging and personalized options, call centers can reduce frustration and build loyalty, leading to greater customer satisfaction and long-term success.

Source

As always with these blog posts, the full source of the code is available on my github page.

essential