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.