This project automatically provisions an Amazon Elasticsearch cluster to ingest Amazon Connect CTRs and uses Amazon Transcribe to transcribe recorded calls then analyzes the resulting transcription with Amazon Comprehend powered sentiment analysis and key phrase extraction.
Launch an Amazon Connect instance, provision a phone number, and create a contact flow that enables recording and logging.
-
Build each lambda package by zipping the directory:
./build.sh
-
Create an S3 bucket with a top level folder and copy all files into it from GitHub
aws s3 mb s3://my-unique-bucket aws s3 sync . s3://my-unique-bucket/ --acl public-read
-
Create a stack with the template url set to the s3 bucket you just created under
/templates/quickstart-connect-voci-base-pipeline.yaml
- The Quick Start S3 bucket and folder should be set to the one that you created in step one
- The S3 audio bucket will be a new bucket, so add a globally unique name
- The log group is the log group set for the Amazon Connect instance you want to use. You can see the value in the Amazon Connect AWS Console when viewing the instance details under Contact Flow.
-
Once the stacks deploy, update your Amazon Connect instance to use the new resources created:
-
Use the output of the cloudformation template to login to the kibana instance
-
Finally, navigate to the Kibana instance and import the
default_dashboards.json
file here by navigating to settings, saved objects, and clicking import.
This solution is based off of two initial solutions:
- A re:Invent demo that indexed Audio and the CTR into Elastic Search: https://s3.amazonaws.com/serverless-analytics/reinvent-2018-comprehend-transcribe-connect/index.html
- A blog post that indexed Agent Events and CWL into Elastic Search: https://aws.amazon.com/blogs/contact-center/use-amazon-connect-data-in-real-time-with-elasticsearch-and-kibana/
This library is licensed under the MIT-0 License. See the LICENSE file.