Event Sink, CTI
An Event Sink is one half of a Salesforce CTI adapter built with the old CTI Toolkit.
Definition
An Event Sink is one half of a Salesforce CTI adapter built with the old CTI Toolkit. It was the class that received telephony events from the phone system and passed them to the adapter's interface layer. Salesforce retired the toolkit, which it also called Desktop CTI, on March 4, 2017.
Those adapters were software installed on every agent's machine. No live Salesforce page defines the term today: the CTI Toolkit developer guide is gone, so event sink survives mostly in old vendor documentation. Open CTI, the browser JavaScript replacement, has no event sink API.
Open CTI is next: maintenance mode now, retirement in February 2028, with Salesforce Voice as the successor.
In plain English
“Years ago, a company's phone system talked to Salesforce through a small program installed on every agent's computer. One part of it listened for announcements, like a call arriving. That was the event sink. Salesforce stopped building this way long ago.”
Worked example
Picture a support desk around 2011 running an on-premise PBX. An admin installs a CTI adapter on 60 agent workstations. Agent Priya's phone rings with inbound number +1-415-555-0142. The switch fires a call-arrival event and the adapter's event sink catches it. The sink reads the calling number and hands it to the interface class, which formats it as XML the softphone can render. Priya's browser pops the matching Contact. None of that survives. That same screen pop now comes from Open CTI's searchAndScreenPop(), or from Salesforce Voice in anything built today.
From desktop adapters to Open CTI to Salesforce Voice
What the event sink actually did
The CTI Toolkit handed partners a compiled desktop scaffold with two halves. The event sink took whatever the telephony platform pushed at it: call ringing, call answered, agent state changed. The command generator sent instructions the other way, answer, hold, transfer. Drop an event and the agent's on-screen controls fell quietly out of step with the real phone.
Why Salesforce abandoned the model
Every agent machine needed the adapter installed, patched and version-matched to the org. Hiring one person meant a desktop install ticket, and a browser upgrade could break the softphone for a whole floor. Open CTI moved the integration into a JavaScript page hosted by the telephony vendor, so nothing lands on the agent's machine.
Open CTI has no event sink, and never did
Open CTI exposes no sink registration and no subscribe() of its own. Its listener surface is a short fixed list, chiefly onClickToDial() and onNavigationChange(). One sample in the guide does call subscribe(), but that method belongs to Lightning Message Service. A guide telling you to register an event sink against Open CTI is describing software Salesforce switched off in 2017.
What to do with surviving code
Nothing in an old Desktop CTI adapter ports across. The event sink has no Open CTI equivalent, and Open CTI itself is on the way out. A rewrite should land on Salesforce Voice instead. New Agentforce Service orgs cannot use Open CTI at all.
Trust & references
Cross-checked against the following references.
- Salesforce Past Product & Feature Retirements (opens in new tab)Salesforce
- Spring '17 Release Notes: Say Your Final Farewell to Desktop CTI (opens in new tab)Salesforce
- Get Started with Open CTI (opens in new tab)Salesforce
- Other Voice Solutions (opens in new tab)Salesforce
- Open CTI Support Policy (opens in new tab)Salesforce
- Methods for Lightning Experience (opens in new tab)Salesforce
Straight from the source - Salesforce's reference material on Event Sink, CTI.
Hands-on resources to go deeper on Event Sink, CTI.
About the Author
Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He writes and edits salesforcedictionary.com, published by KineticBit Inc., to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.
Test your knowledge
+5 pts / dayQ1. In a Salesforce CTI Toolkit adapter, what was an event sink?
Q2. Which statement about Open CTI is accurate today?
Q3. A telephony vendor's integration guide tells you to register an event sink for Open CTI. What is wrong with that instruction?


Discussion
Loading discussion…