One of the many things that makes Amazon Connect so powerful is the way it can integrate with other AWS services which then provide a rich baseline for our business applications. Amazon Transcribe is one of the newer services offered (it will be 1 on April 4th) and it adds an intriguing augmentation to the Amazon Connect Contact Center.
Rather than monitoring customer interactions by listening to audio files, Amazon Transcribe provides us with an opportunity to take the first step into Machine Learning and data analytics. These transcriptions can be further processed by other AWS services such as Amazon Comprehend or stored as part of an Elasticsearch cluster.
What We’re Building
Today we’ll walk you through the process of building a call transcription stack. It will automatically process recorded calls and put a transcription of each call into an S3 bucket. Below you’ll find a quick guide to get started with a CloudFormation template, as well as instructions for configuring the Amazon Connect instance to support the application.
- Gather Call Recording information
- Launch the stack
- Enable Data Streaming for the Amazon Connect instance
- Ensure call recording is enabled on applicable call flows
First, we need to make a note of the S3 bucket currently being used by our instance to store call recordings. This can be found under “Data Storage” in your Amazon Connect instance. Please copy this bucket name down as we will use it during stack creation:
Next, we need to create our Lambda, Kinesis Stream and S3 Buckets. Click one of the links below to launch the CloudFormation template in the same region as your Amazon Connect instance. You will need to provide the bucket name you saved earlier. Then we will store our transcriptions in the root of this bucket. This template also includes the necessary IAM permissions to use the defined resources. Note that currently Amazon Transcribe is only available in certain regions. Please ensure that your Amazon Connect instance is in one of the below regions to ensure compatibility.
Once the stack has been created, we can enable Data Streaming in Amazon Connect and select our newly created Kinesis Stream, transcribe-kinesis-stream:
Finally, we’ll want to check our Contact Flows to ensure that Call Recording is enabled. For instance, to record outbound calls we can modify the “Default Outbound” flow to record Agent and Customer audio:
Once the appropriate flows have had recording enabled, feel free to make some test calls. You should see the transcriptions begin to appear in the root of the recording bucket you specified when launching the stack. These files will be provided in the JSON format with a full transcription of the call, as well as a breakdown by word and audio channel accompanied with a confidence score.
Using Kinesis Streams, Lambda and Amazon Transcribe we are now automatically processing and transcribing recorded calls from our instance. These transcriptions can be used for quality assurance, training, analytics or any number of other possibilities.
- You may notice that the transcriptions do not show up immediately after the lambda executes. This is because Amazon Transcribe processing times can vary depending on the source material.
- In a future post, we will show how to utilize Amazon Step Functions to monitor the progress of these transcription jobs and to take further processing steps upon their completion.
- The code provided here is solely for testing purposes.