Salesforce CTI Integration: How to Connect Your Phone System in 2026

In this article
- A Salesforce CTI integration puts your phone system inside Salesforce: click-to-dial, a screen pop with the caller’s record, automatic call logging, and links to recordings and transcripts on the Contact, Lead or Case.
- There are three ways in: a vendor’s package from AgentExchange (formerly AppExchange) built on Open CTI (RingCentral, Dialpad, Aircall, Talkdesk, Zoom Phone and others), Salesforce Voice (formerly Service Cloud Voice, now sold as Partner Contact Center and Agentforce Contact Center), or a custom build on APIs.
- Plan for the deadline: according to Salesforce, Open CTI retires on February 28, 2028 and is already unavailable for new Agentforce Service orgs. Before you sign or renew, ask every phone vendor what replaces its Open CTI adapter.
- Most rollouts fail on the details, not the install: duplicate call activities, phone numbers that don’t match because of formatting, and recording consent in all-party consent states.
Jump to
- What a Salesforce CTI integration actually does
- Three ways to connect a phone system to Salesforce
- Salesforce phone integrations compared
- How call data flows into Salesforce
- How to set up Salesforce CTI integration, step by step
- Common pitfalls and how to fix them
- Go-live checklist
- When a custom CTI integration makes sense
- Need help with the integration?
What a Salesforce CTI integration actually does
CTI stands for computer telephony integration. In Salesforce terms, it means your phone system and your CRM share one screen and one record of every call. A good setup gives reps five things:
- Click-to-dial. Phone numbers on Contacts, Leads, Accounts and Cases become buttons. One click, the softphone dials.
- Screen pop. On an incoming call, Salesforce searches for the caller’s number and opens the matching record, or a list when several match.
- Automatic call logging. Each call becomes an activity with direction, duration, outcome and notes, linked to the right person and deal or case.
- Recordings. A link to the recording on the activity, usually stored by the phone vendor rather than in Salesforce file storage.
- Transcripts and summaries. Many vendors now push a transcript or an AI summary into Salesforce, on the activity or on the vendor’s own call object, so managers can search calls without listening to them.
Sales teams care most about click-to-dial, logging and reporting on activity. Service teams care about screen pops, routing, case creation and wrap-up time. Keep that split in mind: it decides which integration model fits.
Three ways to connect a phone system to Salesforce
Every Salesforce phone integration falls into one of three models. They differ in where the call lives, what Salesforce charges, and how much work the 2028 deadline creates.
| Vendor package on Open CTI | Salesforce Voice | Custom integration | |
|---|---|---|---|
| How it works | The vendor’s softphone runs inside Salesforce through the Open CTI JavaScript API; call data syncs back as activities | Calls become a native Salesforce channel, routed by Omni-Channel, with partner or Amazon Connect telephony | Your code connects the phone platform’s API and webhooks to the Salesforce REST API, often with a custom Lightning component |
| Where calls are logged | Task records (call type, duration, outcome), plus the vendor’s own objects | VoiceCall records linked to Contacts and Cases, with transcripts | Wherever you design: Tasks, VoiceCall or custom objects |
| Best fit | Sales teams and small support teams on Sales Cloud or Service Cloud | Service Cloud contact centers that want routing, live transcripts and AI in one console | Unusual phone platforms, strict data rules, or logic no package covers |
| Extra Salesforce license | No | Yes, per-user add-on | No, but needs an integration user and API capacity |
| Setup effort | Hours to a few days | Weeks, more with custom routing | Weeks to months |
| 2028 risk | High: the adapter must be replaced or rebuilt | None: this is Salesforce’s target path | Low, if it avoids the Open CTI API |
Open CTI and its retirement
Open CTI is the JavaScript API that most marketplace phone packages use to put a softphone in the Salesforce utility bar. It needs no extra Salesforce license, which is why it became the default for sales teams.
According to Salesforce’s documentation and Trailhead, Open CTI has been in maintenance mode since 2020. It became unavailable for newly created Agentforce Service orgs on February 16, 2026, and it retires for everyone on February 28, 2028. At that point the JavaScript API, call center adapters, softphone layouts, call center definition files and custom screen-pop logic built on them stop working.
Vendors are reacting differently. Dialpad says its Salesforce integration isn’t being retired, though some features that rely on Open CTI need a new path. Talkdesk offers its standard integration and a separate Salesforce Voice version that requires an additional Salesforce license. Others are still working out their plans. Ask before you sign a multi-year phone contract.
Salesforce Voice (formerly Service Cloud Voice)
Salesforce has renamed this product more than once, and help pages still show older names. As of late 2026, Salesforce’s migration guidance describes four Voice paths:
- Partner Contact Center with your current vendor’s Voice package, if the vendor has one.
- Partner Contact Center with telephony from Amazon Connect, when you already run your own Amazon Connect instance in your AWS account.
- Partner Contact Center with Amazon Connect, where Salesforce provisions and manages the Amazon Connect side for you.
- Agentforce Contact Center, Salesforce’s fully native telephony with no third-party vendor.
Voice brings calls into the same Omni-Channel console as chat and email, with recordings, real-time transcription and supervisor monitoring. Its cost is a per-user add-on on top of your Salesforce and phone vendor licenses, and Salesforce’s pricing page notes that voice-to-text transcription is licensed from the telephony partner.
- Profile: SDRs and account executives on Sales Cloud, outbound-heavy, 5–100 users.
- Pick: a phone vendor’s AgentExchange package (Aircall, Dialpad, RingCentral, CloudTalk, Zoom Phone).
- Why: fastest setup, no Salesforce add-on, strong dialing and logging features.
- Ask the vendor: how the integration works after February 2028, and whether it needs Salesforce Voice licenses then.
- Profile: a support team on Service Cloud, mostly inbound, cases opened from calls.
- Pick: a vendor package now if you need it fast; plan Partner Contact Center for the next renewal.
- Why: Voice gives native case screen pops, Omni-Channel routing and transcripts on the case.
- Ask the vendor: whether it has a Salesforce Voice package and which features it loses there.
- Profile: 50+ agents, queues, IVR, supervisors, service levels.
- Pick: Salesforce Voice with Amazon Connect or a contact center partner, or Agentforce Contact Center.
- Why: one routing engine for voice and digital channels, live monitoring, AI handoffs with the transcript.
- Plan for: a real project with IVR design, routing rules, number porting and reporting rebuilt on VoiceCall.
- Profile: a niche or regional phone platform, a home-grown dialer, or strict rules about where call data lives.
- Pick: a custom integration on the phone platform’s API and the Salesforce API.
- Why: no package covers your setup, or you need logic the packages don’t offer.
- Plan for: an integration user, error handling, monitoring and someone who owns it after launch.
Salesforce phone integrations compared
All of these vendors offer a Salesforce integration. Features change with every release and pricing depends on plan and volume, so treat this as a shortlist and verify the details, including list prices, with each vendor.
| Vendor | What you get in Salesforce | Typical fit | Ask about |
|---|---|---|---|
| RingCentral | Embedded softphone, click-to-dial, screen pop, call and SMS logging; separate contact center product for service | Sales and general business phones on Sales Cloud | Its path after Open CTI retires |
| Dialpad | Softphone, call logging as Tasks or Dialpad Call Log records, AI summaries and action items on the Call Log object | Sales and support teams that want AI notes | Which features depend on Open CTI |
| Aircall | Click-to-dial, automatic logging, recordings and notes on records | SMB and mid-market sales teams | Salesforce Voice support and plan tier needed |
| Talkdesk | Standard Talkdesk for Salesforce plus a Salesforce Voice version | Service Cloud contact centers | Feature gaps in the Voice version |
| Zoom Phone | Click-to-call, call logging and recordings from the Zoom app for Salesforce | Companies already on Zoom Workplace | Logging rules and sales-specific features |
| CloudTalk | Click-to-call, logging, recordings, sync of contacts and call outcomes | Outbound sales teams, SMB | Lightning support and sync direction |
| Twilio Flex | Programmable contact center; Flex CTI package on Open CTI, a separate Partner Contact Center package, and custom work for anything beyond them | Teams with developers who want full control | Moving from Flex CTI to the Partner Contact Center package |
| Amazon Connect | AWS’s CTI Adapter package, or Salesforce Voice with Amazon Connect telephony | Service Cloud contact centers, AWS shops | Moving from the CTI Adapter to Voice |
| Avaya | Avaya Workspaces for CRM softphone inside Salesforce, for Avaya Experience Platform in the cloud or on-premises | Large service organizations with existing Avaya | Cloud vs on-premises version and Voice support |
A practical tip: ask each vendor for a sandbox trial and test the three things that break most often in real orgs. Logging to the right record when a number matches two Contacts, logging calls made from a mobile app, and what happens to activities if a rep closes the browser mid-call.
How call data flows into Salesforce
What maps where
| Call data | Salesforce field or object | Direction | System of record |
|---|---|---|---|
| The call itself | Task with the Call subtype (Open CTI packages) or VoiceCall (Salesforce Voice) | Phone → Salesforce | Phone platform |
| Inbound or outbound | Call Type on the Task, or the VoiceCall’s call type | Phone → Salesforce | Phone platform |
| Duration | Call Duration on the Task, or VoiceCall duration fields | Phone → Salesforce | Phone platform |
| Outcome (connected, voicemail, no answer) | Call Result (disposition) on the Task, or a picklist you add | Rep or phone → Salesforce | Salesforce |
| Who the call was with | Name (Contact or Lead) and Related To (Account, Opportunity, Case) | Matched in Salesforce | Salesforce |
| Recording | A URL field on the activity (usually added by the vendor’s package); audio stays with the vendor | Phone → Salesforce | Phone platform |
| Transcript, AI summary | Description, a long text field, or vendor objects; native on VoiceCall | Phone → Salesforce | Phone platform |
| Contact phone numbers | Phone, Mobile and other phone fields | Salesforce → phone (for caller ID and matching) | Salesforce |
Settle the system of record before setup. If reps edit the outcome in Salesforce and the vendor also syncs it, decide which one wins, or you will see values flip back after every sync.
How to set up Salesforce CTI integration, step by step
These steps follow the most common path: a vendor’s AgentExchange (formerly AppExchange) package in Lightning Experience. Exact screens vary by vendor, so keep its install guide open alongside.
- Choose the model and check the 2028 planPick a vendor package, Salesforce Voice or a custom build using the comparison above. Get the vendor’s answer on the Open CTI retirement in writing. Confirm your Salesforce edition supports the package and that reps work in Lightning Experience.
- Install in a sandbox firstInstall the managed package from AgentExchange into a full or partial copy sandbox. Grant access to admins only at first. Most packages ship with permission sets for agents and admins: note their names for step 5.
- Set up the call centerOpen CTI packages create or import a call center from a call center definition file, an XML file the vendor provides. You’ll find it under Call Centers in Setup. Check that its compatibility mode covers Lightning, or the softphone won’t load. Salesforce Voice uses its own contact center setup instead.
- Add the softphone to your Lightning appsIn App Manager, edit each Lightning app reps use (Sales, Service Console) and add the Open CTI Softphone as a utility item. Missing it from one app is the most common reason a rep says “the phone disappeared”.
- Assign usersAdd reps to the call center and assign the package permission sets. Connect each Salesforce user to their user in the phone platform, usually by email. Start with a pilot group of 3–5 reps.
- Configure screen pops and number searchIn the softphone layout or the vendor’s settings, choose which objects to search on inbound calls (Contacts, Leads, Accounts, Cases) and what happens on no match, one match and several matches. For sales, a new Lead form on no match works well. For service, a new Case.
- Set call logging rulesDecide which calls create activities (all, connected only, over 10 seconds), the subject format, which fields map, whether the rep must pick an outcome, and whether missed calls and voicemails log. Turn off any other tool that also logs calls.
- Test real scenariosInbound from a known Contact, an unknown number, a number on two records, an outbound call from a Lead, a transfer, a voicemail, a call from the mobile app. Check that each Task lands on the right record with the recording link.
- Pilot, then roll outRun the pilot for one or two weeks, check reports on logged calls against the phone platform’s call log, fix the gaps, then deploy to production and add users in waves.
Built by Gilzor
Results we’ve shipped




