Computer-Telephony Integration (CTI)
Computer-Telephony Integration (CTI) is the bridge between a phone system and Salesforce that lets a service or sales agent place, receive, and log calls without leaving the Salesforce interface.
Definition
Computer-Telephony Integration (CTI) is the bridge between a phone system and Salesforce that lets a service or sales agent place, receive, and log calls without leaving the Salesforce interface. The phone provider supplies a JavaScript adapter built on the Open CTI framework, the adapter renders a softphone inside the Salesforce console, and call events (ringing, answered, hung up) push data into Salesforce objects in real time.
CTI replaces the older world of a separate desk phone plus a Salesforce browser tab where the agent typed in everything manually. With CTI wired up, an incoming call triggers a screen pop that opens the caller Contact or Account record, the call duration and outcome auto-log to a Task or Voice Call record, and outbound calls fire from a click-to-dial link next to the phone number on any record. Salesforce ships its own first-party CTI through Service Cloud Voice, and a long roster of third-party providers (Five9, Talkdesk, Genesys, RingCentral, Amazon Connect, Dialpad, NICE inContact) plug into the same Open CTI framework.
How CTI connects a phone system to the Salesforce console
Open CTI and the JavaScript adapter pattern
Open CTI is the Salesforce-published JavaScript framework for building CTI adapters. The phone vendor writes a small web app that loads inside a softphone panel in the Salesforce console, then calls sforce.opencti methods to perform Salesforce actions: screenPop, saveLog, refreshView, notifyInitializationComplete. Salesforce loads the vendor adapter into a sandboxed iframe and routes user actions (clicking a phone number, accepting a call) through it. The pattern means the same Salesforce CTI behavior works across dozens of phone vendors without Salesforce knowing the details of any particular telephony protocol.
Service Cloud Voice and the first-party stack
Service Cloud Voice (SCV) is the Salesforce-owned CTI implementation, launched in 2020 and powered by Amazon Connect under the hood. SCV ships a native softphone, automatic call transcription, real-time AI agent assist, and a Voice Call object that captures every call with linked transcripts. SCV competes with third-party CTI adapters on integration depth: because it owns both the telephony and the Salesforce layers, features like real-time conversation insights and AI-suggested next best actions are tighter than what an Open CTI adapter can reach.
Screen pops and how they find the right record
A screen pop is the automatic record open that happens when a call rings in. The CTI adapter passes the inbound caller ID to Salesforce, which queries Contacts, Leads, Accounts, and Person Accounts for a matching phone number. If exactly one match exists, the record opens. If multiple match, a chooser appears. If none match, a New Contact or New Lead form opens. Screen pop rules are configured per CTI adapter in the Call Center definition file.
Click-to-dial and the outbound flow
Click-to-dial is the inverse pattern. A phone number on any Salesforce record (Contact, Lead, Account, custom object) renders as a clickable link when a CTI adapter is active. Clicking the link calls sforce.opencti.dial, which the adapter routes to the phone system to place the outbound call. Click-to-dial respects do-not-call flags on the record and is the click-tracked action that fuels rep-activity reports.
Call logging and the Task or Voice Call record
After a call ends, the adapter calls sforce.opencti.saveLog to write the call metadata to Salesforce. Older CTI adapters write to the Task object with TaskSubtype = Call. Service Cloud Voice writes to a dedicated Voice Call object with linked transcripts. Either way, the record holds the call duration, direction (inbound or outbound), participants, and outcome (Connected, Voicemail, No Answer). Reports built on these objects are how sales operations counts dials and how service operations measures handle time.
Call Center definition files
Every CTI adapter is registered in Salesforce through a Call Center definition file, an XML document that lists the adapter URL, the height and width of the softphone panel, supported languages, screen pop rules, and a few other settings. Admins import the file from Setup, then assign Users to the Call Center to give them access. The same definition file ships with the adapter package and is updated when the vendor releases a new version.
Headless CTI and the call-center-less future
The classic CTI pattern assumes a softphone visible in the agent console. Headless CTI (introduced for Open CTI in 2022) lets the adapter run without a visible softphone, listening for call events and pushing screen pops without taking up screen real estate. This is the pattern Service Cloud Voice and modern adapters trend toward, especially for agents who use a headset and a different UI for call controls.
How to enable CTI in Salesforce
Enabling CTI means picking an adapter, installing its package, registering a Call Center, and assigning users. Most of the work is configuration; the only code is the adapter itself, which the vendor supplies.
- Pick the CTI provider
Either Service Cloud Voice (Salesforce-native) or a third-party adapter from AppExchange (Five9, Talkdesk, RingCentral, Genesys, Amazon Connect partner builds, and others). Decision factors: existing phone vendor relationship, feature depth needed, and whether you want Salesforce-owned AI assist.
- Install the adapter package
From AppExchange, install the vendor managed package into the org. The package brings the JavaScript adapter, the Call Center definition file, and any custom objects the vendor needs like queue settings or agent skills.
- Import or edit the Call Center definition file
Setup, Call Centers, Import. Upload the XML file the package shipped. Edit the settings (softphone width, screen pop behavior, supported languages) for your org. Save.
- Assign users to the Call Center
From the Call Center detail page, click Manage Call Center Users and add the agents who should see the softphone. Users who are not assigned see no softphone panel even if the package is installed.
- Configure the screen pop rules
Define which objects to search on inbound caller ID (Contacts, Leads, Accounts, custom objects), the match priority, and what to show when zero or multiple matches are found.
- Test in a sandbox
Place a test inbound call to confirm the screen pop fires correctly, the softphone responds to the call, and the call logs to the right object with the right field values. Always do this in a sandbox before pushing to production; CTI failures are visible to agents in real time.
- Older CTI Toolkit adapters (desktop installs) are deprecated. Only Open CTI adapters work in Lightning Experience.
- Adapter iframes are sandboxed by Salesforce; the adapter cannot directly read the page DOM. All interaction goes through sforce.opencti methods.
- If the agent browser blocks third-party cookies, the adapter may fail silently. Allowlist the vendor domain in browser cookie settings.
- Screen pop is fragile when caller ID is missing or spoofed. Always have a fallback to a New Contact form rather than letting the agent stare at a blank screen while the phone rings.
- Call Center assignments are user-by-user. There is no role-based or permission-set-based assignment, so manage it through a Data Loader job for large rollouts.
Trust & references
Cross-checked against the following references.
- Open CTI Developer GuideSalesforce Developers
- Service Cloud Voice OverviewSalesforce Help
Straight from the source - Salesforce's reference material on Computer-Telephony Integration (CTI).
- Set Up a Call CenterSalesforce Help
- Open CTI for LightningSalesforce Developers
About the Author
Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.
Test your knowledge
Q1. What does CTI enable agents to do?
Q2. Which API is the modern standard for CTI integrations?
Q3. What is Service Cloud Voice?
Discussion
Loading discussion…