ECC 6.11 touches almost everyone who works in a contact center. Integrators get a public toolbar SDK and richer APIs. Agents get a workspace that explains itself when something goes wrong. Supervisors and admins get more control over who gets called, who sees what, and where recordings end up. And under the hood, calls, chats and logins hold up better when parts of the platform are under strain.
A few of these changes first reached customers in earlier 6.9 and 6.10 patch releases. We’ve marked those so you know what may already be live for you.
π Integrations & APIs
A public SDK for the 6x Omni Toolbar. CRM and custom-UI integrations no longer need to lean on internal APIs. The new versioned SDK lets you drive voice and chat agent actions, from login and dialing to hold, transfer, conference, dispose and screen-pop, and listen for standard lifecycle events such as agent.state.changed, call.connected and call.disposed. It works only with external identifiers (agent, interaction and campaign IDs). If you’re on Salesforce, this is your path off openCTI before it’s deprecated, and if you’re moving from 4x, it behaves the way the 4x Toolbar SDK did.
Voice call control from your own apps. The App SDK now exposes manual dial, dial-a-customer, dispose, dispose-and-dial, and disposition lookups, and you no longer have to pass session IDs because the platform resolves the agent’s session on the server. Dispose-and-dial handles back-to-back calling in a single request, and any extra parameters you send flow straight into your manual-dial journey.
More ways to sign in. Agents can now sign in to the Omni Toolbar through your identity provider using OAuth SSO, instead of a password form. LDAP is available on 6x too, with failover to a secondary directory and the auth type set per contact center. And the CRM-based login scheme (general.crm.http) has been verified end to end on 6x, so it no longer falls back to password login.
More control over your CRM, and richer data coming out of ECC. A new per-contact-center setting stops the toolbar from creating Activity records in Salesforce Lightning or Microsoft Dynamics from the browser. It’s off by default, so nothing changes until you turn it on, and screen-pop, search and click-to-dial carry on as before. On the data side, WhatsApp transcripts are now available turn by turn as JSON, so you can forward them to a CRM without parsing XML. Interaction Completed events now include your customer CRM data and custom flow variables, each tagged with whether it came from ECC or from you. And the call detail APIs can filter on custom data and customer data, including nested keys, using equals, contains and range operators.
A new channel and less setup. Instagram direct messages now route through ECC 6x like any other digital channel, for both agents and bots. App Manager is now on by default for every 6x tenant, and the Stats Query API works out of the box because new stats tables register themselves.
π§βπ» Agent Experience
Handle several interactions without losing your place. A floating picture-in-picture widget keeps active calls and chats in view while agents work in other modules. A carousel shows every open interaction and its status, the controls adapt to the channel (mute and transfer for voice, attachments and emoji for chat), and one click opens the full Interactions view. (Available since 6.9.)
Agents can see when the problem is the connection. A status bar across the top of the app now tells agents which of three things has gone wrong: their browser is offline, the server is down, or the API can’t be reached (available since 6.9). A Network Report in the user menu shows their connection history, and they can export it or send it to support along with their error logs (available since 6.9). Omni 3.0 also now warns agents when their microphone permission is missing, the same way the GWT UI does, so they find out before they take a call rather than during it (available since 6.9). Supervisors benefit too: the old catch-all “Erroneous” state is now split into Network Issue and Agent Unavailable, so reports can tell connectivity problems apart from availability problems.
Fewer “it was working a minute ago” moments. If an agent reloads the page while Available with an extension selected, Auto Call now switches back on by itself (available since 6.9). If the push connection goes quiet, the toolbar notices within seconds, reconnects, and restores Auto Call. After an upgrade, agents are prompted to reload instead of being left with a half-loaded screen from a stale browser cache. And logging out now fully cleans up the session, so the next login starts fresh (available since 6.10.0).
Smaller improvements. Transfer-to-campaign now lists every eligible campaign, and the Closed Interactions table has been rebuilt to load, sort and filter reliably (both available since 6.10.0). Agents can also see their IP, login time and available time in a profile panel.
π Outbound Dialing & Customer Data
Reach customers on their other numbers. With multiphone dialing, if a customer’s first number doesn’t connect, ECC moves on to the next one, from Phone 1 through Phone 5, in the order you set for each campaign.
One customer record, shared across processes. The customer directory can now sit at the data-table level and be shared by several processes, so business units stop working from duplicate copies that drift out of date. Admins can link an existing data table when they create a process, and customers can be moved between lead lists with just an ID and a key, with the option to keep their dialing history.
Finer control over who gets called, and when. You can now upload a do-not-call list keyed on a customer account identifier, and every mobile number linked to that account is suppressed, whether the list is uploaded from the supervisor screen or at the data-table level. The check runs before every dial, and any matching callbacks are cancelled. Customer search also goes beyond exact matches: you can search by ranges such as dates or numeric thresholds, and mark date and timestamp columns as searchable in the Admin UI. Callbacks can now be scheduled at the queue level, customers can get SMS reminders at configurable intervals before a scheduled callback through your SMS provider’s HTTP endpoint, and new APIs let external apps fetch a customer’s upcoming callback and last call.
Simpler day-to-day control. Supervisors can start and stop the autodialer for every campaign from a single screen. Agents can switch between their assigned leads and the full lead list. And admins can set holiday and office hours once per process instead of once per campaign, for voice and omni campaigns.
π Dashboards & Reporting
CRM reports, out of the box. The CRM Details (per call) and CRM Lead Details (per customer) reports now ship as standard on 6x, matching the 4x CRM reports. Pick a campaign and the report adds that campaign’s own data fields alongside the standard call, agent and disposition columns, and new fields appear automatically without any report changes. One thing to keep in mind: these reports don’t apply number masking or BYOK, so anyone with access to the dashboard sees raw phone numbers and customer data-table fields. Share them only with users who should see that data.
One dashboard across every campaign a supervisor owns. Supervisors now have a global dashboard entry in the top bar that covers all their assigned campaigns and processes, with an optional process filter. Access rules still apply, so each supervisor sees only their own book.
Numbers you can trust. The Agent Self Monitoring, Omni Agent Monitoring, Interaction Summary and Omni Reports dashboards now use the correct metrics, filters and denominators. Queue names in post-call flows and call history now update correctly after a queue is renamed (available since 6.9). And optional report columns, such as display phone, appear only when you select them rather than turning up automatically on masked campaigns.
π Access Control, Compliance & Data
Custom roles, end to end. Once custom role management is switched on for a contact center, admins can build privilege sets, bundle them into roles and assign them to users from the Admin UI, with license checks applied. Custom-role users see only the tabs, apps and Superset dashboards their role allows. The agent app itself now admits agent roles only (available since 6.9).
An audit trail for every configuration change. Every create, update and delete on configuration is now recorded with who made it, where they made it from, the old and new values, and a diff. Records can’t be edited afterwards, and a searchable audit report sits on top.
Your keys, your recordings, your labels. BYOK encryption now covers customer records at the data-table level. Voice recordings can be archived to several storage targets in parallel (FTP, SFTP, HCP, AWS S3, GCP and Oracle Object Storage), each with its own format (WAV or MP3), channel (mono or stereo), naming, and option to bundle metadata. A failure on one target doesn’t hold up the others, and existing single-target setups keep working unchanged. And when a customer name comes back masked, such as a WhatsApp nickname, agents now see a friendly label instead of a raw masked token (available since 6.9).
βοΈ Reliability Under the Hood
Much of 6.11 is work you won’t see but should feel. We fixed two bugs in the routing fallback that occasionally sent a small share of calls to servers with no agents, leaving callers waiting more than five minutes. Login, calling, routing and voice controls now keep working when the configuration service, Data Engine or an individual app server is unavailable or switched, and transfers and conferences survive an app-server failure mid-call.
Releases are safer too. Servers can be drained before maintenance, test groups can be routed to new builds first, contact centers can prefer specific clusters, and every release is checked for database changes that would block a rollback. The 6x platform has also moved to PostgreSQL 18 with Citus sharding, ahead of PostgreSQL 14 reaching end of life in November 2026.
We’ve also cut down on stuck calls and sessions. Hang-ups now retry when the voice platform returns a temporary error (available since 6.9), a browser timing issue that left “zombie” calls after a cancel is fixed, calls stuck in IVR are cleaned up, and a locking issue that could stall an app server under concurrent requests is resolved. On chat, failures anywhere in the lifecycle now clean up after themselves, a force-cleanup API clears stale sessions (available since 6.8.8), and WhatsApp chats no longer fail because of unusual profile names. Inbound routing rules with an invalid pattern can no longer be saved.
Finally, support can now switch on detailed WebRTC and UI debug logs for specific agents without turning on verbose logging for everyone, and logs share a single correlation ID across services, which makes it much faster to trace what happened on a given interaction.
Wrapping up
ECC 6.11 gives integrators cleaner building blocks, gives agents clearer signals, gives supervisors and admins more control, and makes the whole platform harder to knock over. Some of these features, such as custom roles and the CRM Activity setting, are switched on per contact center. Talk to your Exotel account team if you’d like them enabled for yours.
