01 — Context
A telecom operator's contact centre needed agents to see and act on customer data from a legacy CRM and from several product databases, inside its existing contact-centre platform.
02 — Challenge
The legacy CRM speaks both SOAP and REST, each product keeps its own database, and the set-top-box app store bills through two different billing backends. Agents needed one consistent, secure view.
03 — Approach
A gateway over the legacy CRM
An API gateway (Java, compiled to a native binary for fast start-up and a small footprint) exposes modern REST endpoints and bridges the legacy CRM's SOAP and REST calls behind shared helpers.
One-way dependencies, one identifier
A strict one-way dependency rule keeps shared infrastructure domain-free, and the gateway hides the two-billing-backend split behind a single app identifier.
A panel inside the agents' tool
A lightweight embedded panel (React front end with a small proxy server that adds API keys) shows subscriptions, devices and products per subscriber. It is embedded in the contact-centre platform through secure cross-window messaging.
Product views on the same pattern
Product-specific agent pages, such as the streaming service's customer view, were added on the same pattern, with a full local test setup.
04 — Outcome
Agents now handle subscription, device and ticket queries from one place instead of switching systems.

