What are CCP Logs?
Amazon Connect CCP logs (Contact Control Panel and Contact events) capture agent actions, contact state changes, softphone events, and runtime diagnostics emitted by Connect Streams/CCP and related services.
Uses
Teams use these logs to troubleshoot call handling, measure operational health, and enrich analytics with precise agent and contact timelines.
Flow
Our Chrome Collector attaches to the native CCP in the agent’s browser, listens to CCP/Streams events and WebRTC runtime signals, normalises them into a consistent CCS schema, and forwards them to Operata.
From there, we enrich and publish a relevant subset of the customer-scoped CCS events to Amazon EventBridge for real‑time consumption in downstream systems (e.g., data lakes, observability, and workflow automation).
There are 3 steps to complete an end-to-end setup of the CCP log flow.
Step 1: Configure an Event Bridge Source in Operata
Navigate to : Group Settings > Integrations > EventBridge
Adding Event Source
Define the Event Source Information
NOTE:
In this documentation, we used 123456789012 as the placeholder/dummy AWS Account Number value. When you are creating your Event Source, you must your valid AWS details, else it will result in an invalid and erroneous configuration.
By default, when an event source is created, it will in PENDING status. It needs to be activated by making few configuration updates in your AWS Portal.
Login to your AWS Web Interface and Navigate to AWS Event Bridge > Integration > Partner event source.
Event Source created using Operata is shown here in Pending status as well.
Identify and Select the Event Source, then click on 'Associate with event bus'
No changes to the Permissions, and confirm by clicking "Associate"
Event source is now active and associated with an Event bus
Event Source is updated and will also reflect in the Operata Environment.
Step 2: Configuring the Workflow
In Operata,
Navigate to Workflow > Create Workflow
Click on CREATE WORKFLOW button
Choose CCaas Platform, then click NEXT
Choose CCP Logs, then click NEXT
Choose Amazon Eventbridge, then click NEXT
Select the Event Source Name we have created earlier in the above Amazon Event Bridge steps
Save your Workflow by giving it a relevant name and then click CREATE
Workflow configuration on Operata is completed!
Step 3: Receiving the logs from Event Bridge
Events received from Event Bridge can be processed in multiple ways. One way is to save them into log groups in your Cloud Watch.
Navigate to AWS > Amazon EventBridge > Event buses
We need to get started on the Schema discovery to be able to process the incoming logs.
Identify and Select/Click the Custom Event bus Name we have created in Step 1
Click on "Start Discovery"
We can confirm that discovery is completed with the schema discovery now showing "Started"
Now, Lets add Rules to process the Event bus data into Cloud Watch. Click on "Create Rule"
Select "Custom event" as shown in the Events tab, and drag it into the Trigger Events. Ensure the Event pattern filter is as shown.
Now, Select "CloudWatch log group" in the Targets tab and drag-drop it as shown.
1. Give the log group a name, and 2. Click on Create
Save the Configuration and we are now ready to process the incoming logs by saving them into the Cloud Watch Log Group.
What type of logs are sent by Operata?
CCP Log collection can be controlled in the Operata interface.
Navigate to: Group Settings > Softphone Settings > (scroll to the) CCP Log Collection
Default setting is INFO
To collect the logs, the setting must be in any value other than “OFF”.
CCP Logs are very verbose and can be in the hundreds depending on the call duration adding a lot of noise. From our experience, we have found the right amount of information is usually available in the INFO, ERROR, and WARN settings.
Operata will be enriching the logs with the Operata groupId information, and also filtering certain logs for relevance (usually removing Operata’s internal logs) from the Event Bridge data.
Here’s few rules we apply -
(
(log.level.equals("INFO") && (log.text.contains("SESSION Lost ICE connection") )) ||
log.level.equals("ERROR") ||
log.level.equals("WARN") && !log.agent.equals(null) && !log.time.equals(null) && !log.internal
)
Here’s a sample of the Log Schema for quick 5 second call
{
"version": "0",
"id": "0181a6de-114e-c0c2-5437-d3b50177fa19",
"detail-type": "AgentCCPLogs",
"source": "aws.partner/operata.com/5bbbd17a-fd70-45ad-a048-c4674035f406/ccp-logs-to-customer",
"account": "123456789012",
"time": "2025-11-26T22:42:13Z",
"region": "ap-southeast-2",
"resources": [],
"detail": {
"groupId": "5bbbd17a-fd70-45ad-a048-c4674035f406",
"logs": [
{
"agent": "anh",
"component": "ccp",
"level": "WARN",
"text": "[httpClient]: Client HTTP Error",
"time": "2025-11-26T22:41:48.118Z",
"line": 0,
"loggerId": "1764196907717-9cewf459haf",
"internal": false
},
{
"agent": "anh",
"component": "ccp",
"level": "ERROR",
"text": "[fac.fac-api-client]: API request failed",
"time": "2025-11-26T22:41:48.119Z",
"line": 0,
"loggerId": "1764196907717-9cewf459haf",
"internal": false
}
]
}
}
Amazon Tools





