Plan Your Migration
Before you move your Open CTI integration to Salesforce Voice with Partner Telephony, use the migration checklist and key resources to guide you through the process.
To plan your migration, work through these assessment, implementation, and validation phases.
Phase 0: Assess and Plan
- Audit all
opencti.*calls in your existing Open CTI adapter. - Map each call to a Salesforce Voice equivalent. See Compare Open CTI Capabilities with Salesforce Voice Replacements.
- Inventory custom fields on CTI-created Tasks. Map the fields to VoiceCall or other target objects.
- Identify all external system calls from your adapter.
Phase 1: Set Up Scratch Org
- Deploy
scv-partner-telephony-quickstartto a scratch org. - Configure Omni-Channel queues, service channels, and routing configurations.
- Assign permission sets to reps and supervisors.
Phase 2: Implement Your Connector
- Clone
byo-demo-connectoras base. - Verify that mock calls work via
CCaaS.htmlsimulator. - Implement
getVoiceCapabilities()andgetSharedCapabilities(). - Replace
acceptCall,endCall,dial(Promise return pattern). - Replace
hold,resume,mute,unmute. - Implement
setAgentStatus()withenqueueNextStatehandling. - Implement
wrapUpCall(). - Verify
voiceCallIdpopulated on everyCALL_STARTED. - Implement supervisor methods if applicable.
Phase 3: Set Up Flows
- Build an Omni-Channel routing flow with screen pop.
- Build a VoiceCall record-triggered flow for the customer’s chosen target object (Case, Opportunity, Lead, Task, or custom).
- Test against demo connector mock calls.
Phase 4: Validate Your Implementation
- Command Center for Service (formerly Omni Supervisor) shows correct rep and call state.
- VoiceCall records are created and linked correctly.
- Custom records are created post-call with the right field mapping.
- Supervisor listen-in and barge-in work end-to-end.
- Multi-tab test passes.
Consult these resources before or during your migration.
| Resource | How to Use It |
|---|---|
| Salesforce Help Learning Map: Connect to an External Contact Center Using Salesforce Voice with Telephony Providers | A learning map for the broader Salesforce Voice external contact center product line, including Salesforce Voice with Partner Telephony. Use it as an entry point to feature docs cited throughout this guide. |
| Salesforce Help Learning Map: Migrate from Open CTI | A learning map for Open CTI migration with links to resources for partners, admins, and organizational decision-makers. |
| GitHub: byo-demo-connector | Your starting point as a developer, a fully working Salesforce Voice connector for you to clone and adapt. Includes a CCaaS.html call simulator for local end-to-end testing. |
| GitHub: scv-connector-base SDK | The base SDK that defines connector types, events, and method contracts. |
| GitHub: scv-partner-telephony-quickstart | A sample application that demonstrates the Salesforce Voice with Partner Telephony integration implementation. Includes org setup metadata. |
| GitHub: open-cti-demo-adapter | Reference for understanding what your current Open CTI adapter does. |
| Service Connector API | Reference guide for Service Connector API, where connector methods, objects, and events from the scv-connector-base SDK are documented. |
| Salesforce Voice with Partner Telephony Developer Guide | Connector-specific reference for Partner Telephony. |
| Salesforce Voice with Telephony Providers Implementation Guide | Telephony API and configuration reference. Most content applies to Salesforce Voice with Amazon Connect and Salesforce Voice with Partner Telephony from Amazon Connect. Certain sections also apply to Salesforce Voice with Partner Telephony, such as the Telephony Integration API, Toolkit API, and Connect API. |
| Salesforce Help: Standard Omni-Channel Flow Templates for Open CTI Migration | Information about out-of-the-box Omni-Channel flow templates. Customize these flows based on business requirements. |
| Salesforce Help: Requirements for Building Salesforce Voice Omni-Channel Flows | Clarifies the skills required to migrate your adapter logic to Omni-Channel flows. |