Web application for managing Amazon Connect contact center custom prompts
Amazon Connect contact center allows you to create dynamic voice prompt playback using Amazon Simple Storage Service (S3). All the custom prompts are stored as audio files on Amazon 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 Amazon 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 Amazon Connect.
Fig 1–High level architecture diagram
In the preceding architecture, you deploy a web application to Amazon S3 and make it publicly accessible using Amazon CloudFront. Amazon Cognito manages users’ authentication and authorization for logging into the web application. You add additional users in the Amazon Cognito user pool to access this web application. The web application uses AWS Amplify libraries for interacting with other AWS services like authentication using Amazon Cognito. The solution implements REST APIs using Amazon API Gateway to orchestrate API calls to AWS Lambda and Amazon S3 APIs. These REST APIs allow the web application to upload, download, and delete voice prompts. Calls to these REST APIs are tracked in Amazon DynamoDB and reported in the audit section of the web application.
To follow along with the solution presented in this blog post, you must understand the following AWS services and features:
- Amazon Connect
- Amazon CloudFront
- Amazon Simple Storage Service (S3)
- AWS Amplify
- Amazon Cognito
- Amazon API Gateway
- Amazon DynamoDB
- AWS Lambda
- AWS CloudFormation
- AWS Identity and Access Management (IAM)
- An active AWS account with permissions to create and modify AWS IAM roles.
- 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
BucketNameenvironment variable for all the Lambdas deployed with intended S3 bucket name.
- Under the CloudFormation stack Resources, for Logical ID
LambdaRoleand 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
thislocation and unzip in your local machine.
- Upload the content from the unzipped files
connect-s3-frontend/build/to the newly created S3 bucket
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.
- Once all the steps in the walkthrough section are complete, open the Amazon 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 Amazon 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.
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.
In this blog, you learned how users interact with a web application to manage the Amazon Connect voice recordings in Amazon S3 and view its audit history without logging into an AWS account. You also learned how a web application is deployed in the Amazon S3, made public using Amazon CloudFront and protected by Amazon Cognito for managing your users’ authentication and authorization. To learn more Amazon Connect dynamic voice prompt playback from Amazon S3, view this blog.
|David Kocen (he/they) is a Builder Solutions Architect at Amazon 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 Amazon Connect.
|Ankur Taunk is a Senior Specialist Solutions Architect at AWS. He helps customer achieve desired Contact Center business outcomes with Amazon 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 »