For the main Amazon Connect integration setup instructions, see this article.
The setup instructions for Salesforce Service Cloud Voice are the same except for Part II, which uses Kinesis Data Stream and the instructions below.
Please note that admin access to Amazon Connect, Amazon Kinesis, IAM, S3, and Lambda will be required.
NOTE: If you encounter errors in MaestroQA after enabling the integration, please please send the following to your MaestroQA contact so they can help troubleshoot:
the complete IAM policy for your MaestroQA role or user
all S3 bucket policies for the S3 buckets accessed by this role or user
The index.js function from these instructions
To begin, please follow along part I of https://help.maestroqa.com/en/articles/4063505-amazon-connect-integration.
II. Set up Amazon Kinesis Data Stream
NOTE: You can skip this step if you meet ALL of the following criteria. If any criteria are not met, CTR configurations must be completed:
- You using Salesforce Voice
- You are using Contact Lens and 100% of calls are processed through Contact Lens
- 100% of calls are linked to Salesforce Cases
- You do not require any Amazon Connect metadata (example: queue name) or metrics (example: after call work)
If you have any doubts on these requirements and are able to configure CTRs, we recommend doing so. If you have questions, reach out to your MaestroQA contact
Starting from Amazon Connect
From the Amazon Connect console at https://console.aws.amazon.com/connect,
click on the instance alias of the Amazon Connect instance you would like to QA.Click on Data Streaming.
Check the box Enable data streaming.
Under Contact Trace Records, select Kinesis Stream.
If a selection option ending with
CTRStream
does not already exist, click Create a new Kinesis Stream.On the new Kinesis tab that just opened, under Data Streams click
Choose a descriptive Data Stream name ending with
CTRStream
, such as
amazon-connect-CTRStream
Select the Kinesis Stream ending with
CTRStream
.
Open Kinesis
Go to Kinesis, and open the data stream that was just selected in Amazon Connect.
Keep this tab open, as the ARN of this Kinesis Stream will be needed later.
Set up S3 bucket
In S3 in a new tab, create an S3 bucket that is only used for Amazon Connect Contact Trace Records.
Set the Bucket name to a descriptive name such as
connect-contact-trace-records-{your company name}
Record this bucket name, as it will be needed for MaestroQA's integration information.
Select the AWS Region, using the same region as Amazon Connect.
Click
Open the newly created bucket, and go to the Properties tab.
Keep this tab open, as the ARN of this S3 bucket will be needed later.
Create Lambda function
In Lambda in a new tab, create a new function.
Select Author from scratch.
Use a descriptive name, such as
salesforce-voice-amazon-connect-s3-lambda
.Use the
Node.js 18.x
runtime.Either the default or custom values can be used for Architecture, Execution Role, and Advanced Settings.
Click
Update Lambda function
Rename the
index.mjs
file of the newly created Lambda function toindex.js
.Replace the contents with the contents of this JavaScript file.
Click
Go to the Configuration tab, select Environment variables, and click
Add an environment variable with the Key set to
BUCKET
and the Value set to the name of the S3 bucket created earlier.(Not recommended) If your S3 bucket requires the use of a specific prefix preceding the default date prefix of
YYYY/MM/dd/HH
, add an environment variable with the Key set toPREFIX
and the Value set to the specified prefix, omitting a trailing slash (/
).Click
On the Lambda function's Configuration tab, select Permissions and click on the Role name to open a new tab.
Modify IAM policy for Lambda function's role
In the newly opened tab, under Permissions policies, toggle the policy and click
Add permissions for the Kinesis service:
Select these Actions to be allowed: GetRecords, GetShardIterator, DescribeStream, ListShards, and ListStreams
Select the Resource to be allowed as the ARN of the Kinesis Stream that was used earlier.
Add permissions for the S3 service:
Select the Action to be allowed as PutObject.
Select the Resource to be allowed as the ARN of the S3 bucket that was used earlier followed by
/*
Click
followed by
Set up the trigger for the Lambda function
On the Lambda function's Configuration tab, select Triggers and click
Select Kinesis as the source.
Under Kinesis Stream, select the option ending with
CTRStream
.Click
To complete setup, please follow along parts III and IV of https://help.maestroqa.com/en/articles/4063505-amazon-connect-integration.