Open CTI
Open CTI is the Salesforce framework that lets third-party computer-telephony integration vendors connect their phone systems to Salesforce.
Definition
Open CTI is the Salesforce framework that lets third-party computer-telephony integration vendors connect their phone systems to Salesforce. CTI vendors like Genesys, Five9, NICE, RingCentral, and AWS Connect build softphones that run inside the Salesforce UI as a Lightning component or Visualforce page in the utility bar, screen-pop inbound calls onto the matching record, log call activity automatically, and feed call metadata back into Salesforce for reporting.
Open CTI replaced the older CTI Toolkit (which required a Windows-only desktop installer) with a pure-browser JavaScript API. Today's softphones run as web components, communicate with the phone system through standard browsers, and update Salesforce records using the Open CTI API. Every major contact-center platform ships a Salesforce integration built on Open CTI; for new contact center implementations, this is the default integration pattern unless the vendor exclusively supports Service Cloud Voice.
How Open CTI connects phone systems to Salesforce
The Open CTI JavaScript API
Open CTI exposes about 25 JavaScript methods that the vendor softphone can call. The most-used are screenPop (open a Salesforce record in the current tab), searchAndScreenPop (look up by phone number and screen-pop the matching record), saveLog (create a Task or Voice Call record), setSoftphoneItemUrls (update the softphone visible URLs), and notifyInitializationComplete (signal Salesforce the softphone is ready). The vendor includes the Open CTI JavaScript library in their softphone HTML page, and Salesforce wires the communication channel automatically when the softphone loads.
Where the softphone shows up
The softphone renders as a utility item in the bottom utility bar of a Lightning app. Admins add the CTI utility item to whichever apps the contact center agents use (Service Console, Sales Console). The softphone stays visible while agents navigate between records, calls, and queues. Mobile devices support a reduced softphone UI through the Salesforce mobile app, but most contact center work happens at a desktop workstation.
Call control: dial, transfer, hold, hang up
Open CTI is bidirectional. The softphone can update Salesforce (screen-pop, log call); Salesforce can also send commands to the softphone through the Lightning Click-to-Dial feature. A user clicks a phone number on a Contact record, Salesforce calls into the softphone API, the softphone places the call through the underlying PBX or telephony platform. Some vendors expose additional Salesforce-side controls (hold, transfer, conference) through custom buttons on the softphone UI.
Service Cloud Voice as the modern alternative
Salesforce launched Service Cloud Voice in 2020 as a tighter, native integration between voice and Salesforce. It uses AWS Connect (Amazon Connect) as the underlying PBX, ships with a native softphone, and integrates AI features like real-time transcription and Einstein Next Best Action. SCV is the Salesforce-preferred path for new contact centers; Open CTI remains the bridge for existing vendor relationships and orgs that cannot move to Amazon Connect. Both paths can coexist in a single org if needed.
Logging and reporting
Open CTI integrations write call data to one of two Salesforce objects: Task (the legacy choice, with Subject equals "Call" and Activity Date set to the call timestamp) or Voice Call (the modern Service Cloud Voice object that has dedicated fields for caller phone, callee phone, duration, recording URL, queue, and disposition). Use Voice Call for new builds; reports on Voice Call are richer and align with the Service Cloud Voice analytics roadmap. Migrating legacy Task-based call logs to Voice Call usually requires a one-time bulk update via Bulk API.
Multi-org and multi-language considerations
Some enterprises run multiple Salesforce orgs (sales in one, service in another, regions in their own). Open CTI softphones can be configured per-org; the vendor maintains separate softphone URLs and credentials per org. Language and locale handling depends on the vendor; the Salesforce side respects user locale automatically. Test the softphone in every language the contact center supports before rollout; field labels and error messages do not always translate cleanly through the Open CTI bridge.
How to set up an Open CTI integration with a third-party softphone
The contact center platform vendor (Genesys, Five9, NICE) does the heavy lifting; the Salesforce admin configures the Call Center, assigns users, and adds the utility item to apps.
- Get the Call Center XML from the vendor
Each vendor ships a Call Center XML definition file containing the softphone URL, dimensions, and required Open CTI settings. Download the XML from the vendor portal or their AppExchange managed package.
- Import the Call Center definition
Setup > Call Centers > Import. Upload the vendor XML. The new Call Center record appears in the list, configured with the URL and softphone dimensions the vendor specified.
- Assign users to the Call Center
Click the new Call Center, click Manage Call Center Users, and add every contact center agent. Users only see the softphone if they are assigned to a Call Center.
- Add the softphone utility item to apps
Setup > App Manager > [console app] > Edit > Utility Items. Add the Open CTI Softphone utility item. Set its initial width and label. Save the app.
- Test as an agent and validate logging
Log in as an agent. Verify the softphone appears at the bottom. Make a test inbound and outbound call. Confirm the call screen-pops the right record and writes a Task (or Voice Call) record back. Iterate with the vendor on any mismatches.
Most contact-center vendors ship their CTI integration as a managed package with the Call Center XML pre-included. Easiest install path.
For self-built integrations or PBX systems without a vendor managed package. Hand-edit the XML to match the softphone URL and dimensions.
Native Salesforce voice with Amazon Connect. Skip Open CTI entirely; use this for new contact centers.
Light integration that lets users click phone numbers in Salesforce to trigger an outbound call through the softphone, without the full screen-pop logging.
- Open CTI runs in a browser tab; if the user opens Salesforce in two tabs, two softphone instances launch and they fight each other. Configure the softphone to detect and warn about multi-tab usage.
- Call Center assignment is a one-to-one User-to-CallCenter mapping. A user can only belong to one Call Center at a time. For agents who work across two phone systems, you need a multi-system softphone or have to choose one as primary.
- Logging defaults to Task; switching to Voice Call requires a Salesforce Voice license. Confirm licensing before designing custom dashboards on the Voice Call object.
- Open CTI requires the softphone URL to be allowed in the Salesforce Trusted URLs list and CSP settings. Browser console errors on softphone load almost always mean a CSP or CORS issue; check those before debugging vendor code.
Trust & references
Cross-checked against the following references.
- Open CTI Developer GuideSalesforce Developers
- Open CTI OverviewSalesforce Help
Straight from the source - Salesforce's reference material on Open CTI.
- Open CTI IntroductionSalesforce Developers
- Manage Call CentersSalesforce Help
Hands-on resources to go deeper on Open CTI.
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 is Open CTI?
Q2. What did it replace?
Q3. What's the modern alternative for new deployments?
Discussion
Loading discussion…