Skip to main content
Operata reports whether Amazon Connect screen recording actually ran for each contact. The Agent Collector watches the Contact Control Panel (CCP) log stream, picks out the screen recording lifecycle lines, and ships them as structured telemetry entries tagged ScreenRecording.

Why it matters

Amazon Connect tells you a contact was flagged for screen recording. It doesn’t tell you the agent’s machine recorded it, or that the recording reached S3. That gap sits on the agent endpoint. Screen recording depends on the Amazon Connect client app — a Windows installer that endpoint management has to deploy to every agent workstation. When the app is missing, blocked, or broken, Amazon Connect still flags the contact, the CCP still creates a recording, and nothing uploads. Nothing in the Contact Trace Record (CTR) tells you this happened. When screen recording carries a contractual compliance obligation, coverage sits on the critical path. You need to know which contacts recorded, which didn’t, and which agents are the reason.

Before you start

Screen recording telemetry is off by default. Three things have to be true:
  • Operata enables it on your group. The Agent Collector reads a screenRecordingTelemetry flag from the collector configuration Operata serves to each group. When the flag is absent, the Collector defaults it to false and skips screen recording parsing entirely. Ask Operata support to turn it on.
  • CCP log collection is on. The parser runs inside the CCP log pipeline. No log collection, no screen recording telemetry.
  • Agent Collector v1.7.29 or later, on Chrome or Microsoft Edge, with agents on Windows. The Amazon Connect client app ships as a Windows MSI, so macOS agents produce no screen recording at all.
Screen recording telemetry is Amazon Connect only. The Genesys Cloud and NICE CXOne adaptors don’t emit it.

How it works

The Agent Collector hooks the Amazon Connect Streams logger in the agent’s browser. For every captured entry at INFO level whose text mentions recording, it runs the screen recording parser. The parser matches five lifecycle patterns and turns each into a telemetry entry with component: "ScreenRecording": Each entry joins the CCP log stream the Collector already ships, carrying the contact ID, a timestamp, and the standard vendor fields. Operata builds the per-contact screen recording summary server-side from those entries.
Two consequences worth knowing. The parser only sees INFO entries, so screen recording warnings and errors never become ScreenRecording telemetry — they stay ordinary CCP log lines. And the lifecycle payloads come from Amazon’s log text, so their shape follows the Streams library, not an Operata contract.

What’s collected

Recording start

Emitted when the CCP creates a recording.

Part upload

Emitted once per block the client app pushes to S3. Counting these entries tells you how much of the recording actually left the workstation.

End of contact

When the contact ends, the CCP logs a summary the parser splits into two entries: the contact object, and the array of recording task objects. Contact object: Each entry in recordingTaskObjs: The Collector passes these through from Amazon’s payload without transforming them. Treat the Amazon Connect documentation as the authority on their exact semantics.

Reading the result

Compliance reporting asks three questions of each contact. The case to chase is a contact with a New recording entry and no upload entries behind it. Recording started and produced nothing.

Failure signatures

Recording started, nothing uploaded. A New recording entry, then an end-of-contact entry, with no PUT S3Upload for recording entries between them. The Amazon Connect client app is missing, not running, or blocked on that workstation. This is the most common cause, and it usually points at an endpoint deployment gap rather than a per-agent fault. Recording never started. The contact was flagged in Amazon Connect, but no New recording entry exists and recordingTasks comes back empty in the end-of-contact object. Partial upload. Upload entries exist but stop short — numOfPartsUploaded trails totalRecordingBlocks, or isLastPartReceived stays 0. The workstation lost the network or the app died mid-contact. Amazon also logs screen recording problems at WARN and ERROR — stale recording state, recordings marked FAILED, contacts dropped for having no recording task. Those lines are not captured as ScreenRecording telemetry, because the parser only reads INFO entries. They do appear in the raw CCP logs when your capture level includes them. Pull the full log for the agent and time range from Calls and logs and read it with the CCP log parser.

Privacy

Operata reads screen recording metadata out of CCP log text. It does not access the recordings themselves — no video, no frames, no screen content, and no access to the S3 bucket the recordings land in. Every field above is parsed from a log line. The Collector has no media path and no S3 credentials.

Limits

Collection works today. The reporting layer on top of it is still being built.
  • Off by default. Screen recording telemetry needs Operata to enable the flag on your group. It is not automatic on upgrade.
  • No packaged coverage dashboard. Operata does not yet ship a screen recording coverage report or a “recording failed” insight. Reach the data through CCP logs and custom dashboards. The packaged report — flagged, recorded, and transmitted as contact attributes visible in Canvas — is on the roadmap.
  • Not in the MCP trace schema. The Operata MCP Server exposes the underlying softphone logs through agent_logs and traces_span_logs, so an AI client can read the raw lifecycle entries. The normalised screen recording summary is not yet part of the CX trace schema, so you can’t query it as a structured field.
  • Warnings and errors aren’t tagged. The parser reads INFO entries only, so Amazon’s screen recording WARN and ERROR lines stay in the raw log stream rather than becoming screen recording telemetry.
  • Retention on the summary data differs from log retention. Confirm the current window with Operata support before you build a reporting process on it.
  • Operata can’t see whether the client app is installed. It observes what the CCP logs. A missing client app is an inference from the failure pattern, not a direct reading.
  • Payload shape follows Amazon. The end-of-contact fields come from the Streams log text and can change when AWS changes the library.