AWS Contact Center

Managing queues with a new API in Amazon Connect

Contact center administrators managing skills-based routing profiles often struggle to keep up with rapidly changing business requirements. New queues, labeled as skills traditionally, are required to meet changing routing and reporting needs. Adding or updating queues, associating or disassociating quick connects, and updating hours of operation for queues are some of the most frequently performed functions by contact center administrators, which can be time-consuming and prone to human error.

Amazon Connect now provides APIs that allow customers to address these functions programmatically. These APIs allow customers to manage contact center routing operations at scale. Additionally, they can assist with migrating queues from one Connect instance into another.

In this blog post, you will examine the full set of Amazon Connect capabilities to create, read (describe) and update queues via API. You can use these APIs within your existing solutions. You can also explore them through an ‘art of the possible’ user interface (UI) by following the steps detailed in this post.

Overview of solution

This solution uses an AWS CloudFormation template. It creates an Amazon S3 bucket and loads all the assets into CloudFront for this solution. As a user, you use the CloudFront URL of the website to test different scenarios.

Prerequisites

For this blog post, you should have the following prerequisites:

  • An AWS account
  • An existing Amazon Connect instance
  • Access to AWS services
  • AWS IAM access key and secret access key credentials to access your instance queues using the APIs

Deploy the solution

Note: The CloudFormation template will deploy resources in the US West (Oregon) Region. To deploy in other Regions, download the solution from this GitHub repository.

Overview of the steps:

  1. Create the CloudFormation stack.
  2. Use the CloudFront URL to access the website.
  3. Configure AWS credentials to manage the queues of an Amazon Connect instance.
  4. Test and validate the solution by performing add/modify/read operations on queues of an Amazon Connect instance.

Deploy Amazon Connect Queue APIs user interface website:

    1. Sign in to the AWS Management Console in the US West (Oregon) Region.
    2. Choose the following button to launch the stack in AWS CloudFormation launch stack button
    3. Enter a unique stack name (for example, queueapi-blog).
    4. Enter a globally unique name for a new S3 bucket. The template creates and stores all the assets that are required for the website you access through the Amazon CloudFront URL.

  1. Check the box for I acknowledge that AWS CloudFormation might create IAM resources.
  2. Choose Create Stack.
  3. The AWS CloudFormation template may take between 15 and 30 minutes to create all the resources. Once done, it will show the status as CREATE_COMPLETE. It may take another 15–20 minutes for Amazon CloudFront to complete its deployment of the website assets after the status changes to CREATE_COMPLETE.

Launch the Amazon Connect Queue APIs user interface website

    1. Navigate to AWS CloudFormation in the AWS Management Console, and choose the stack that you created earlier.
    2. Go to the Outputs section of the newly created stack. Copy the CloudFrontEndpoint URL from the Value column.

    1. Open the URL in a new browser tab or window and navigate to the Amazon Connect Queue website. You will see options to list all existing queues, create a new queue, modify an existing queue, or describe a queue in JSON format.
    2. Enter the AWS IAM Access Key and Secret Key for your user.
    3. Enter the Region and Instance ID of your Amazon Connect instance.
    4. Choose Save Configurations.

    1. Refresh the page in the browser.
    2. When the page loads, observe all of the queues that are configured in your Amazon Connect instance.

Create user quick connect

    1. Choose List all queues to retrieve the quick connects defined in your instance using the ListQueues API.

    1. Choose Create queue. This presents a pop-up for the new queue.

  1. Enter values for queue attributes. These include name, description, caller id name, number from the list, contact flow, maximum contacts, hours of operation, and quick connects.
  2. Choose Create queue. This invokes CreateQueue API and creates a queue in your instance.

Modify a queue

    1. Select queue in the list box and choose Modify queue.
    2. A pop-up will show the existing configuration of the queue.

    1. Choose Update name description to modify name/description of the queue using UpdateQueueName API.
    2. Choose Update outbound config to modify caller id name, number, and contact flow of the queue using UpdateQueueOutboundCallerConfig API.
    3. Choose Update max contacts to modify maximum contacts of the queue using UpdateQueueMaxContacts API.
    4. Choose Update hours of operation to modify hours of operation of the queue using UpdateQueueHoursOfOperation API.
    5. Check or uncheck the Status check box to enable or disable the queue using UpdateQueueStatus API.
    6. Click on the “Hours of operations” button, which will provide you the details of the day and time when the calls can be handled by the queue using the DescribeQueue API

    1. Navigate to the Quick connects tab, and choose Add Quick Connect. On the pop window, select the quick connect to associate to the queue.

    1. Select the quick connect, and choose Add to modify the queue by associating the quick connect using AssociateQueueQuickConnects API.

    1. Choose Remove to disassociate quick connect from the queue using DisassociateQueueQuickConnects API.

Describe a queue

    1. Select queue in the list box, and choose Describe queue. This will invoke DescribeQueue API and display the response in the JSON Output section.

Cleaning up

To avoid incurring future charges, remove all created resources by deleting the AWS CloudFormation stack.

Conclusion

This post demonstrates how to use new queue APIs in Amazon Connect to manage queues in an Amazon Connect instance. Using the new APIs, you can programmatically:

  • Add a new queue.
  • Modify a queue by adding or removing quick connects.
  • Modify hours of operation for a queue.
  • View hours of operation that is associated to a queue.

You learned how to perform the following functions programmatically through the web user interface:

  • List all queues that are configured in an Amazon Connect instance.
  • Create, modify, and describe queues.

Refer to the GitHub repo to learn more about this solution and see how the APIs were invoked.

Related links

To learn more about the technologies or features used to create this solution, see the following: