Independent study lab
This is an independent, free, learning-only student project. It respects every company and vendor. Trademarks belong to their owners. It is not affiliated with or endorsed by Amazon Web Services, Cisco, Genesys, Salesforce, Twilio, or any other company. If you have a concern, the page will be removed or corrected promptly through the contact form. Nothing here is sold. There are no ads. The author is happy to volunteer for any organization.
Streams is the supported way to embed the CCP โ Learn it in 5 minutes
About five minutes of reading
If you must hide the CCP inside another app, use amazon-connect-streams. Do not scrape the page.
The library initializes a CCP iframe, then emits agent and contact events. You can run it media-less, which is useful for a supervisor wall and useless as a phone. Softphone options have to be turned on for audio, and the host page has to be on the approved origin.
The GitHub repository is amazon-connect/amazon-connect-streams. Read its event list. Login, contact incoming, connected, and ended are the ones a screen pop needs.
- Init once. A second init on navigation is a classic bug.
- Destroy the session on sign-out.
- Do not store the agent's password in your app. Use SAML.
- Media still needs UDP 3478. The library does not tunnel it.
Number on this page: Library streams. amazon-connect-streams
Sources and go deeper
- GitHub - amazon-connect/amazon-connect-streams: Amazon Connect Streams - a browser-based contact center integration API, typically with CRM systems. ยท GitHub community. last checked 2026-10
- RFC 6455: The WebSocket Protocol | RFC Editor RFC. last checked 2026-10
- How Contact Control Panel (CCP) uses WebRTC - Amazon Connect Customer AWS docs. last checked 2026-10
- WebRTC - Wikipedia Wikipedia. last checked 2026-10