AWS Contact Center
Managing agent routing profiles with a new Amazon Connect API
Contact centers operate with ever-changing conditions related to interaction volumes, staffing, and the ability to optimize resources to address customer needs. One of the biggest challenges with achieving operational efficiency is knowing how to quickly make routing changes to adapt to emerging customer trends on a case by case basis. Historically, contact center administrators had to make these changes agent by agent, which is inefficient and often inaccurate.
Today, these changes can be executed in bulk using Amazon Connect’s new APIs to create, read, and update routing profiles within your Amazon Connect instance. Adding a new routing profile and assigning it to hundreds of users is now a quick, reliable capability using minimal effort.
Overview of solution
This solution uses a CloudFormation template, which creates a S3 bucket and loads all the assets that are required to run through different scenarios, such as changing the routing profile configuration or creating a new routing profile. As a user, you use the CloudFront URL to view the website content.
- Create the CloudFormation stack
- Access the CloudFront web UI to access the portal
- Configure the AWS credentials to manage the routing profiles of an Amazon Connect instance
- Get all the routing profiles in an instance
- Test and validate the solution by performing actions on routing profiles of an Amazon Connect instances
Note: All resources must be created in US West (Oregon) Region
You can access the source code at this GitHub repo if you are planning to implement in a different region.
For this walkthrough, you should have the following prerequisites:
- An AWS account
- An existing Amazon Connect instance
- Access to AWS services
- AWS IAM with access to create policies and roles
- Amazon CloudFront with access to create a distribution
- Amazon S3 with access to create buckets
- AWS CloudFormation to run the stack
- AWS IAM access and secret key credentials
Deploy the stack
The solution has the following steps:
- Sign in to AWS CloudFormation in US West Region (Oregon).
- Launch the CloudFormation template here:
- Enter the stack name (e.g. routingprofileapi-blog), this has to be unique.
- Enter a 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.
- Click on the check box “I acknowledge that AWS CloudFormation might create IAM resources.”
- Click Next.
- The AWS CloudFormation template takes 15-30 minutes to create all the resources and should show the status as “CREATE_COMPLETE”. You might have to wait for another 15-20 min for Amazon CloudFront to complete its deployment of the website assets after the status “CREATE_COMPLETE”.
Launch the Amazon Connect Instance APIs user interface website
- Go to the AWS CloudFormation Service in the AWS Management Console and click on the stack that you just created. Go to the Outputs section of the newly created stack, and copy the CloudFrontEndpoint URL.
- This brings you to the Amazon Connect Instance APIs website. You will see the options to list all existing routing profiles, create a new routing profile, modify an existing routing profile, or describe a routing profile in JSON format. Since you are launching the website for the first time, enter the AWS IAM credentials to access Amazon Connect instance and click on Save Configurations.
- Refresh the page by clicking the refresh button in the browser. When the page loads, you will see a list of all the routing profiles that are configured in your Amazon Connect instance.
Create a routing profile
- Click on Create Routing Profile. You should receive a notice pop-up asking to input details related to the routing profile in the Overview tab as shown in the screenshot below.
- Click on the Routing profile queues tab.
- Click Add queue. This triggers another pop-up asking to enter details for the queue you want to use as shown in the screenshot below.
- After entering all the details click Ok.
- The queue will be listed under the Routing profile queues table as shown in the table. You can add more queues by clicking Add queue.
- Click on the Overview tab and click Create routing profile. This creates a new routing profile and lists it in the table as shown below.
Modify a routing profile
- Select the routing profile you like to modify in the Table name here table.
- Click Modify routing profile. This loads all the details about the routing profile and its associated queue(s) by leveraging the ListRoutingProfileQueues API.
- Modify any of the following attributes:
- Name and description: click Modify name/description, which uses the UpdateRoutingProfileName API.
- Enable/disable Voice/Chat with concurrency for chat: click Modify concurrency, which uses the UpdateRoutingProfileConcurrency API.
- Default outbound queue associated to the profile: click Modify default queue, which uses the UpdateRoutingProfileDefaultOutboundQueue API.
- Click on the Routing profile queues tab and click Add queue. This triggers another pop-up asking to enter the queue details as shown in the screenshot below.
- After entering all the details click Ok.
- A new queue is then added to the routing profile in the list in real-time by using the UpdateRoutingProfileQueues API.
- You can remove a queue from your routing profile by selecting the check box to the left of the queue name. Click on Remove Queue. This removes the queue from the routing profile by executing the DisassociateRoutingProfileQueues API.
To avoid incurring future charges, delete the resources that you created by visiting AWS CloudFormation.
This post demonstrated how to use Amazon Connect’s new routing profiles APIs to manage routing profiles from an existing Amazon Connect instance. You learned how to perform the following functions programmatically through the web UI:
- List all routing profiles in your Amazon Connect instance using the new APIs
- Get a JSON output to view the details of a routing profile
- Create and modify a routing profile, which includes adding and deleting queues, setting priorities and delays, changing descriptions and names, and enabling voice and chat channels
To learn more about how this solution was built and see how the APIs were executed, refer to the GitHub repo.