

# Set up and review agent screen recordings in Amazon Connect Contact Lens
<a name="agent-screen-recording"></a>

To help coach your agents to provide great customer service, you can use the Contact Lens screen recording feature to gain quality management insights. It records the agent's desktop, which helps you identify opportunities to improve performance. This information is also useful for ensuring compliance.

For example, let's assume it takes most agents two minutes to process a refund, but Jane Doe takes four minutes. You can watch a recording of her desktop when she's doing a refund and discover why she is taking longer. 

The following diagram shows the high-level components of screen recording. For a sequence diagram that shows the network calls between different components, see [Network requirements](sr-system-req.md#network-requirements). 

![\[A diagram of the screen recording flow.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/screen-recording-flow.png)


**Topics**
+ [Amazon Connect Client Application](amazon-connect-client-app.md)
+ [System and network requirements](sr-system-req.md)
+ [Enable screen recording](enable-sr.md)
+ [Review agent screen recordings](review-screen-recordings.md)
+ [Download log files for the screen recording app](troubleshoot-sr.md)
+ [Use Amazon EventBridge events to track screen recording status](track-screen-recording-status.md)
+ [FAQ for screen recording capabilities](faq-screenrecording.md)

# Amazon Connect Client Application
<a name="amazon-connect-client-app"></a>

Amazon Connect screen recording is supported in Windows and Chrome OS. This page provides the download and installation instructions for the screen recording application in each operating system, and the minimum system requirements for the agent devices.

**Topics**
+ [Windows](#windows-client)
+ [Chrome OS](#chrome-os)

## Windows
<a name="windows-client"></a>

### Version information
<a name="version-info"></a>
+ Version: v2.0.3 (latest)
+ Release date: January 16 2025
+ Download link: [AmazonConnectClientWin-v2.0.3](https://d4yqf2f7seiym.cloudfront.net/builds/AmazonConnectClientWin-v2.0.3.zip) 
+ Release note: This version supports AWS GovCloud (US) customers and has security improvements.

The above link downloads the **AmazonConnectClientWin-[version].zip** file. The zip file contains the **Amazon.Connect.Client.Service.Setup.[version].msi** file. For installation instructions, see [Enable screen recording](enable-sr.md).

To be notified when there is an update to the Amazon Connect Client Application, we recommend subscribing to the RSS feed of this administrator guide. Choose the **RSS** link that appears under the title of this page (it's next to the PDF link).

### Client install instructions
<a name="client-install"></a>

In this step you install the **Amazon.Connect.Client.Service** file onto the agent's desktop, or into the virtual environment that the agent uses. This is the Amazon Connect Client Application.

**Note**  
In case of Windows multi-session OS, run the installer only once on the machine. Screen recording on Windows multi-session OS is supported only by version 2.0.0 or later.
If your Amazon Connect instance is in AWS GovCloud (US-West), you must install version 2.0.3 or later.
You need to configure an allowlist of Amazon Connect domains that are allowed to communicate with the client application. Screen recordings are captured only from Amazon Connect domains specified in your allowlist.

#### Programmatic installation by using software distribution tools
<a name="programmatic-installation"></a>
+ Download the latest version of the **Amazon.Connect.Client.Service.Setup.msi** file.
+ Use your organization's software distribution mechanism, such as Software Center, to install the A**mazon.Connect.Client.Service** client app on agent desktops.
+ Deploy using your organization's enterprise software distribution system such as Microsoft System Center Configuration Manager, SCCM, or other automated deployment tools.
+ Include the `ALLOWED_CONNECT_DOMAINS` parameter by using the following syntax:

  ```
  msiexec /i Amazon.Connect.Client.Service.Setup.msi ALLOWED_CONNECT_DOMAINS="connect-dev-instance.my.connect.aws,connect-prod-instance.my.connect.aws"
  ```

#### Manual installation
<a name="manual-installation"></a>
+ Download the latest version of the **Amazon.Connect.Client.Service.Setup.msi **file.
+ Double-click the installer file.
+ Enter the Amazon Connect domains allowlist when prompted. The following image shows an example of how to specify a domain in the allowlist on the **Configure Installation Settings** dialog box. For more examples, see *Guidelines for specifying your Amazon Connect domains allowlist* below.  
![\[The Configure Installation Settings dialog box.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/domain-allowlist-windows.png)
+ Choose **Install** to complete the installation.

#### Verify the Amazon Connect Client Application is running and functioning correctly
<a name="verify-installation"></a>

##### To verify that the application is running:
<a name="verify-running"></a>
+ In Windows Task Manager, check for a background process named **Amazon.Connect.Client.Service**. This is the Amazon Connect Client Application.
+ In Windows Task Manager, under **Users processes**, check for another process named **Amazon.Connect.Client.RecordingSession** after the user accepts the very first contact where screen recording is enabled. 

  The following image shows **Amazon.Connect.Client.RecordingSession** in Task Manager.  
![\[Amazon.Connect.Client.RecordingSession in Task Manager.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/taskmanager.png)

##### To verify that the application is functioning correctly and creating log files:
<a name="verify-functioning"></a>

1. Navigate to the following directory: `C:\ProgramData\Amazon\Amazon.Connect.Client.Service\logs`

1. Open log files that are present in the directory.

1. In a successful installation the log files contain the following line: `Checking that services are still running, result : true`

1. Navigate to the following directory: `%USERPROFILE%\AppData\Local\Amazon\Amazon.Connect.Client.RecordingSession\Logs`

1. Open log files that are present in the directory.

1. In a successful installation the log files contain the following line: `Session initiation completed with result: True`

#### Guidelines for specifying your Amazon Connect domains allowlist
<a name="domain-allowlist-guidelines"></a>

Be sure to adhere to the following guidelines when you enter domains in the **Allowed Connect Domains** box. Otherwise your installation will fail.
+ Format: Comma-separated Amazon Connect domains
+ Valid characters for Amazon Connect domains: Use only A-Z, a-z, 0-9, hyphen (-), period (.)
+ Protocol prefixes such as https:// or http:// are not required.
+ Limitations:
  + Maximum 500 domain entries
  + Maximum 256 characters per domain entry
  + Maximum 128,000 characters total input length

Following are examples of how to specify your domain.

##### Correct
<a name="correct-examples"></a>
+ domain1.my.connect.aws,domain2.my.connect.aws
+ ddomain-1.my.connect.aws, 1-domain.my.connect.aws
+ domain-12.my.connect.aws

##### Incorrect
<a name="incorrect-examples"></a>
+ \$1123domain.foo
+ domain:2.foo
+ \$1domain.my.connect.aws
+ https://domain1.my.connect.aws
+ \$1.my.connect.aws

## Chrome OS
<a name="chrome-os"></a>

Amazon Connect screen recording feature on ChromeOS requires two components:
+ Isolated Web App
+ Google Chrome Browser Extension

The installation of these components on Agent Chrome devices can be performed through Google Enterprise Admin Console. The URLs to configure the installation of the Isolated Web App and Chrome browser extension are provided below and can be set to automatic update through web manifest configuration JSON.

### Download location and Install instructions
<a name="download-install"></a>

Complete the following steps on the Google Enterprise Admin Console. Apply the policy for all the agent devices where screen recording feature needs to be enabled.

#### Install Isolated Web App
<a name="isolated-web-app"></a>
+ Web Bundle ID: `ajbye5keylrcyakugr3zttu6f524eoamjc7mc6ubw3x3547xu3hxqaacai`
+ Update Manifest URL: `https://screenrecording.connect.aws/chromeos/amazon-connect-client-iwa/releases/update_manifest.json`

**To install Isolated Web App**

1. Navigate to the [Google Admin Portal](https://admin.google.com) (https://admin.google.com) and login with your Google enterprise admin credentials.

1. Select **Add an Isolated Web App**.

1. Copy and paste the following details, and then choose **Save**:
   + Web Bundle ID: `ajbye5keylrcyakugr3zttu6f524eoamjc7mc6ubw3x3547xu3hxqaacai`
   + Update Manifest URL: https://screenrecording.connect.aws/chromeos/amazon-connect-client-iwa/releases/update\$1manifest.json

   The following image shows an example **Add an Isolated Web App** dialog box that has been completed.  
![\[A completed Add an Isolated Web App dialog box.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/addisolatedwebapp.png)

1. Configure **Installation Policy** to `Force Install + Pin to ChromeOS Taskbar` and change **Launch on Login** to `Force Launch and Prevent Closing` to make sure Isolated Web App starts automatically when a computer is logged into and restarts.  
![\[The Installation policy and Launch on login sections.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/installationpolicy.png)

1. Configure **Managed configuration** to allowlist your Amazon Connect domains that are allowed to initiate screen recording on agent machines. An example of **Managed configuration** is shown in the following image.   
![\[The Managed configuration section.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/managedconfiguration.png)
   + The key name MUST be `allowListedDomain`. Domain names should not include any paths, query strings, or trailing slashes (/).
   + Replace `your-instance-alias-*` with your actual Amazon Connect instance alias.

   ```
   {
   "allowListedDomain": [
   "https://your-instance-alias-1.my.connect.aws",
   "https://your-instance-alias-2.my.connect.aws"]
   }
   ```

1. Complete the following steps to configure the Isolated Web App to allow Direct sockets, Screen recording, and Window management permissions: 
   + Navigate to **Devices**, **Chrome**, **Web capabilities**, **Add Origin**.
   + input `ajbye5keylrcyakugr3zttu6f524eoamjc7mc6ubw3x3547xu3hxqaacai`, and then choose **Save**.

   The following image shows where Devices, ChromeS, and Web capabilities are located in the left navigation menu in Chrome.   
![\[The left navigation menu in the Chrome OS.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/allorigins.png)

The following image shows the location of **Direct sockets**, **Screen recording**, and **Window management** on the Web capabilities page.

![\[The location of Direct sockets, Screen recording, and Window management Web capabilities page.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/directsockets.png)


#### Install Google Chrome Browser Extension
<a name="chrome-extension"></a>
+ Extension ID: cjmichfmnimgeoadokmeaiclklkdccod
+ Custom URL: `https://screenrecording.connect.aws/chromeos/amazon-connect-extension/releases/updates.xml`

**To install Google Chrome Browser Extension**

1. Navigate to **Add Chrome app or extension by ID**, as shown in the following image.  
![\[The Add Chrome app or extension by ID option in the left navigation.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/appandextensions.png)

1. In the **Add Chrome app or extension by ID**, choose **From a custom URL** and enter the following information:
   + Extension ID: `cjmichfmnimgeoadokmeaiclklkdccod`
   + Custom URL: `https://screenrecording.connect.aws/chromeos/amazon-connect-extension/releases/updates.xml`  
![\[The Add Chrome app or extension by ID dialog box, the From a custom URL option.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/chromeapp.png)

1. Configure **Installation Policy** to **Force Install**, and then choose **Save**, as shown in the following image.  
![\[The Installation Policy option set to Force install.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/forceinstall.png)

# System and network requirements for screen recording in Amazon Connect
<a name="sr-system-req"></a>

This topic provides the system requirements for using screen recording, and describes the detailed dataflow it uses in each platform.

## System requirements
<a name="sr-requirements"></a>

Here are the minimum system requirements for agent devices to perform screen recording. You'll need to scope additional memory, bandwidth, and CPU for the operating system and anything else running on the device to avoid resource contention. 
+ CPU: 2.0 GHz (4 cores or 4 vCPU recommended)
+ Memory: 4 GB
+ Network: 600 Kbps

### Supported operating systems
<a name="supported-os"></a>
+ 64-bit Windows 10 and 11 based on the x86-64 architecture
+ Chrome OS version 140 or higher enrolled in a Google Enterprise Domain

**Note**  
When Windows multi-session configuration is enabled allowing multiple agents to use a single Windows host, ensure that the agent's workstation has the recommended resource availability for each concurrent session.

## Network requirements
<a name="network-requirements"></a>
+ **Port used for screen recording**: The Amazon Connect Client Application communicates with the CCP through a local websocket on port 5431 (on Windows) and 25431 (on Chrome OS).
+ **URLs to add to your firewall allowlist**: To ensure smooth screen recording functionality, add the following URL patterns to your allowlist:
  + From CCP: `connect-recording-staging-*.s3.dualstack.your-region-name.amazonaws.com`. If you prefer to not use wild cards, the list of endpoints is available at https://screenrecording.connect.aws/config/connect-recording-endpoint-allowlist.json. This list may be updated in the future. Refer to the `createDate` at the top of the file to check for updates.
  + From screen recording client application: `https://your-connect-instance-alias.my.connect.aws/taps/client/auth`
+ **Sequence diagram**: The following sequence diagram shows the network calls between different components involved in screen recording.  
![\[A sequence diagram shows the network calls between different components involved in screen recording.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/sequence-diagram.png)
  + In Windows, the Amazon Connect Client is the combination of the Amazon.Connect.Client.Service background process and Amazon.Connect.Client.RecordingSession.
  + In ChromeOS, the Amazon Connect Client is the combination of Isolated Web App and Browser extension.

## Browser enterprise policy for local network access
<a name="browser-enterprise-policy"></a>

Starting with Google Chrome version 147 (released April 7, 2026) and Microsoft Edge version 147 (released April 10, 2026), Chromium-based browsers enforce Local Network Access (LNA) restrictions on WebSocket connections. This restriction blocks the local WebSocket connection between the Contact Control Panel and the Amazon Connect Client Application, causing screen recordings to fail.

To ensure screen recording works on Chrome 147 or later and Edge 147 or later, deploy the **LoopbackNetworkAllowedForUrls** enterprise policy to your agents' workstations. This policy pre-grants loopback network access permission for your Contact Control Panel domain, so agents are not blocked or prompted. Configure this policy with your Amazon Connect Contact Control Panel URL. Example policy value: `[*.]my.connect.aws`
+ For Google Chrome, see [LoopbackNetworkAllowedForUrls](https://chromeenterprise.google/policies/#LoopbackNetworkAllowedForUrls) in the Chrome enterprise policy documentation.
+ For Microsoft Edge, see [LoopbackNetworkAllowedForUrls](https://learn.microsoft.com/en-us/deployedge/microsoft-edge-browser-policies/loopbacknetworkallowedforurls) in the Edge enterprise policy documentation.

The following example commands set the registry policy for the domain `[*.]my.connect.aws` on Windows:

```
reg add "HKLM\SOFTWARE\Policies\Google\Chrome\LoopbackNetworkAllowedForUrls" /v 1 /t REG_SZ /d "[*.]my.connect.aws"
reg add "HKLM\SOFTWARE\Policies\Microsoft\Edge\LoopbackNetworkAllowedForUrls" /v 1 /t REG_SZ /d "[*.]my.connect.aws"
```

For more details on this browser change, see [New permission prompt for Local Network Access](https://developer.chrome.com/blog/local-network-access) in the Chrome developer documentation.

# Enable screen recording for your Amazon Connect instance
<a name="enable-sr"></a>

This topic provides steps to enable screen recording for your Amazon Connect instance, download and install the Amazon Connect Client Application, and perform key configuration steps. 

**Topics**
+ [Step 1: Enable screen recording for your instance](#install-sr-step1)
+ [Step 2: Download and install the Amazon Connect Client Application](#install-sr-step2)
+ [Step 3: Configure the Set recording and analytics behavior block](#configure-recording-block)
+ [Configuration tips](#tips-sr)

## Step 1: Enable screen recording for your instance
<a name="install-sr-step1"></a>

**Important**  
If your Amazon Connect instance was created before October, 2018, and you don't have service-linked roles set up, follow the steps in [Use service-linked roles](https://docs.aws.amazon.com/connect/latest/adminguide/connect-slr.html#migrate-slr) to migrate to the Amazon Connect service-linked role.

The steps in this section explain how to update your instance settings to enable screen recording, and how to encrypt recording artifacts.

1. Open the Amazon Connect console at [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/).

1. Choose your instance alias.

1. In the navigation pane, choose **Data storage**, scroll down to **Screen recordings** and choose **Edit**, as shown in the following image.  
![\[The Screen recordings section of the Data storage page.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/console-screenrecordings.png)

1. Choose **Enable screen recording**, and then choose **Create a new S3 bucket (recommended)** or **Select an existing S3 bucket**.

1. If you chose **Create a new Amazon S3 bucket (recommended)**, enter a name in the **Name** box. If you chose to use an existing bucket, select it from the **Name** list.

1. (Optional) To encrypt the recording artifacts in your Amazon S3 bucket, select **Enable encryption**, then choose a KMS key.
**Note**  
When you enable encryption, Amazon Connect uses the KMS key to encrypt any intermediate recording data while the service processes it.

1. When finished, choose **Save**.

For more information about instance settings, see [Update settings for your Amazon Connect instance](update-instance-settings.md). 

## Step 2: Download and install the Amazon Connect Client Application
<a name="install-sr-step2"></a>

Follow the instructions in [Amazon Connect Client Application](amazon-connect-client-app.md) to download and install the Amazon Connect Client Application for your operating system.

## Step 3: Configure the Set recording and analytics behavior block
<a name="configure-recording-block"></a>
+ Add a [Set recording and analytics behavior](set-recording-behavior.md) block immediately after the point of entry to the flow. Add the block to every flow that you want to enable for screen recording.
+ The following image shows the properties page of the [Set recording and analytics behavior](set-recording-behavior.md) block. In the **Screen Recording** section, choose **On**.  
![\[The Set recording behavior block, the Screen recording section.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/screenrecordingblock.png)

## Configuration tips
<a name="tips-sr"></a>
+ To enable supervisors to search for contacts that have screen recordings, add a [Set contact attributes](set-contact-attributes.md) block before **Set recording and analytics behavior**. Add a custom attribute called something like **screen recording = true**. Supervisors can [search on this custom attribute](search-custom-attributes.md) to find those that have screen recordings.
+ You may want to add a [Distribute by percentage](distribute-by-percentage.md) block before **Set recording and analytics behavior**. This enables you to use screen recording for some but not all contacts.
+ You may want to leverage the [SuspendContactRecording](https://docs.aws.amazon.com/connect/latest/APIReference/API_SuspendContactRecording.html) and [ResumeContactRecording](https://docs.aws.amazon.com/connect/latest/APIReference/API_ResumeContactRecording.html) APIs to prevent sensitive information from being captured in the screen recording.

# Review agent screen recordings in the Amazon Connect Client Application
<a name="review-screen-recordings"></a>

Use screen recordings to identify areas for agent coaching (for example, long contact handle duration or non-compliance with business processes) by watching an agent's actions while they handle a call, chat, or task contact. 

The screen recording is synchronized with the voice recording and contact transcript, so you can hear or read what is being said at the same time.

**Note**  
Screen recordings are only available for Completed contacts.

**Topics**
+ [Step 1: Assign permissions to review screen recordings in the Amazon Connect Client Application](#assign-permissions-sr)
+ [Step 2: Review screen recordings](#review-sr-2)
+ [Watch in Picture-in-picture mode](#picture-in-picture)

## Step 1: Assign permissions to review screen recordings in the Amazon Connect Client Application
<a name="assign-permissions-sr"></a>

To allow users to review screen recordings, assign the following **Analytics and optimization** security profile permission: 
+ **Screen recording - Access**: Allows a user, such as a supervisor or Quality Assurance team member, to access and review screen recordings.
**Important**  
Screen recording merges the screen recording video with the unredacted call recording file. If users have permission to view screen recordings, they can listen to the unredacted audio.
+ **Screen recording - Enable download button**: Allows a user, such as a supervisor or Quality Assurance team member, to view a download button on the **Contact details** page to download screen recording videos.

For information about how to add more permissions to an existing security profile, see [Update security profiles in Amazon Connect](update-security-profiles.md).

## Step 2: Review screen recordings
<a name="review-sr-2"></a>

1. Log in to Amazon Connect with a user account that has the **Analytics and optimization** - **Screen recording - Access** permission in its security profile.

   If you also have **Screen recording - Enable download button** permission, you can view a button on the **Contact details** page that enables you to download a screen recording and view it offline. 

1. On the navigation menu, choose **Analytics and optimization**, **Contact search**.

1. Search for the contact you want to review.
**Tip**  
If you've added a custom attribute to your flows to indicate when screen recording is enabled, you can [search by the custom attribute](search-custom-attributes.md) to locate contact records with screen recordings. For more information, see [Configuration tips](enable-sr.md#tips-sr). 

1. Click or tap the contact ID to view the **Contact details** page.

1. The **Recording** section contains a video player that displays the screen recording, as shown in the following image.  
![\[A screen recording.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/screen-recording-show-recording.png)
**Important**  
Screen recording playback in the **Contact details** page is not supported in the legacy `https://your-instance-alias/awsapps.com` domain. We recommend using the `https://your-instance-alias.my.connect.aws/` domain to play screen recordings. For more information, see [Update your Amazon Connect domain](update-your-connect-domain.md) in this guide.

1. Use the right-side controls to zoom in and out, fit the video to the window, download video, expand to full-screen, and play picture-in-picture.  
![\[The zoom in and out controls.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/screen-recording-zoom.png)

1. If you don't see a video recording, check that the **Show screen recording** toggle is on. 

   If no video appears, then the screen recording may not yet be ready (that is, uploaded into the Amazon S3 bucket). If the problem persists, contact [AWS Support Center](https://console.aws.amazon.com/support/home#/).

## Watch in Picture-in-picture mode
<a name="picture-in-picture"></a>

You may want to move the video elsewhere on your monitor while you watch it. For example, you can reposition the video so you can read the transcript. Use **Watch in Picture-in-picture** mode to achieve this. 

1. Choose the picture-in-picture button on the right side controls, as shown in the following image.  
![\[The picture in picture button the right side of the page.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/screen-recording-picture-in-picture.png)

1. Choose the **X** in the top right corner to pop the window back. The following image shows the video in Picture-in-picture mode, and the location of the **X** to pop the window back.   
![\[The video in picture-in-picture mode and the location of the back to tab button.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/screen-recording-back-tab.png)

# Download the Amazon Connect Client Application log files for troubleshooting
<a name="troubleshoot-sr"></a>

When you open an AWS Support ticket for issues with screen recordings, include the log files for Amazon Connect Client Application and shared worker from the agent desktop.

## Amazon Connect Client Application log files (Windows)
<a name="windows-client-logs"></a>

On the agent's desktop, navigate to:
+ `C:\ProgramData\Amazon\Amazon.Connect.Client.Service\logs`

  This file contains the logs including the Websocket connection between browser and Client Application, and another Websocket connection between **Amazon.Connect.Client** and **Amazon.Connect.RecordingSession**.
+ `%USERPROFILE%\AppData\Local\Amazon\Amazon.Connect.Client.RecordingSession\Logs`

  This file contains logs for screen recording activities. (Not applicable for version 1.x.)

## Shared Worker logs (Windows and ChromeOS)
<a name="shared-worker-logs"></a>

Open your CCP. It must be open so you can view the **ClientAppInterface** shared worker.

### Chrome
<a name="chrome-logs"></a>

1. Open a Chrome browser. For the URL type `chrome://inspect/#workers`.

1. In the **Shared workers** section, locate the shared worker named **ClientAppInterface**.

1. Choose **inspect** to open a DevTools instance.

1. Choose the **Console** tab, right-click the log dump, and then select **Save as...** to store the log dump to a local file.

### Firefox
<a name="firefox-logs"></a>

1. Open a Firefox browser. For the URL type `about:debugging#workers`.

1. In the **Shared workers** section, choose **Inspect** for **/connect/ccp-naws/static/client-app-interface.js**.

1. Right-click the **Console** tab and select **Save all Messages to File** to store the log dump to a local file.

### Edge (Chromium)
<a name="edge-logs"></a>

1. Open a Chrome browser. For the URL type `edge://inspect/#workers`.

1. In the **Shared workers** section, locate the shared worker named **ClientAppInterface**.

1. Choose **inspect** to open a DevTools instance.

1. Choose the **Console** tab, right-click the log dump, and then select **Save as...** to store the log dump to a local file.

# Use Amazon EventBridge events to track screen recording status
<a name="track-screen-recording-status"></a>

With Amazon EventBridge, you can view the status of [agent screen recordings](agent-screen-recording.md) in near real-time. The event for each agent screen recording includes success/failure status, failure codes with descriptions, recording location, recording size, installed client version, and screen recording start and end times.

You can integrate with other AWS services to get analytical or monitoring insights of agent screen recordings:
+ Query with [Amazon CloudWatch Log Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)
+ Get near real-time alerts in an [Amazon Quick](https://aws.amazon.com/quicksight/) dashboard
+ Create aggregated reports outside of Amazon Connect
+ Connect your other customized data pipeline solutions with Amazon EventBridge

**Topics**
+ [Amazon EventBridge event payload formats](#eventbridge-payload-formats)
+ [Create a rule to match Amazon EventBridge events](#create-eventbridge-rule)
+ [Configure the target of the created Amazon EventBridge rule](#configure-eventbridge-target)

## Amazon EventBridge event payload formats
<a name="eventbridge-payload-formats"></a>

### Event with screen recording status - INITIATED
<a name="event-initiated"></a>

This event is emitted when a contact is accepted by the agent, which may be before recording starts, for every contact with agent screen recording enabled.

```
{  
  "version": "0",  
  "id": "the_event_id_from_eventbridge",  
  "detail-type": "Screen Recording Status Changed",  
  "source": "aws.connect",  
  "account": "your_aws_account_id",  
  "time": "2026-01-01T00:00:00Z",  
  "region": "us-west-2",  
  "resources": [  
    "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/your_contact_id",  
    "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id"  
  ],  
  "detail": {  
    "version": "1.0",  
    "recordingStatus": "INITIATED",  
    "eventDeduplicationId": "unique_uuid",  
    "instanceArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id",  
    "contactArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/your_contact_id",  
    "agentArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/agent/your_agent_id",  
    "clientInfo": {  
      "appVersion": "2.0.3.0",  
    }  
  }  
}
```

### Event with screen recording status - COMPLETED
<a name="event-completed"></a>

This event is emitted when screen recording ends on the agent desktop. This doesn't mean the screen recording has been successfully uploaded to your Amazon S3 bucket.

```
{  
  "version": "0",  
  "id": "the_event_id_from_eventbridge",  
  "detail-type": "Screen Recording Status Changed",  
  "source": "aws.connect",  
  "account": "your_aws_account_id",  
  "time": "2026-01-01T00:00:00Z",  
  "region": "us-west-2",  
  "resources": [  
    "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/your_contact_id",  
    "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id"  
  ],  
  "detail": {  
    "version": "1.0",  
    "recordingStatus": "COMPLETED",  
    "eventDeduplicationId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",  
    "instanceArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id",  
    "contactArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/your_contact_id",  
    "agentArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/agent/your_agent_id",  
    "clientInfo": {  
      "appVersion": "2.0.3.0",  
    },  
    "recordingInfo": {  
      "startTime": "2026-01-01T00:00:00.000Z",  
      "endTime": "2026-01-01T00:00:00.000Z",  
    }  
  }  
}
```

### Event with screen recording status - PUBLISHED
<a name="event-published"></a>

This event is emitted when the screen recording is successfully uploaded to your Amazon S3 bucket. Details include Amazon S3 bucket location, recording size, and recording duration.

```
{  
  "version": "0",  
  "id": "the_event_id_from_eventbridge",  
  "detail-type": "Screen Recording Status Changed",  
  "source": "aws.connect",  
  "account": "your_aws_account_id",  
  "time": "2026-01-01T00:00:00Z",  
  "region": "us-west-2",  
  "resources": [  
    "contactArn",  
    "instanceArn"  
  ],  
  "detail": {  
    "version": "1.0",  
    "recordingStatus": "PUBLISHED",  
    "eventDeduplicationId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",  
    "instanceArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id",  
    "contactArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/your_contact_id",  
    "agentArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/agent/your_agent_id",  
    "clientInfo": {  
      "appVersion": "2.0.3.0",  
    },  
    "recordingInfo": {  
      "startTime": "2026-01-01T00:00:00.000Z",  
      "endTime": "2026-01-01T00:00:00.000Z",  
      "publishTime": "2026-01-01T00:00:00.000Z",  
      "location": "s3://your-bucket-name/object-prefix/object-key",  
      "durationInMillis": 100000,  
      "sizeInBytes": 1000000  
    }  
  }  
}
```

### Event with screen recording status - FAILED
<a name="event-failed"></a>

This event is emitted if screen recording fails. Details on failure information are provided as a best-effort estimation of the possible failure reason that we are able to detect.

```
{  
  "version": "0",  
  "id": "the_event_id_from_eventbridge",  
  "detail-type": "Screen Recording Status Changed",  
  "source": "aws.connect",  
  "account": "your_aws_account_id",  
  "time": "2026-01-01T00:00:00Z",  
  "region": "us-west-2",  
  "resources": [  
    "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/cccccccc-cccc-cccc-cccc-ccccccccccccc",  
    "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id"  
  ],  
  "detail": {  
    "version": "1.0",  
    "recordingStatus": "FAILED",  
    "eventDeduplicationId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeee",  
    "instanceArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id",  
    "contactArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/contact/cccccccc-cccc-cccc-cccc-ccccccccccccc",  
    "agentArn": "arn:aws:connect:us-west-2:your_aws_account_id:instance/your_instance_id/agent/your_agent_id",  
    "clientInfo": {  
      "appVersion": "2.0.3.0",  
    },  
    "failureInfo": {  
      "code": "UNKNOWN",  
      "message": "UNKNOWN",  
      "source": "Unknown failure"  
    },  
    "recordingInfo": {  
      "startTime": "2026-01-01T00:00:00.000Z"  
    }  
  }  
}
```

## Create a rule to match Amazon EventBridge events
<a name="create-eventbridge-rule"></a>

To subscribe to Amazon EventBridge events for screen recording status, you need to create an Amazon EventBridge rule that matches the defined event source and event detail-type. This can be achieved through either the AWS Console or AWS CDK libraries.

### Create a rule using the AWS Console
<a name="create-rule-console"></a>

In the AWS Console, create a new rule in Amazon EventBridge → Buses → Rules.

#### Use the default event bus
<a name="use-default-event-bus"></a>

![\[The Create rule page showing the default event bus selection.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/screen-recording-eventbridge-event-rule.png)


#### Use a template event pattern
<a name="use-template-event-pattern"></a>

Select the defined event pattern from the dropdown lists.

![\[The Event source dropdown showing aws.connect selected.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/screen-recording-eventbridge-event-source.png)


![\[The Event pattern showing Screen Recording Status Changed selected.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/screen-recording-eventbridge-event-pattern.png)


If the event type is not showing up in the dropdown list, you can alternatively create the same pattern using **Custom pattern (JSON editor)** with:

```
{  
  "source": [ "aws.connect" ],  
  "detailType": [ "Screen Recording Status Changed" ]  
}
```

### Create a rule using AWS CDK
<a name="create-rule-cdk"></a>

Alternatively, if you manage AWS resources with AWS CDK, here is a sample TypeScript code snippet to construct an Amazon EventBridge rule:

```
import { Rule } from 'aws-cdk-lib/aws-events';  
  
const eventBridgeRule = new Rule(this, 'YourEventBridgeRuleLogicalName', {  
    ruleName: 'your-event-bridge-rule-name',  
    description: 'your rule description',  
    eventPattern: {  
        source: [ "aws.connect" ],  
        detailType: [ "Screen Recording Status Changed" ]  
    }  
});
```

## Configure the target of the created Amazon EventBridge rule
<a name="configure-eventbridge-target"></a>

Amazon EventBridge supports a number of AWS services as targets. Depending on your needs, it's flexible to build your own event processing pipeline with other AWS services. You can define up to five targets for each rule. For more information, see [Amazon EventBridge targets](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html) in the *Amazon EventBridge User Guide*.

### Amazon CloudWatch log group as an example target
<a name="cloudwatch-log-group-target"></a>

The following example uses an [Amazon CloudWatch log group](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) as a target.

![\[The Target configuration showing CloudWatch log group selected.\]](http://docs.aws.amazon.com/connect/latest/adminguide/images/screen-recording-eventbridge-target-cwl.png)


In AWS CDK code, create the resource and add it to the Amazon EventBridge rule:

```
import { LogGroup, RetentionDays } from "aws-cdk-lib/aws-logs";  
import { CloudWatchLogGroup } from 'aws-cdk-lib/aws-events-targets';  
   
const logGroup = new LogGroup(this, 'YourLogGroupLogicalName', {  
    logGroupName: '"/aws/events/your-log-group-name',  
    retention: RetentionDays.ONE_YEAR  
});  
  
eventBridgeRule.addTarget(new CloudWatchLogGroup((logGroup)));
```

#### Example Amazon CloudWatch Log Insights queries
<a name="cloudwatch-log-insights-queries"></a>

Using Amazon CloudWatch Insights query language, here are some example queries:
+ **Sample query on success ratio**

  ```
  fields @timestamp, @message, detail  
  | stats sum(detail.recordingStatus= "PUBLISHED") as Count_Success,   
    sum(detail.recordingStatus= "INITIATED") as Count_Total,   
    Count_Success / Count_Total as Success_Ratio
  ```
+ **Sample query to get counts of each recording status**

  ```
  fields @timestamp, @message, detail  
  | stats count(*) as Count group by detail.recordingStatus as recordingStatus
  ```
+ **Sample query on failed contacts with most common failure codes**

  ```
  fields @timestamp, @message, detail  
  | filter detail.recordingStatus = "FAILED"   
  | stats count(*) as Count group by detail.failureInfo.code as FailureCode  
  | sort by Count desc
  ```
+ **Sample query on agents with most failed contacts**

  ```
  fields @timestamp, @message, detail  
  | filter detail.recordingStatus = "FAILED"   
  | stats count(*) as Count group by detail.agentArn as AgentArn  
  | sort by Count desc
  ```

# Frequently asked questions about Amazon Connect screen recording capabilities
<a name="faq-screenrecording"></a>

This topic provides frequently asked questions about using Amazon Connect screen recording capabilities.

**Topics**
+ [General specifications](#faq-sr-general)
+ [Configuration](#faq-sr-configuration)
+ [Performance](#faq-sr-performance)

## General specifications
<a name="faq-sr-general"></a>
+ **What is the file format of screen recordings?**

  The screen recording files are saved in MP4 format.
+ **Which Amazon Connect channels are supported?**

  You can generate screen recordings for voice, chat, and task contacts.
+ **Do you capture the entire screen?**

  Yes, the Amazon Connect Client Service records all the open applications on the agent's monitor, up to three monitors.
+ **Does screen recording support concurrent user sessions on Windows using Virtual Desktop Infrastructure (VDI) environments?**

  Yes, screen recording supports concurrent user sessions on Windows when using Amazon Connect Client Application version 2.0.0 or later.
+ **Where are the screen recording files stored in my AWS account?**

  The screen recordings are delivered to your Amazon S3 bucket and encrypted using the KMS key you specify. This is similar to how call recordings are stored and encrypted.
+ **How can I be notified when there is a latest version of the client application?**
  + For Windows, to be notified when there is an update to the Amazon Connect Client Application, we recommend subscribing to the RSS feed of this administrator guide. Choose the **RSS** link that appears under the title of this page (it's next to the PDF link).
  + For ChromeOS, Isolated Web App and Chrome Extension are hosted and managed by Amazon Connect. They are automatically updated as newer versions are published.
+ **Can I opt only for screen recording and not for call recording? **

  Yes, you can enable screen recording without call recording for a voice call. 
+ **How do I find the Amazon S3 location of the screen recording? **

  You can find the screen recording location in the [RecordingsInfo](ctr-data-model.md#ctr-RecordingsInfo) section of the contact record. See the **Location** field.
+ **How do I enable screen recording for a percentage of my contacts?**

  You can use the [Distribute by percentage](distribute-by-percentage.md) block in the flow to enable a percentage of contacts for screen recording.
+ **Is screen recording PCI compliant?**

  Amazon Connect, including the screen recording capability, is compliant with the Payment Card Industry Data Security Standard (PCI DSS). However, you are responsible for determining whether your specific implementation meets your compliance requirements.
**Important**  
During a video call or screen sharing session, agents are able to see the customer's video or screen share even when the customer is on hold. It is the customer's responsibility to handle PII accordingly. If you want to change this behavior, you can build a custom CCP and communication widget. For more information, see [Integrate in-app, web, video calling, and screen sharing natively into your application](config-com-widget2.md).
+ **Does screen recording work with custom CCP and agent desktops? **

   Screen recording is designed to work with custom CCP and agent workspace built with the [Amazon Connect Streams JS library](https://github.com/amazon-connect/amazon-connect-streams). We recommend testing your custom solution before deploying screen recording in production. 
+ **Can I use screen recording anywhere in the world?**

  Screen recording is available in AWS GovCloud (US) and all AWS commercial Regions where Amazon Connect is available. However, your use of screen recording may be subject to compliance with privacy and other laws. Please consult your compliance team before enabling this capability for your agents.

  To use screen recording in AWS GovCloud (US-West) requires client version 2.0.3 or later.
+ **Are agents alerted when screen recording is enabled for a contact?**

  By default Amazon Connect doesn't provide a notification feature. However, you can use the [Amazon Connect Streams JS library](https://github.com/amazon-connect/amazon-connect-streams/blob/master/cheat-sheet.md) to create a notice or other visual indicator on an agent's desktop to signal that screen recording is in use.
+ **What happens if an agent closes the browser during a contact, or immediately after a contact ends?**

  If the browser is closed at the beginning of contact before any screen capture data can be uploaded to Amazon Connect, the final screen recording may not be published. If the browser is closed immediately after a contact ends but before the final screen capture data can be uploaded, the screen recording is published when the agent next logs in to CCP. 
+ **Does screen recording STOP when an agent places a customer on hold?**

  No, the screen recording continues recording when an agent places a customer on hold.
+ **Is screen recording supported when Agents are logged into multiple CCP instances?**

  No, screen recording is not supported when Agents are logged into multiple CCP instances simultaneously either in the same or different browsers. You might see inconsistent behavior with screen recordings in these cases.

## Configuration
<a name="faq-sr-configuration"></a>
+ **Can I opt only for screen recording and not for call recording?**

  Yes, you can enable screen recording without call recording for a voice call. To do so, disable voice recording in the [Set recording and analytics behavior](set-recording-behavior.md) block while keeping the screen recording enabled.
+ **How do I find the Amazon S3 location of the screen recording?**

  You can find the screen recording location in the [RecordingsInfo](ctr-data-model.md#ctr-RecordingsInfo) section of the contact record. See the **Location** field.
+ **How do I enable screen recording for a percentage of my contacts?**

  You can use the [Distribute by percentage](distribute-by-percentage.md) block in the flow to enable a percentage of contacts for screen recording.
+ **What is the average size of a screen recording file per minute in S3?**

  The average size of screen recording is 1.5MB/minute. This size can vary depending on factors like video encoding etc.
+ **What is the frame rate for screen recording and is this configurable?**

  The screen is recorded at 5 frames per second and this is not configurable.
+ **What codec is used for screen recording?**

  Screen recording uses OpenH264 codec.
+ **Is there a way to choose which audio (redacted or unredacted) gets used for screen recording?**

  No, today only the unredacted audio gets used for screen recording.
+ **Is there a service limit for screen recording?**

  No, there is no service limit or quota for screen recording service.
+ **Is there a maximum duration for screen recording?**

  No, the screen recording solution imposes no maximum duration for a recording.
+ **How many agent monitors can be recorded?**

  Screen recording can record up to 3 screens/monitors.
+ **Can I configure my call/screen recording storage S3 bucket to enable bucket level encryption with a KMS key that is different from the KMS key used as part of instance data storage configuration?**

  No, the same key should be used at bucket level and also as part of instance data storage configuration.

## Performance
<a name="faq-sr-performance"></a>
+ **What are the bandwidth requirements for screen recording?**

  We recommend 500kbps per concurrent contact with screen recording enabled. 
+ **Why do I see higher CPU usage after installing screen recording client application on my windows machine?**

  Screen recording in general is a CPU intensive application and hence CPU utilization increase is expected. We recommend ensuring you provide sufficient resources as documented in [System requirements](sr-system-req.md#sr-requirements) to avoid any resource contention issues.