Why SIVO + SCV
Salesforce offers Service Cloud Voice as the telephony layer inside the console, but requires a Partner Telephony to provide SIP, routing, IVR and real-time data. SIVO is that partner, optimized for integrators already living in SF Service Cloud.
Zero-touch onboarding
The Salesforce admin doesn't install anything in SIVO nor in their org. Just:
- Install the SIVO Connector (External Client App) in their org. One click.
- Open the
calltreeSetupLWC in Setup. - Click "Connect with SIVO". Salesforce returns the OAuth code (with PKCE).
- SIVO receives the callback, auto-discovers
org_id,scrt_base_url,call_center_nameand configures everything. - Admin maps their SF users ↔ SIVO agents (auto-match by email).
No manuals, no certificates to rotate manually. SIVO detects sandbox vs
production and adjusts endpoints (test.salesforce.com vs
login.salesforce.com) automatically.
SCRT2 — the modern model
SIVO uses the Service Cloud Real-Time API v2 (SCRT2), not the
deprecated VoiceCallTranscript. Data materializes as:
- VoiceCall — canonical call record in SF.
- Conversation — message thread tied to it.
- ConversationEntry — each transcription turn (caller, agent, AI agent) with timestamp and participantId.
Compatible with Einstein Conversation Insights with no extra code — sentiment, topics, coaching available out-of-the-box.
Global RS256 JWT
Callouts against SCRT2 sign with a global RS256 keypair (shared across tenants)
by default, with per-org override if the customer prefers. Rotation documented
at /docs/configuration/jwt-keys.
Embedded softphone (Open CTI)
SIVO's WebRTC softphone renders as an Open CTI panel inside the SF console.
Calls create VoiceCall records, Omni-Channel routes the agent.
No double login: SIVO's JWT is obtained from the SF session.
WebRTC telemetry → MOS Score
The JS connector collects WebRTC stats (RTT, jitter, packet loss) for the
entire call and translates them into a MOS Score visible in
the agent CDR and in SF as a VoiceCall custom field. Useful for
detecting agents with bad network before KPIs suffer.
Multi-org
A single SIVO instance can connect N Salesforce orgs. Useful for holdings or BPOs running calls for multiple brands each with their own SF org. Independent user mappings per org.
Live transcription push to SF
Each transcription turn is pushed to SF as
POST /voiceCalls/{vendorCallKey}/messages with the
Telephony-Provider-Name: calltree header.
One at a time, not batched, so the agent watches the
transcript appear in real time in their console.