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.