Integrations
Salesforce Service Cloud Voice
Connect SIVO to your Salesforce org in one click. Zero-touch OAuth, auto push to Conversation/ConversationEntry, Einstein-ready.
The Salesforce integration is SIVO’s flagship piece. It’s designed so the SF admin can complete onboarding in under 10 minutes, without uploading certificates or configuring Connected Apps manually.
Prerequisites
- Salesforce org with Service Cloud Voice enabled.
- SCV licenses assigned to users who will handle calls.
Manage Connected Appspermission (or equivalent) on the SF admin’s profile.
Connector installation
-
In your SF org, open the SIVO package:
https://login.salesforce.com/packaging/installPackage.apexp?p0=<package-id>The package contains an External Client App, a Lightning Web Component (
calltreeSetup) and two custom metadata records. Auto-detects sandbox vs production. -
After install, open Setup → search “SIVO Connector” → Setup tab.
OAuth connection
- Click “Connect with SIVO”. SF opens an OAuth window with PKCE.
- SIVO receives the callback at
https://app.sivocenter.com/salesforce?autoConnect=1. - If you don’t have an open SIVO session, it takes you to login and resumes the flow after.
What SIVO discovers automatically:
| Field | How we obtain it |
|---|---|
org_id (15-char) | SELECT Id FROM Organization LIMIT 1 |
scrt_base_url | SELECT Endpoint FROM ScrtServiceConfiguration LIMIT 1 |
call_center_name | SELECT InternalName FROM CallCenter WHERE InternalName LIKE 'SIVO_%' |
| Sandbox vs production | SELECT IsSandbox FROM Organization |
No copy/paste of IDs required.
User mapping
Click “Auto-import SF users”. SIVO runs:
SELECT Id, Email, Name FROM User
WHERE IsActive = true AND UserType = 'Standard'
And matches by email against your existing SIVO agents. Matched users are linked; unmatched ones can be created with one click.
Data model in Salesforce
SIVO pushes to SCRT2 (Service Cloud Real-Time API v2), which materializes your calls in these objects:
VoiceCall
The canonical call record. Key fields:
VendorCallKey— SIP channel UUID in SIVO.CallStatus—inProgress,completed,abandoned, etc.StartDateTime/CallEndDateTime.FromPhoneNumber/ToPhoneNumber.OwnerId— the SF User who answered.
Conversation + ConversationEntry
When live transcription is enabled, each turn is pushed as:
POST /telephony/v1/voiceCalls/{vendorCallKey}/messages
Telephony-Provider-Name: calltree
{
"messageId": "uuid-v4",
"messageSequenceNumber": 1,
"senderType": "ENDUSER",
"content": "Hi, I'm calling about last month's invoice.",
"timestamp": "2026-05-20T10:23:45Z"
}
Salesforce materializes it as Conversation (the thread) + ConversationEntry (each individual message). Directly compatible with Einstein Conversation Insights for sentiment, topics and coaching.
Enabling transcription in SF
For transcripts to appear in SF:
- In SIVO: Settings → Salesforce → Push transcripts → enable.
- In SF: the registered
Call Centermust have theTelephony-Provider-Name: calltreeheader configured. ThecalltreeSetupLWC does this automatically on connect.
Multi-org
A single SIVO instance can connect to N Salesforce orgs. Each org has:
- Its own user mapping.
- Its own
org_idand SCRT2 endpoint. - Optional dedicated RS256 keypair (Enterprise) — see JWT key rotation.
Useful for holdings, BPOs and partners running calls for multiple brands with their own SF orgs.
Embedded softphone (Open CTI)
SIVO’s WebRTC softphone renders as an Open CTI panel inside the SF console. Benefits:
- No double login — SIVO JWT obtained from SF session.
- Auto-popup of the related record (
Contact,Account,Case) when a call arrives. - Click-to-call from any phone field.
End-to-end verification
After setup:
-
Call from your mobile to a DID configured in SIVO.
-
In SF, run:
SELECT Id, CallStatus, FromPhoneNumber, StartDateTime FROM VoiceCall ORDER BY CreatedDate DESC LIMIT 1 -
Should return a row with
CallStatus = inProgressorcompleted. -
If you enabled transcription, also search:
SELECT Id, Message FROM ConversationEntry WHERE Conversation.RelatedRecordId = '<voiceCallId>' ORDER BY MessageSequenceNumber
Troubleshooting
See Troubleshooting → Salesforce SCV for the most common issues and solutions.