AWS Connect

Bring the performance data from your AWS Connect-hosted call center into CSRScape automatically. Coaching, quality and live performance reporting in one place!
14 April 2021

With the AWS Connect integration, all your call metric performance data can be automatically imported into CSRScape every hour. Setup can be completed in just a few minutes, and from there the integration is easily monitored through the Data Import dashboard.

Once set up, reports of your agent performance will generate automatically and be stored in an S3 bucket, triggering a notification to CSRScape to download and process the new file.

Set up the AWS Connect integration

Create an IAM user in AWS

CSRScape will need an IAM user with access to Connect and S3 in AWS for this integration. The user will need programmatic access which means there will be a key and secret key for the user that can be used to connect to the AWS APIs.

Here's how you can create a new user:

The permissions required for the user are:

  • AmazonConnectReadOnlyAccess
  • AmazonS3ReadOnlyAccess

Once the user is created, take note of their key and secret key. It is important that you can keep these credentials safe. Ideally, just copy them into CSRScape in the next step without saving them at all.

Start the integration setup in CSRScape

Navigate to the AWS Integration page, select the region your AWS Connect instance is hosted and enter the Access Key and Secret Access Key from the previous step.

After saving, you'll see additional fields appear. Select the AWS Connect instance, and choose your preferred timezone for reporting aggregation.

After saving again, further fields will appear.

Location Mapping

Within each business unit, CSRScape organizes data by location. Location is intended to represent a physical call center, or group of at-home-agents in a virtual team.

AWS Connect offers five hierarchy levels for organizing your agent reporting structure. Level one represents the top-most hierarchy group. CSRScape needs to know which level is used to store your agents' overall location or call center. Select the correct level for your configuration.

Queue Mapping

Within each location, CSRScape organizes data by line of business. A line of business is intended to represent a customer group or a high-level type of request (e.g. 'Sales' and 'Technical Support').

Queues in AWS Connect best translate to lines of business in CSRScape. For each queue in your AWS Connect instance, select the line of business in CSRScape it should be mapped to. If you need to create additional lines of business, you must do that first and then return to the AWS integration page to finish.

Create an S3 bucket

Create a bucket in S3 to store the generated reports from Connect.

AWS Connect only allows one S3 bucket for exported reports, so there's no need to create an additional bucket if you have an existing one. In this case, just take note of the ARN and move to the next step.

Here's a general introduction to creating S3 buckets in AWS:

Take note of the S3 ARN for the next step.

Configure a notification in AWS SNS

Take note of the Notification Endpoint in the CSRScape configuration and then head to AWS SNS to create a topic. The endpoint is used to tell CSRScape when you have new data available in your S3 bucket ready to be downloaded and processed.

Here's a general introduction to SNS configuration in AWS:

Create a topic

Start by creating a new topic, giving it any name that makes sense to you. Internally, we use the name 'new-connect-report' to make it clear exactly what the topic relates to. Select the Standard type option and other leave everything else at the default except for the access policy.

Later, we'll setup the S3 bucket to post a message to this topic when a new report is received from Connect each hour. To make that possible, we need to update the topic's access policy to allow S3 to connect to it. To do this, update the access policy to the following:

  "Version": "2008-10-17",
  "Id": "__default_policy_ID",
  "Statement": [
      "Sid": "__default_statement_ID",
      "Effect": "Allow",
      "Principal": {
        "Service": ""
      "Action": [
      "Resource": "[topic-arn]",
      "Condition": {
        "StringEquals": {
          "AWS:SourceAccount": "[account-id]"
        "ArnLike": {
          "aws:SourceArn": "[s3-bucket-arn]"

The placeholders can be interpreted as follows:

  • [topic-arn] - This is the ARN of the topic itself and most likely already appears in the access policy.
  • [account-id] - This is the ID of your account. It most likely appears in the default policy with a key of 'AWS:SourceOwner', so the key can simply be changed to 'AWS:SourceAccount'.
  • [s3-bucket-arn] - This is the ARN of the S3 bucket created for Connect to store reports.

Create a subscription

Once the topic has been created, a subscription needs to be created to inform CSRScape when new messages are received on the topic.

Open the topic and click Create subscription. Set the protocol to https and set the endpoint to be the unique endpoint you obtained from the AWS Integration page in CSRScape. All other defaults can be accepted.

Create an S3 event notification

Return to the S3 bucket and go to the properties tab. Look for the Create event notification button.

Give the event notification a meaningful name, such as 'new-report-added', select 'All object create events' and then set the destination to your SNS topic created above.

Configure AWS Connect to store reports in the S3 bucket

Go to your AWS Connect instance in the AWS Console (not in the instance itself), select Data storage from the menu, and configure the S3 bucket you created above to be the storage location for exported reports.

AWS Connect Integration For CSRScape

Create the agent performance report in AWS Connect

For the next step, log into your AWS Connect instance (i.e. https://{name} You will need admin access to the Connect instance to be able to create and schedule the report.

Select Saved Reports from the Metrics and quality menu option, and then navigate to the Historical metrics tab.

Click 'Create New' and then select the Agent performance report.

Click the settings (cog) icon to open the settings. The Interval must be set to Total.

The Time Zone and Time range fields are irrelevant as they do not apply to the scheduled report we'll be setting up. They can be left with their default settings.

AWS Connect Integration For CSRScape

Navigate to the Groupings tab and add three groups.

The first will be the Agent Hierarchy Level that represents the agents' location (i.e. physical call center or virtual at-home-agent group). This must match the level selected in the CSRScape AWS Integration page. In this screenshot it is Agent Hierarchy Level One, but this may be different in your business depending on how you have organized your Connect instance.

The second and third options should be queue and agent.

AWS Connect Integration For CSRScape

The AWS Integration currently works with the default metrics selected in the Metrics tab. If you would like to support additional metrics, just contact us for setup.

Save the report and then select Schedule from the dropdown.

AWS Connect Integration For CSRScape

Configure the schedule to generate the report Hourly every 1 hour, starting at 1am UTC, for the previous 1 hour. In simple terms, this just schedules a report to be generated every hour for the proceeding hour continuously.

AWS Connect Integration For CSRScape

Scheduled reports do not generate until 15 minutes after the hour to ensure all data is complete, so you will experience this same delay before results appear in the CSRScape.

Monitor results and create any required users

Excellent! Your AWS Integration setup is now complete. To review, here's what is going to happen:

  • Each hour, AWS Connect will generate a report of agent performance for the proceeding hour. This takes until 15 minutes after the hour to generate.
  • The report is stored in your selected S3 bucket.
  • When the S3 bucket receives the new file, it will inform the SNS topic.
  • When the SNS topic receives the message, it will forward it to the CSRScape subscription, pinging your unique endpoint.
  • CSRScape will download and import the file, instantly updating all performance information in the application.

The status if your data imports can be monitored with the Data Import dashboard. Here you can see how long ago data was last successfully imported as well as any errors that have occurred when trying to process a data file.

Errors can occur when the data file contains data for agents that can't be matched to a CSRScape user, or unmapped locations or lines of business appear. Once the missing users or configuration is updated, simply click 'retry' on the failed import to attempt it again.

© 4thPortal 2019-2021.
Powered By Powered By SwiftDesk Customer Service Software