Talk to the people who build it. Tell us about your project and get a free estimate of scope, timeline and cost.
Common pitfalls and how to fix them
- Duplicate call activities. The vendor package logs a Task, the rep logs one by hand, and a second tool (a sales engagement platform or a mobile sync) logs a third. Fix: pick one tool that logs calls, turn off logging everywhere else, and add a report that flags several call Tasks with the same time and number.
- Numbers that don’t match. Salesforce stores phone numbers as text, so “(415) 555-0132”, “415.555.0132” and “+14155550132” are different strings to a search. The phone platform usually sends E.164 format (+1 and ten digits). Fix: normalize existing numbers before go-live, add a validation rule or a flow that standardizes new ones, and test the vendor’s matching against your real data.
- Calls logged to the wrong record. Shared office lines and family members create one number on many records. Fix: let the rep choose on multiple matches instead of auto-linking to the first, and relate calls to the open Opportunity or Case, not only the Contact.
- Recording consent. Federal law and most states require only one party’s consent, but around a dozen states, including California, Florida, Illinois, Maryland, Massachusetts, Montana, New Hampshire, Pennsylvania and Washington, generally require everyone on the call to consent to, or at least be told about, the recording, and the details and exceptions differ by state. Fix: play a recording announcement on every call, since you can’t always know where the other party is, and let callers opt out. Confirm your policy with counsel.
- Lightning vs Classic. Open CTI has separate versions for Lightning Experience and Salesforce Classic, and a softphone built for one doesn’t run in the other. Fix: move reps to Lightning before the rollout and confirm the definition file’s compatibility mode.
- Recordings stored in Salesforce. Uploading audio files eats file storage fast and spreads sensitive data. Fix: store a link and keep the audio with the vendor, with retention rules that match your policy.
- Sensitive data in transcripts. Card numbers, health details or Social Security numbers read out loud end up in searchable text. Fix: use the vendor’s redaction or pause-recording features for payment calls, and limit who can see transcripts.
- No owner after launch. Package updates, Salesforce releases and phone plan changes break things quietly. Fix: name an admin who owns the integration and reviews a monthly report of logged calls against the phone platform’s numbers.
Go-live checklist
Tick what is already true. The result shows how ready you are to switch the integration on for everyone.
Salesforce CTI go-live
When a custom CTI integration makes sense
Packages cover most teams. A custom build earns its cost in a few cases:
- Your phone platform has a good API but no Salesforce package, or only a weak one.
- You need to log calls to custom objects, apply business rules (for example, create a follow-up task for every missed call from an open deal), or feed call data into other systems.
- Your current package depends on Open CTI and the vendor has no clear plan for 2028.
- Compliance rules require call data or transcripts to stay in a specific system or region.
A typical build has three parts: a service that receives the phone platform’s webhooks, matches numbers and writes activities through the Salesforce API with a dedicated integration user; a Lightning component for click-to-dial and screen pops if you need them in the UI; and monitoring with retries, so a Salesforce outage doesn’t lose calls. For the wider picture of connecting Salesforce with other systems, see the Salesforce integration guide.
Salesforce’s pricing page lists Partner Contact Center with Amazon Connect at $75, $125 or $200 per user per month (750, 2,000 or 5,000 minutes) and a Contact Center package with native voice at $125, all on annual contracts; confirm current numbers with Salesforce before you budget. For what a custom connector usually costs to build and run, see the guides to API integration cost and data integration cost.
FAQ
What is CTI integration in Salesforce?
Is Salesforce Open CTI being retired?
What is the difference between Open CTI and Service Cloud Voice?
Which phone systems integrate with Salesforce?
How much does Salesforce CTI integration cost?
Is it legal to record sales calls logged in Salesforce?
Need help with the integration?
Gilzor builds and maintains Salesforce integrations. Gilzor’s engineers can map how call data should flow between your phone platform and Salesforce, build a custom connector when a package isn’t enough, and support it after launch, including a plan for the move off Open CTI. See Gilzor’s Salesforce integration services.
No sales pitch
Get a straight answer for your project
Tell us what you’re building. We’ll reply with options, a rough cost and timeline. If we’re not the right fit, we’ll say so.

Head of Mobile Development at Gilzor. Leads iOS and Android delivery and the mobile app audits, from release process to architecture.
LinkedIn →Gilzor · Web Development partner
Need a team for your web product?
Services
Web DevelopmentCustom websites and web apps — front-end, back-end, launch and support.→By company type
Selected projects






The team behind them





