Skip to content

Integrate Cloud Voice with Salesforce CRM

Linking Cloud Voice to Salesforce lets your team place and answer calls straight from the CRM (Customer Relationship Management) system, with each Salesforce user tied to their own extension. Setting up the connection is a round trip: you first collect a redirect address from Cloud Voice, register an app in Salesforce to obtain OAuth credentials, hand those credentials back to Cloud Voice to authorize the link, and finally map Salesforce users to extensions.

You must sign in to Salesforce as a system administrator. Only an administrator on the Salesforce account can turn on this integration.

Step 1. Copy the redirect address from Cloud Voice

Section titled “Step 1. Copy the redirect address from Cloud Voice”
  1. Sign in to the Cloud Voice web portal and open Integrations > CRM.

  2. Choose Salesforce.

    Cloud Voice, the CRM integration page with Salesforce selected

  3. Under Network, pick the Homepage URL you want to use, then record the Authorized Redirect URI (the web address Salesforce returns the user to after they approve the connection). You’ll paste this value into Salesforce in the next step.

    The Authorized Redirect URI shown for the selected homepage URL

Step 2. Register and configure an app in Salesforce

Section titled “Step 2. Register and configure an app in Salesforce”
  1. Sign in to Salesforce.

  2. In the top-right corner, click the gear icon and choose Setup to open the Setup Home page.

    The Salesforce settings menu with the Setup option

  3. In the left navigation, go to PLATFORM TOOLS > Apps > App Manager.

  4. At the top-right of the App Manager page, click New External Client App.

    Creating a new external client app in Salesforce App Manager

    a. In the Basic Information section, fill in the required fields and add any others you need:

    Cloud Voice, the basic information fields for the external client app

    • External Client App Name: A name that helps you recognize the app later.

    • Contact Email: A contact email address.

    • Distribution State: Leave the default value.

    b. In the API (Application Programming Interface) (Enable OAuth Settings) section, select Enable OAuth, then complete the configuration described below.

    Cloud Voice, the OAuth settings for the external client app

    SettingWhat to enter
    App Settings section
    Callback URLPaste the Authorized Redirect URI you copied from the Cloud Voice portal in Step 1.
    OAuth ScopesMove the following permissions from Available OAuth Scopes to Selected OAuth Scopes:
    • Full access (full)
    • Manage user data via APIs (api)
    • Manage user data via Web browsers (web)
    • Access unique user identifiers (openid)
    • Access the identity URL service (id, profile, email, address, phone)
    • Perform requests at any time (refresh_token, offline_access)
    Security section
    Require Proof Key for Code Exchange (PKCE) extension for Supported Authorization FlowsClear this checkbox.

    c. Click Save at the bottom of the page. Salesforce confirms the app was created.

  5. Check the app’s authorization policy. New apps are usually set to All users can self-authorize, which grants access to every associated Salesforce user in the organization. If the app list shows a different setting, correct it:

    Cloud Voice, editing policies for the external client app

    a. Go to Apps > External Client App > External Client App Manager, click the dropdown arrow next to your new app, and choose Edit Policies. b. Scroll to OAuth Policies and set Permitted Users to All users may self-authorize.

    The Permitted Users setting under OAuth Policies

    c. Click Save.

  6. Retrieve the app’s authorization credentials, which you’ll enter into Cloud Voice later.

    Cloud Voice, opening the settings for the external client app

    a. Go to Apps > External Client App > External Client App Manager, click the dropdown arrow next to your new app, and choose Edit Settings. b. In the OAuth Settings section, get the API credentials:

    i. Click Consumer Key and Secret. Salesforce emails a verification code to your inbox.

    ![Opening the consumer key and secret details](/images/pbx/manage-consumer-details.png)

    ii. Enter the code and click Verify.

    ![Entering the Salesforce verification code](/images/pbx/sf-verif-code.png)

    iii. In the Consumer Details section, record the Consumer Key and Consumer Secret.

    <!-- TODO(screenshot): replace: vendor branding ("Yeastar") visible. Recapture from Cloud Voice. -->
    ![Cloud Voice, the Consumer Key and Consumer Secret values](/images/pbx/copy-sf-key.png)
    :::caution
    Treat the Consumer Key and especially the Consumer Secret like a password. Anyone who has them can reach the data in your Salesforce account. Do not paste them into chat, tickets, or shared documents, and only enter them on the trusted Cloud Voice portal in Step 3.
    :::

Step 3. Authorize Cloud Voice against Salesforce

Section titled “Step 3. Authorize Cloud Voice against Salesforce”
  1. Sign in to the Cloud Voice web portal and open Integrations > CRM.

  2. Choose Salesforce.

  3. In the Authorization section, enter the credentials from Salesforce:

    The authorization fields for consumer key and consumer secret in Cloud Voice

    • Consumer Key: Paste the Salesforce Consumer Key.
    • Consumer Secret: Paste the Salesforce Consumer Secret.
  4. Click Save. A new browser tab opens asking you to grant access to your Salesforce data.

    The Salesforce prompt requesting data access permission

  5. Click Allow to let Cloud Voice access your CRM data. You’re returned to the Cloud Voice configuration page, where a pop-up shows the result of the authorization.

    The authorization result confirmation in Cloud Voice

  6. Click OK. When the Status field reads Connected, the Salesforce integration is active.

Step 4. Map Salesforce users to extensions

Section titled “Step 4. Map Salesforce users to extensions”
  1. On the CRM integration page, click the refresh icon next to Salesforce User to pull in the current list of Salesforce users.

    Synchronizing the Salesforce user list in Cloud Voice

  2. Link each Salesforce user to an extension. Choose the method that fits how email addresses are set up in your organization.

    Automatic matching

    If users have the same email address on both their Salesforce account and their extension, Cloud Voice can pair them for you:

    Automatically associating Salesforce users with extensions

    a. Click Associate Automatically. b. In the pop-up, click OK.

    Manual matching

    If a user’s Salesforce email differs from their extension email, pair them by hand:

    Cloud Voice, manually associating a Salesforce user with an extension

    a. In the Extension / Extension Group field next to the Salesforce user, click the edit icon. b. In the pop-up, select the extension(s) for that user. c. Click Confirm.

  3. Click Save.

  • Cloud Voice and Salesforce CRM are now connected.
  • Salesforce users can place and receive calls through their extensions.