Basic Salesforce Integration with Phone System

This article is intended to provide a walkthrough on connecting to Salesforce through the phone system.

Updated at July 27th, 2024

Process Prerequisites

  • Your Salesforce account must have REST API Enabled. Check here for the Salesforce editions in which the API is available.
  • Salesforce accounts with Person Accounts enabled are not supported. 
  • More information on this setup can be found here

Companies on the Lite plan with bvoip will need assistance from support to configure the backend portion.

Setting up Salesforce

  1. Login to your Salesforce Account.
  2. Click on the Gear icon.
  3. Select the Setup option.
  4. Go to the section Platform Tools.
  5. Select Apps.
  6. Choose App Manager.
  7. Click the New Connected App button.
  8. Enter an App Name and a Contact Email.
  9. Click the Save button.
  10. Scroll down to the API (Enable OAuth Settings) section.
  11. Enable the checkbox Enable OAuth Settings box.
  12. For the Callback URL field, enter the URL used to access the phone system management console, appending /api/oauth2crm to it.
    1. E.x. https://example.bvoip.net/api/oauth2crm
       
  13. Grant the permissions below:
    1. Access and manage your data (API).
    2. Access your basic information.
    3. Access to your unique identifier (OpenID).
    4. Full Access.
    5. Perform requests on your behalf at any time.
    6. Provide access to your data via the Web.
  14. Click the Save button.
  15. Select Apps.
  16. Go to App manager.
  17. Find your App from the list.
  18. Click View

  19. Scroll down to the API section.
  20. Copy the Consumer Key.
  21. Copy the Consumer Secret
  22. Click on Manage at the top.
  23. Go to Edit Policies.
  24. Scroll down to the OAuth policies section.
  25. Set Permitted Users to All Users May Self-Authorize from the drop-down.
  26. Press the Save button.

Call Journaling

If external calls need to be reported to Salesforce, populate the Dedicated Extension field on the User Entity with the Agent Extension Number. This way the phone system can map the Extension Number of the agent that received the call to the Salesforce User.

  1. Click on the Gear icon.
  2. Click on Setup.
  3. Click on the Administration Users section.
  4. Select Users.
  5. Open the Users for whom you need to report calls.
  6. Click Edit.
  7. Populate the Extension field with the Extension Number.
  8. Click the Save button.

Phone System CRM Server-side Configuration

Contact Matching Strategy

Salesforce requires that phone number lookup is performed using the last 4 or 7 digits. If the integration queries the CRM using a different number of digits, Salesforce will not return any data.

  1. Go to the phone system console.
  2. Go to Extensions > Contacts
  3. Select Options.
  4. Set the Match at Least X Number of Characters to either 4 or 7

salesforce.png
 

Contact Creation

  1. Login to the phone system backend using the Unlock phone system console button on the dashboard.
  2. Click Settings.
  3. Select CRM Integration
  4. Check the Enable Contact Creation checkbox. This option allows the creation of New Contacts in the CRM when a call is received from an unknown number that not found in both the phone system and the CRM.
  5. Configure the desired Contact Creation parameters.

General Settings

  1. Choose the Server Side tab.
  2. In the Select a CRM Solution drop-down, select SalesforceV2.
  3. In the Consumer Key field, paste the Consumer Key.
  4. In the Consumer Secret field, paste the Consumer Secret.
  5. Click the Authorize button to start the Authorization process.
  6. Grant access to the phone system, and the Refresh Token will be shown under the Authorize button.
     

Call Journaling

  1. Check the Enable Call Journaling checkbox to report External Calls to the CRM. 
  2. Configure the Call Journaling parameters.  
    1. Call Subject: The subject of the call.
    2. Answered Inbound Call: Description for answered Inbound Calls.
    3. Missed Call: Description for missed calls.
    4. Answered Outbound Call: Description for answered Outbound Calls.
    5. Unanswered Outbound Call: Description for unanswered Outbound Calls.
  3. Set the Call Journaling parameter variables. Variables are specified between [], for example the external number is specified as [Number].