Salesforce customer & reviewer guide
Your CRM. Your agent. A Virturing number.
Connect one Salesforce installation to one Virturing workspace. Operators choose a CRM contact, an owned caller number and a voice service from the Virturing Voice app in Salesforce.
Last reviewed · Setup for Salesforce administrators, operators and reviewers.
On this page options
Who supplies the voice?
Virturing supplies the phone number and call transport. The selected voice service supplies the conversation. These are three distinct integration paths.
Virturing AI
Create and publish the agent in Virturing, then select it in Salesforce. Virturing runs its speech, reasoning and configured tools.
Select Virturing-hosted AI agent under Who supplies the voice? Calls can start now or use the supported individual schedule.
Your AI / audio service
Your service provides a compatible, bidirectional secure WebSocket audio endpoint. Register and activate it in Virturing before operators use it.
Select My AI / audio service — Virturing number only. This action supports immediate calls. A text-only chatbot API cannot receive the call audio.
Native Agentforce Voice
Salesforce supplies its native voice AI through an approved telephony interconnect. It needs Salesforce entitlements, supported regional configuration and accepted SIP interoperability.
The generic customer audio choice does not activate this channel. Follow the native voice track; inbound and outbound availability must be confirmed separately.
The current Salesforce app provides calling controls and results. Agent creation and model configuration remain in the platform that owns the agent. No platform trial number is required for the Virturing caller number.
Have these ready
Use a sandbox or isolated review org first. An app installation does not buy a number, move an existing number’s route or add Salesforce product entitlements.
- An authorized Salesforce administrator, compatible Apex/API access and appropriate user licences.
- An active Virturing workspace, an owned active caller number and sufficient balance and calling capacity.
- A published Virturing agent, or an already configured compatible customer audio endpoint, for the chosen mode.
- An approved internal test destination or test bot. Confirm permission to call and any recording/transcription requirements.
- A record of current Lead/Contact layouts, access rules and any earlier Virturing source components before changing the Salesforce org.
Install the app
Obtain the actual subscriber installation link and any installation key from Virturing through an approved channel. There is no released package link to use yet.
- Confirm the Salesforce org
Sign in as its authorized administrator. Check the intended My Domain and org before opening the supplied installation link.
- Review and install for administrators first
Confirm the version and requested access. Wait for Salesforce’s installation-complete result. Then open Setup → Installed Packages and verify the publisher, namespace and version.
- Open Virturing Voice
Go to App Launcher → Virturing Voice. The app navigation contains Calling, Leads, Contacts, Virturing Call Requests and Connection setup.
Connect securely
Open Virturing Voice → Connection setup. Salesforce stores the connection key in its encrypted credential store. Operators do not enter keys in the calling form.
- Create a dedicated Virturing API key
In Virturing, open Developer API & Webhooks → API keys. Create a key for this Salesforce installation with
calls:write,calls:readandnumbers:read. Addagents:readfor Virturing AI, ormedia:readfor customer audio; include both if offering both choices. Keep endpoint administration on a separate key. - Create the External Credential
In Salesforce, open Setup → Named Credentials → External Credentials → New. Name it
Virturing_External, choose Custom authentication and add the named principalWorkspace. Add its encrypted authentication parameterAuthorizationValue: the wordBearer, one space, then the API key. Enter the real key only in that encrypted field. - Create the Named Credential
Create
Virturingwith URLhttps://dashboard.virturing.aiand connect the External Credential. Enable callouts, turn Generate Authorization Header off and enable header formulas. Add theAuthorizationheader with formula{!$Credential.Virturing_External.AuthorizationValue}. For a managed installation, add the exact installed namespace shown by Connection setup to Allowed Namespaces. - Assign app and credential access
Use the roles below. In each intended permission set’s External Credential Principal Access, enable Virturing_External — Workspace. Each caller and the integration user needs principal access separately. Keep existing Lead/Contact record sharing and field permissions.
- Run the read-only connection check
Return to Connection setup, select Calling mode to connect and click Check connection. Confirm the workspace ID is the intended workspace, required scopes are present and the expected owned numbers and voice choices are available.
What the check proves: connection authentication, API grants and readable inventory. It places no call and does not verify carrier availability, audio quality, recipient consent or native Agentforce Voice. Subscriber-owned credentials must remain in place through upgrades.
Call a CRM contact
Once an administrator has connected the workspace, operators can work from Salesforce. Each submission targets one reviewed Lead or Contact.
- Select the person
Open Calling, choose Lead or Contact under CRM records and select an accessible record. Alternatively, open the record and choose Call with Virturing once an administrator adds the action to its layout or Dynamic Actions.
- Review the voice service and destination
Under Who supplies the voice?, choose the configured mode. Select the Virturing agent or Your AI / audio endpoint, then the owned Caller number and Recipient phone. The CRM phone must include
+and its country code. Do Not Call blocks calling. - Confirm timing and submit
Review and tick the permission-to-call confirmation. Choose Start call, or set Schedule for and choose Schedule call for a supported Virturing AI call. Customer audio calls start immediately; this mode does not offer scheduling.
- Keep the request and inspect its outcome
Accepted means the request was accepted; it does not mean the recipient answered. Keep the reference and use Recent requests → Refresh results or Open Virturing Call History to review the final outcome.
For the list-toolbar button, open Leads or Contacts. If Contacts opens in Intelligence View, click List View. Choose a named list such as All Open Leads or All Contacts, then use Select list display → Table. In the toolbar, open Show more actions → Call with Virturing.
The custom list button is not shown in Recently Viewed or Split View. It opens a single-recipient picker; selecting list checkboxes does not submit a bulk campaign. The record’s Call with Virturing action remains an alternative once added to its layout or Dynamic Actions.
Individual Virturing AI schedules must be within one year. A later CRM opt-out change does not automatically cancel an already accepted schedule: review and cancel pending work through the supported controls.
Automate a reviewed Flow
Use Flow for an explicit, authorized CRM operation. Preserve the returned request identity so that retries do not become duplicate calls.
- Add Request a Virturing call
In Flow Builder, add the action Request a Virturing call. Supply an accessible Lead/Contact record ID, its reviewed international destination, the owned number UUID and explicit confirmation.
- Choose one voice configuration
Set
voiceModetoaiwithagentId, orprogrammablewithmediaEndpointId. Do not supply both voice configurations. A futurescheduledAtis supported only forai, within one year. - Set a stable operation key
Use a 16–100 character operation key containing letters, digits,
_or-. Keep the same key when retrying the same intent and retain the returned request ID for reconciliation. - Respect the transaction limit
Submit at most 25 inputs per transaction. The action saves request intents and dispatches asynchronously. Queued in Salesforce does not mean a call was placed or answered. Use Virturing Campaigns for larger controlled lists.
Keep outcomes connected
Refresh results is available in the calling app. Administrators can also configure authenticated event writeback to update the corresponding Salesforce request automatically.
- Prepare a dedicated Salesforce OAuth user
Use the required API licence/access, assign Virturing Integration User and grant the credential’s Workspace principal access. Keep this role separate from ordinary callers.
- Copy the exact callback path
In Connection setup → Call results and optional event writeback, copy the displayed callback path. Build the URL using this Salesforce org’s current My Domain followed by that path. The path accounts for the installed namespace; do not guess a managed callback URL.
- Configure terminal call events in Virturing
Open Developer API & Webhooks → Events & media. Select the customer’s Salesforce OAuth connection, enter the callback URL and subscribe to the intended terminal
call.*events. No Salesforce Site or guest access is needed. - Verify record correlation
Use an isolated, approved acceptance call. Confirm the org, CRM record, request and call references match. Unrelated portal calls must not create or overwrite Salesforce request records.
Salesforce’s current result field contains the public call result/summary, capped at 32,000 characters. Full recordings and transcripts remain in Virturing unless a separately accepted integration provides them. Recording and transcription depend on the selected service, capture settings, consent, access and retention policy.
Portal campaigns do not automatically create one Salesforce request record per recipient. Review the campaign’s own results in Virturing.
Verify before launch
A successful read check is the first step. Verify the chosen voice service and normal user permissions with an authorized test before customer calling.
- Run Check connection and confirm the intended workspace, scopes, number and agent/audio inventory.
- Sign in as a normal calling user and select only the CRM records and phone fields they are permitted to access.
- Call an approved internal destination or test bot. Answer, listen to the greeting, exchange several two-way turns and hang up. Check that the selected voice service handled the conversation.
- Use Refresh results and verify the final status and references. If capture is enabled and permitted, compare the recording/transcript with the actual conversation.
- Review the opt-out, validation and timeout behaviour in the isolated test setup before enabling an automated Flow.
- Connection or principal access fails
- Have the administrator check the encrypted key, its actual API scopes, credential formula and Workspace principal access. Correct a workspace mismatch before calling.
- No caller number or voice option appears
- Confirm the number belongs to the connected workspace and is active. Publish the intended Virturing agent or activate the compatible audio endpoint, then repeat the read check.
- The record or call button is unavailable
- Check Virturing Calling User, Lead/Contact sharing and phone-field permissions. Add the record action to the relevant layout or Dynamic Actions. For a list-toolbar button, switch Contacts from Intelligence View to List View if needed, choose All Open Leads or All Contacts and set Select list display to Table. Open Show more actions → Call with Virturing; Recently Viewed and Split View do not show this custom list button.
- A request times out or remains uncertain
- Keep its request/reference and reconcile it in Call History. Use the app’s retry for the same request where applicable. Creating a fresh request can create another call.
- Accepted call has no usable audio
- Retain the call reference, time, selected mode and outcome for support. Check the configured agent/audio service and approved carrier route. An API acceptance or connection check does not prove audio or native Salesforce Voice compatibility.
Upgrade or disconnect
Plan changes around saved requests, active work and the customer’s data policy. Removing an app does not cancel an accepted call or erase external data.
- Test an approved successor before production
Export required audit data. Install an approved upgrade in a test org first and verify the namespace, preserved credentials and principal grants, actions, ordinary-user permissions and supported upgrade path.
- Rotate credentials without exposing them
Replace the encrypted principal parameter, run Check connection, then revoke the old dedicated key. Review any other consumers before revocation.
- Stop new work before disconnecting
Stop automated Flow submissions. Review pending schedules and campaigns; allow authorized active work to finish or explicitly cancel it where supported. Keep final outcomes and request references.
- Revoke and remove deliberately
Disable event subscriptions and revoke the dedicated Salesforce OAuth grant and Virturing key when no longer needed. Export required Salesforce audit data, remove customer Flow/layout dependencies and review Salesforce’s uninstall and data-loss warnings.
- Handle external data separately
Apply the customer’s Virturing recording, transcript and account deletion policy. Salesforce uninstall does not remove external storage, usage or billing records.
Use native Agentforce Voice
The goal is a Virturing number connected to Salesforce’s own native voice agent. This requires Salesforce-approved telephony onboarding and a verified channel; the CRM calling app alone does not provide that approval.
- Confirm Salesforce eligibility and supported direction
Confirm the customer’s native Agentforce Voice entitlement, supported region, number type and approved telephony path with Salesforce and Virturing. Inbound support does not imply native outbound CRM dialing. Confirm each direction explicitly.
- Provision the approved channel
Use Salesforce-provided SIP/channel configuration and the customer’s agent, routing and escalation flows. Exchange only the approved network, authentication and public-key material through the agreed onboarding process.
- Complete interoperability acceptance
Verify the actual provisioned channel with the required echo, native agent conversation and human escalation checks before moving a customer number’s route. Obtain the customer administrator’s approval for any route change.
For the vendor requirements, see Salesforce’s Agentforce Voice SIP setup and Agentforce Voice authorization documentation. Contact Virturing to confirm the current onboarding status before promising native connectivity.