Install
Install the Salesforce connector
Step-by-step guide to install the SIVO package in your Salesforce org. Zero-touch OAuth, External Client App and user mapping.
The SIVO Connector is a managed package installed in your Salesforce org. It brings everything needed for the Service Cloud Voice integration: the External Client App for OAuth, the setup Lightning Web Component and config records.
This guide covers the full installation, step by step, in under 10 minutes.
Before starting
Verify you have:
- ✓ Salesforce org with Service Cloud Voice enabled (check at
Setup → Service Cloud Voice). - ✓ SCV licenses assigned to users that will handle calls.
- ✓
System Administratorpermission or equivalent. - ✓ A SIVO account on Pro or higher plan (Starter doesn’t include SF integration).
- ✓ Access to the OAuth login at
app.sivocenter.com.
If you don’t have SCV enabled, first contact your Salesforce Account Executive — it’s an additional license activated at org level.
Step 1 · Decide sandbox vs production
SIVO auto-detects whether the org is sandbox or production. But it’s good practice to test in sandbox first and then replicate to production.
Your SF admin should have a Partial Copy or Full Copy sandbox with representative data. If you only have Developer sandbox, it works but testing is more limited.
Step 2 · Install the package
Ask your SIVO Account Manager for the package install link. It arrives by email in this format:
https://login.salesforce.com/packaging/installPackage.apexp?p0=04t...
For sandbox, change login.salesforce.com to test.salesforce.com.
During installation
Salesforce shows you an install screen with 3 options:
| Option | Recommended | When to use |
|---|---|---|
| Install for Admins Only | ✓ | Default. Only your admin profile has access, you assign others after. |
| Install for All Users | — | Only if you 100% trust who has access to your org. |
| Install for Specific Profiles | — | For large orgs with many profiles. |
Recommended: Install for Admins Only. Then assign the SIVO_Connector_User permission set to specific users who need it.
Approve access to external sites
During installation, SF will ask you to approve access to external sites. Accept:
https://app.sivocenter.com— for the OAuth callback.https://api.sivocenter.com— for SIVO API callouts.
This automatically creates the necessary Remote Site Settings.
Verify installation
After installation:
Setup → Apps → Packaging → Installed Packages→ you should see “SIVO Connector” with its version.Setup → External Client Apps → External Client App Manager→ you should see “SIVO Connector OAuth”.
If both are present, installation complete.
Step 3 · Assign permission sets
The package ships 2 permission sets:
| Permission Set | Assign to |
|---|---|
| SIVO_Connector_Admin | The admin configuring the integration. |
| SIVO_Connector_User | All agents that will handle calls. |
Bulk assign
Setup → Permission Sets → SIVO_Connector_User → Manage Assignments → Add Assignments.
Select users and assign. For BPOs with many agents, you can use Data Loader with an assignments CSV.
Step 4 · Open the setup LWC
App Launcher → search "SIVO" → SIVO Connector → Setup.
(Or directly: Setup → search "SIVO Connector" → Setup tab).
You’ll see a screen with a big “Connect with SIVO” button.
Step 5 · Launch OAuth
Click Connect with SIVO. Salesforce opens a popup window with the OAuth flow with PKCE.
If your browser blocks the popup
Some corporate browsers block popups by default. If this happens:
- Click on the blocked popup icon (usually appears top-right of the URL bar).
- Allow popups for
*.salesforce.com. - Click Connect with SIVO again.
SIVO login
The OAuth window takes you to app.sivocenter.com/login:
- If no SIVO session, it asks for login.
- If you already have a SIVO session (same browser), it auto-resumes.
After login, SIVO asks you to confirm:
- Do you want to link this SF org to your current SIVO tenant? Confirm.
- Do you allow SIVO to read data from your org (Org, User, VoiceCall, ConversationEntry…)? Allow.
Auto-discovery
SIVO runs SOQL queries against your org to auto-configure:
SELECT Id, IsSandbox, Name FROM Organization LIMIT 1
SELECT Id, Endpoint FROM ScrtServiceConfiguration LIMIT 1
SELECT Id, InternalName FROM CallCenter WHERE InternalName LIKE 'SIVO_%'
If it doesn’t find the “SIVO_…” Call Center, the LWC creates it automatically.
Step 6 · Auto-import users
Click “Auto-import SF users”. SIVO runs:
SELECT Id, Email, Name, IsActive FROM User
WHERE IsActive = true AND UserType = 'Standard'
And matches by email against your existing SIVO agents. The screen shows:
- ✓ Matched users — SF users paired with a SIVO agent.
- ⚠ Unmatched SF users — users in SF without a SIVO agent. You can create them with one click.
- ⚠ Unmatched SIVO agents — SIVO agents without an SF counterpart. They can only handle non-SF calls.
Confirm the matches. If there are errors (duplicate email, etc.) they’ll be flagged for you to resolve.
Step 7 · Assign the Call Center
Setup → Voice → Call Centers → SIVO_<tenant>_CallCenter → Manage Call Center Users.
Add the same users that have the SIVO_Connector_User permission set. This lets the SF console show them the Open CTI panel.
Step 8 · Activate the Service Flow
Each Call Center needs an associated Voice Flow that defines what happens when a call comes in. SIVO ships a basic flow already configured:
Setup → Process Automation → Flows → SIVO_Inbound_Voice_Call.
Verify it’s Active. If not:
- Open the flow.
- Click Activate.
- Salesforce verifies syntax and activates.
This flow runs every time a new call comes in and handles:
- Creating/updating the
VoiceCallrecord. - Looking up the
ContactorLeadby caller ID. - Triggering the screen pop in the agent’s console.
You can customize it or create your own. SIVO just needs it to fulfill the basic contract (create VoiceCall with correct VendorCallKey).
Step 9 · Verify integration
After all the above, make a test call:
-
Call from your mobile to the DID configured in SIVO.
-
In SIVO → Calls History → the call should appear active.
-
In SF → Service Cloud Voice → the assigned agent should see the screen pop.
-
Automatic Contact/Lead popup if caller exists in your CRM.
-
After hanging up: in SF, run:
SELECT Id, CallStatus, FromPhoneNumber, ToPhoneNumber, OwnerId, VendorCallKey FROM VoiceCall ORDER BY CreatedDate DESC LIMIT 1
Should return a row with the call you just made.
Step 10 · (Optional) Enable transcription
If your plan includes transcription:
- In SIVO → Settings → Salesforce → Push transcripts → enable.
- SIVO pushes each turn as
Conversation+ConversationEntryrecords. - Compatible with Einstein Conversation Insights out-of-the-box (if you have the ECI license).
Verify:
SELECT Id, Message, MessageSequenceNumber, SenderType
FROM ConversationEntry
WHERE Conversation.RelatedRecordId = '<your-voicecall-id>'
ORDER BY MessageSequenceNumber
Multi-org
A single SIVO instance can connect to N SF orgs. To add a second org:
- In the other SF org, install the same package.
- Open the LWC → Connect with SIVO with the same SIVO user.
- SIVO detects it’s a different org and adds it as a second connection.
- Auto-import users separately.
- Each org has its own mapping,
org_idand flow.
Useful for holdings, BPOs and partners running calls for multiple SF orgs.
Common issues
”Error: invalid_client” on OAuth callback
Cause: the External Client App in the package didn’t install correctly or client_id doesn’t match.
Solution: uninstall and reinstall the package. Verify the install link is the latest version (request again from your AM).
”VoiceCall not created” when a call arrives
Cause: the SIVO_Inbound_Voice_Call flow isn’t active, or the user about to answer doesn’t have Call Center assigned.
Solution: verify both. The SIVO audit log should show SCRT2 errors if any.
”Telephony provider name not configured”
Cause: the Call Center doesn’t have the Telephony-Provider-Name: calltree header configured.
Solution: the calltreeSetup LWC sets it automatically on connect. If you failed an OAuth midway, run it again.
More cases in Troubleshooting → Salesforce SCV.
Uninstall
If you need to remove the connector:
- In SIVO → Settings → Salesforce → Disconnect.
- This marks the SF org as “disconnected” in SIVO (doesn’t delete data for safety).
- In SF →
Setup → Installed Packages → SIVO Connector → Uninstall. - SF warns about custom objects that will be deleted. Confirm.
Data already pushed to SF (VoiceCall, Conversation, ConversationEntry) is kept — they’re native SF objects, not from the package.
Next step
Once your SF integration is active, you can:
- Configure live transcription.
- Create your first recording policy.
- Configure webhooks to other systems.