This is a guide for integrating your Amazon Connect Instance with eMite.
This involves the deployment of several additional components on your AWS Cloud, such as Kinesis streams , firehose and elasticsearch.
For easier deployment of these components - we can make use of a Cloudformation template to create a Cloudformation stack.
...
Oveview of Stack Components
...
- EmiteDomain
- AWS Elasticsearch Domain that will store data used by eMite such as the Contact Trace Records (CTRs) and Metrics, Observations
- EmiteAgentEvents
- AWS Kinesis Stream that gets Agent Events data from Amazon Connect
- EmiteCtrFirehoseEmiteCTR
- AWS Kinesis Firehose Stream that will send gets CTR data from Amazon Connect to Elasticsearch
- IAM Role that Kinesis Firehose will use
- EmiteCtrFirehosePolicy
- IAM Policy with various permissions requird by Kinesis Firehose
- EmiteRole
- IAM Role that eMite will use to get data from Kinesis Streams and Amazon Connect.
- EmiteKinesisPolicy
- IAM Policy to allow read access to Kinesis StreamStreams (Agent Events and CTR)
- EmiteAmazonConnectPolicy
- IAM Policy to allow read access to AmazonConnect instance
- AWS S3 Bucket that will store any CTR records that Firehose fails to send to Elasticsearch
Deploying the Stack
...
Load the eMite Cloudformation template on the console
...
- Stack Name
- Input your preferred stack name
- E.g. emite-amazonconnect-stack
- Parameters
- AgentEventsStreamName
- Name of the Agent Events Kinesis stream. You can leave this as default
- Default: connect-agentevents
- AmazonConnectInstanceARN
- Open a new console window and go to Amazon Connnect > select your Amazon Connect instance
- On the overview tab, copy the Instance ARN
- CtrFirehoseNameCTRStreamName
- Name of the Firehose used for sending CTR data from Amazon Connect to Elasticsearch.Agent Events Kinesis stream. You can leave this as default
- Default: connect-ctrfirehosectr
- CustomerID
- Autogenerated Unique Customer ID provided by eMite
- Please don't change this value
- ESDomainName
- Name of the elasticsearch domain. You can leave this as default
- Default: emite-kinesis-connect
- Autogenerated Unique Customer ID provided by eMite
- Please don't change this value
- EmiteAccountID
- eMite AWS Account ID
- Please don't change this value
- EmiteIP
- Autogenerated eMite Server IP
- Please don't change this value
- AgentEventsStreamName
- Click Next
Configure Stack Options
...
- Go to Amazon Connnect > select your Amazon Connect instance
- Go to Data Streaming
- Tick Enable data streaming
- Contact Trace Records
- Select Kinesis FirehoseKinesis Stream
- Select connect-ctrfirehosectr
- Agent Events
- Select Kinesis Stream
- Select connect-agentevents
Complete Registration / Send data to eMite team
...
Data to be sent to eMite team can be found on the Outputs Tab of the created stack:
- EmiteRole Amazon Connect Instance ARN
- Copy the ARN returned for EmiteRoleARN
- Value for AmazonConnectInstanceARN
- Elasticsearch Domain Endpoint URL:
- Copy the Value for ESDomainEndpointURL
- eMite Role ARN
- Copy the Value ARN returned for AmazonConnectInstanceARNEmiteRoleARN
- AgentEvents Kinesis Stream ARN
- Copy the Value returned for KinesisStreamARN
- AgentEventsKinesisARN
- CTR Kinesis Stream ARN
- Copy the Value returned for
- CTRKinesisARN