AWS Contact Center
Web application for managing HAQM Connect contact center custom prompts
Introduction
HAQM Connect contact center allows you to create dynamic voice prompt playback using HAQM Simple Storage Service (S3). All the custom prompts are stored as audio files on HAQM S3. As the number of files increase, it becomes challenging to manage these files and audit changes. Business users would need access to AWS Management Console and HAQM S3 to manage the prompts, which introduce an extra layer of friction.
In this blog, you will learn how to deploy a web-based application that lets your users manage and view audit history for the custom voice prompts for HAQM Connect.
Overview
Fig 1–High level architecture diagram
In the preceding architecture, you deploy a web application to HAQM S3 and make it publicly accessible using HAQM CloudFront. HAQM Cognito manages users’ authentication and authorization for logging into the web application. You add additional users in the HAQM Cognito user pool to access this web application. The web application uses AWS Amplify libraries for interacting with other AWS services like authentication using HAQM Cognito. The solution implements REST APIs using HAQM API Gateway to orchestrate API calls to AWS Lambda and HAQM S3 APIs. These REST APIs allow the web application to upload, download, and delete voice prompts. Calls to these REST APIs are tracked in HAQM DynamoDB and reported in the audit section of the web application.
Pre-requisites
To follow along with the solution presented in this blog post, you must understand the following AWS services and features:
- HAQM Connect
- HAQM CloudFront
- HAQM Simple Storage Service (S3)
- AWS Amplify
- HAQM Cognito
- HAQM API Gateway
- HAQM DynamoDB
- AWS Lambda
- AWS CloudFormation
- AWS Identity and Access Management (IAM)
- An active AWS account with permissions to create and modify AWS IAM roles.
Walkthrough
- Sign in to the AWS Management Console.
- Use the following Launch Stack button to deploy this solution in your preferred Region
- Enter the parameters in the CloudFormation template and acknowledge the access capabilities.
- AdminUserEmail: Admin email that a temporary password will be sent for the first login.
- S3PromptBucket: Globally unique name for your S3 bucket where you will upload the audio prompts.
Note: To use your existing audio prompt bucket, post deployment of the stack, follow below steps- Update the Lambda
BucketName
environment variable for all the Lambdas deployed with intended S3 bucket name. - Under the CloudFormation stack Resources, for Logical ID
LambdaRole
and Physical ID ending in<StackName>-<random number>-lambda-role
, update the policy to point to the intended S3 bucket
- Update the Lambda
- Select all the “I acknowledge …” statements check box at the last step, and then select “Create stack.”
- Once the deployment is complete, download the UI code from
this
location and unzip in your local machine. - Upload the content from the unzipped files
connect-s3-frontend/build/
to the newly created S3 bucket<StackName>-<random number>-s3prompts-webui
.
Security Disclaimer
Please note that this solution is meant to serve as an example for how you can get started building a solution. We recommend performing additional code review, functional testing, and IT validation before releasing this solution in a production environment. Always make sure to thoroughly test your solution and follow AWS Security Best Practices.
Validation
- Once all the steps in the walkthrough section are complete, open the HAQM CloudFront distribution under the AWS CloudFormation template “Outputs” tab.
- Enter the username and the temporary password that you received in the email. This will open the S3 prompt manager tool landing page.
Note: You can manage users (e.g., add additional users, reset credentials) to access this S3 prompt manager tool in the HAQM Cognito user pool.
S3 prompt manager tool operations
Depending on your requirements, you can create logical folder structures (e.g., language specific) in your audio prompt source S3 bucket as you are uploading new files by adding the folder name.
This web application allows you to upload, delete, download, and view audit logs for your audio files.
- Use “Download Prompt, Delete, upload a prompt” button on the tool to manage your audio files.
- You can navigate the S3 folder structure by selecting the radio button besides the folder and select “Open folder.” Navigate to previous folder by selecting “Back.”
- “Audit Log” section tracks file timestamps for upload and delete operations as well as the user who performed the action. You can search audit logs by prompt name, operations, or user.
Clean up
To remove the resources created by the stack, perform the following:
- Delete the CloudFormation template.
- Delete the objects and the S3 buckets created from the CloudFormation template.
Conclusion
In this blog, you learned how users interact with a web application to manage the HAQM Connect voice recordings in HAQM S3 and view its audit history without logging into an AWS account. You also learned how a web application is deployed in the HAQM S3, made public using HAQM CloudFront and protected by HAQM Cognito for managing your users’ authentication and authorization. To learn more HAQM Connect dynamic voice prompt playback from HAQM S3, view this blog.
Author Bio
![]() |
David Kocen (he/they) is a Builder Solutions Architect at HAQM Web Services (AWS) based in Seattle, Washington. He helps accelerate customer’s cloud journey through the creation of open-source starter projects and sample code. |
![]() |
Ritesh Choudhary is a Specialist Solutions Architect at AWS. Ritesh works with our customers to deliver exceptional customer service to their clients using HAQM Connect. |
![]() |
Ankur Taunk is a Senior Specialist Solutions Architect at AWS. He helps customer achieve desired Contact Center business outcomes with HAQM Connect. |
Join us for AWS Contact Center Day, a free virtual event where you’ll learn about the future of customer service, how machine learning can optimize customer and agent experiences—and more. Register now »