Skip to main content
All CollectionsIntegrations in MaestroQAAmazon Connect
Amazon Connect Integration for Salesforce Service Cloud Voice
Amazon Connect Integration for Salesforce Service Cloud Voice

Instructions specific to Salesforce Service Cloud Voice for setting up Amazon Connect

Adam avatar
Written by Adam
Updated over 2 months ago

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


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

  1. Starting from Amazon Connect

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

    2. Click on Data Streaming.

    3. Check the box Enable data streaming.

    4. Under Contact Trace Records, select Kinesis Stream.

    5. If a selection option ending with CTRStream does not already exist, click Create a new Kinesis Stream.

      1. On the new Kinesis tab that just opened, under Data Streams click

      2. Choose a descriptive Data Stream name ending with CTRStream, such as
        amazon-connect-CTRStream

    6. Select the Kinesis Stream ending with CTRStream.

  2. Open Kinesis

    1. Go to Kinesis, and open the data stream that was just selected in Amazon Connect.

    2. Keep this tab open, as the ARN of this Kinesis Stream will be needed later.

  3. Set up S3 bucket

    1. In S3 in a new tab, create an S3 bucket that is only used for Amazon Connect Contact Trace Records.

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

    3. Select the AWS Region, using the same region as Amazon Connect.

    4. Click

    5. Open the newly created bucket, and go to the Properties tab.

    6. Keep this tab open, as the ARN of this S3 bucket will be needed later.

  4. Create Lambda function

    1. In Lambda in a new tab, create a new function.

      1. Select Author from scratch.

      2. Use a descriptive name, such as salesforce-voice-amazon-connect-s3-lambda.

      3. Use the Node.js 18.x runtime.

      4. Either the default or custom values can be used for Architecture, Execution Role, and Advanced Settings.

      5. Click

    2. Update Lambda function

      1. Rename the index.mjs file of the newly created Lambda function to index.js.

      2. Replace the contents with the contents of this JavaScript file.

    3. Click

    4. Go to the Configuration tab, select Environment variables, and click

      1. Add an environment variable with the Key set to BUCKET and the Value set to the name of the S3 bucket created earlier.

      2. (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 to PREFIX and the Value set to the specified prefix, omitting a trailing slash (/).

      3. Click

    5. On the Lambda function's Configuration tab, select Permissions and click on the Role name to open a new tab.

  5. Modify IAM policy for Lambda function's role

    1. In the newly opened tab, under Permissions policies, toggle the policy and click

    2. Add permissions for the Kinesis service:

      1. Select these Actions to be allowed: GetRecords, GetShardIterator, DescribeStream, ListShards, and ListStreams

      2. Select the Resource to be allowed as the ARN of the Kinesis Stream that was used earlier.

    3. Add permissions for the S3 service:

      1. Select the Action to be allowed as PutObject.

      2. Select the Resource to be allowed as the ARN of the S3 bucket that was used earlier followed by /*

    4. Click

      followed by

  6. Set up the trigger for the Lambda function

    1. On the Lambda function's Configuration tab, select Triggers and click

    2. Select Kinesis as the source.

    3. Under Kinesis Stream, select the option ending with CTRStream.

    4. Click


To complete setup, please follow along parts III and IV of https://help.maestroqa.com/en/articles/4063505-amazon-connect-integration.

Did this answer your question?