Skip to content

This project collects amazon connect metrics to an elasticsearch cluster

License

MIT-0, Apache-2.0 licenses found

Licenses found

MIT-0
LICENSE
Apache-2.0
LICENSE.txt
Notifications You must be signed in to change notification settings

kazuhitogo/voice-of-the-customer-integrations

 
 

Voice of the customer integrations

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.

example dashboard example dashboard example dashboard

Prerequisites

Launch an Amazon Connect instance, provision a phone number, and create a contact flow that enables recording and logging.

example logging

Architecture

Architecture

Directions

  1. Build each lambda package by zipping the directory: ./build.sh

  2. 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
  3. 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.
  4. Once the stacks deploy, update your Amazon Connect instance to use the new resources created:

    • S3 call recording bucket: the one created by the CF stack
    • Data Streaming CTR: the one created by the stack with "CTRStream" in the name
    • Agent Event Stream: the one created by the stack with "AgentKinesisStream" in the name data streaming config console
  5. Use the output of the cloudformation template to login to the kibana instance kibana instance

  6. Finally, navigate to the Kibana instance and import the default_dashboards.json file here by navigating to settings, saved objects, and clicking import.

animated gif showing import

Reference

This solution is based off of two initial solutions:

  1. 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
  2. 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/

License

This library is licensed under the MIT-0 License. See the LICENSE file.

About

This project collects amazon connect metrics to an elasticsearch cluster

Resources

License

MIT-0, Apache-2.0 licenses found

Licenses found

MIT-0
LICENSE
Apache-2.0
LICENSE.txt

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.7%
  • Other 0.3%