Salesforce

Sync data between Saleforce & Regal Voice

This guide describes how to sync your Salesforce Leads, Contacts, Person Accounts and/or Opportunities to Regal Voice, and how to bring Regal Voice events into your Salesforce contact profile's as a custom Regal Voice event.

The Regal Voice integration currently only works with standard salesforce objects. If you have a use case for custom objects, please email [email protected]

Install the Regal Voice Salesforce app & Assign permissions

Step 1: Email [email protected] to get a link to the Regal Voice Salesforce app.

Step 2: Click the link to install the app. It will ask you to login to Salesforce. Then select Install for Admins Only, and check the box acknowledging you are installing a 3rd Party App, and click Install.

Agree to Install 3rd Party AppAgree to Install 3rd Party App

Agree to Install 3rd Party App

Step 3: Check "Yes, grant access to these third-party web sites, then Continue.

Step 4: Once installed, click Done.

Step 5: Assign RegalVoice Permission set to users who will use the app. There are two permission sets available:

  • For Admins: Users assigned to this permission set can create and edit configuration objects such as Regal Voice Configuration, Attribute mapping and Object field mapping config. They also have access to creating, viewing and editing for all other objects (Contact, Lead, Account, etc.)

  • For Managers: Users with this permission set can see config objects, but not create or edit them. Other objects are available for creation, viewing and editing

    • To add the desired permission set to the user, within Setup, you need to go to Setup > Permission Sets > Select Regal Voice Integration Admin > Manage Assignments. Click Add Assignments button and select users which will need Admin permissions. Start by giving Admin permissions to yourself (select your user, click Assign, then Done). You can later assign the requisite permissions to others.
Assign PermissionsAssign Permissions

Assign Permissions

Configure objects

Step 1: Click into the apps, and search for Regal Voice.

Search for Regal Voice appSearch for Regal Voice app

Search for Regal Voice app

Step 2: Click the Regal Voice Configurations tab, then click New.

Regal Voice Configuration

This object stores data for user authorization and for more precise synchronization of objects from Salesforce to RegalVoice

Object fields:

  • Regal Voice Configuration Name - name it something descriptive like "Regal Voice Integration Settings"
  • API Key - email [email protected] to get your API key
  • Is Active - check to set the integration active
  • All profiles are subscribed to {{channel}} - depending on this field, objects that are created in RegalVoice will be created with TRUE or FALSE parameters for subscribing to voice, sms, email channels
  • Create a new contact if no matches found - check this box if you want new contacts created in Regal Voice that are not already in Salesforce to create a new matching contact in Salesforce
  • Update contact fields from Regal Voice - check this box if you want updates to contact fields in Regal Voice to update the equivalent fields in your Salesforce contacts/person accounts
Regal Voice ConfigurationRegal Voice Configuration

Regal Voice Configuration

Additionally, the “Regal Voice Configuration” object, allows you to choose which Regal Voice events you'd like to save and display on the Contact or Person Account profile in Salesforce.

Regal Voice EventsRegal Voice Events

Regal Voice Events

Object Field Mapping Configuration

Step 3: Under the Object field mapping config, click New and add a mapping for each object you will want to map to Regal Voice contacts. For example, if your prospective customers start off as Leads and then at some point convert to Contacts, you should create a mapping for both Leads and Contacts.

Using this object, you can specify which objects from Salesforce will be synced with Regal Voice. Regal Voice supports Lead, Contacts and Person Accounts.

Object fields:

  • Object field mapping config name - name it something descriptive like "Lead mapping" or "Contact mapping", etc.
  • Object type - select Lead, Contact or Person Account
  • Is Active - whether synchronization is active or inactive for this object type
  • Configuration - select Regal Voice
Object MappingObject Mapping

Object Mapping

Attribute Mapping

This object stores the name of the object fields in Salesforce and the name of the object fields from the RegalVoice side for correct mapping and creating objects.

Only these fields in the Salesforce objects will be passed when creating a contact on the RegalVoice side.
Only when these fields are updated, the contact will be updated on the RegalVoice side

Objects fields:

  • Regal Voice attribute name
  • Salesforce field API name - to find the API name of a field, go to:
  • Object field mapping config - select Lead, Contact or Person Account
  • Select Regal Voice Configuration

Step 4: Create a mapping for each field you want to map to Regal Voice.

Basic fields to map include:

Salesforce Field

Regal Voice Attribute

Notes

Phone

traits.phone

required to create a contact in Regal Voice

Email

traits.email

FirstName

traits.firstName

LastName

traits.lastName

Attribute MappingsAttribute Mappings

Attribute Mappings

For the remaining custom fields you want to map from Salesforce to Regal Voice, the “Regal Voice attribute name” must start with “traits.” For example, if you want to the Salesforce field "Lead Source" to push through to the Regal Voice profile, the Regal Voice attribute name can be "traits.leadSource."

Attribute MappingAttribute Mapping

Attribute Mapping

For some fields you will want to create two mappings - one for each object type. For example, if your prospective customers start off as Leads and then at some point convert to Contacts, you should create field mappings for both Leads and Contacts. Usually Leads have a more limited set of fields so you just have to map those that relevant for each object.

📘

Salesforce Field/API names

To find API names of the fields of an object in Salesforce, go to Setup by clicking on the gear icon in the upper right corner of the page. Then select the Object Manager tab, open the object of interest, and select Fields & Relationships. Here you can see all fields with their Salesforce Field name.

Where to Find Salesforce Field NamesWhere to Find Salesforce Field Names

Where to Find Salesforce Field Names

Mapping Opt In information from a field

If all of your Salesforce Leads or Contacts are opted in to sms and voice, and you want Regal to automatically opt them in as well, then you don't need to map any fields for optin. Instead just select "All profiles are subscribed to {{channel}}" in the Regal Voice configuration.

If, however, not all Leads or Contacts are subscribed, then you need to map fields from Saleforce to Regal Voice for optin. To do so, the field in Salesforce must be a checkbox. Then you need to create an Attribute mapping, where the “Regal Voice attribute name” is “optIn.voice.subscribed” or “optIn.sms.subscribed." See example below.

Mapping Opt InMapping Opt In

Mapping Opt In

Creating a contact in Regal Voice

Now that you've mapped fields from your Lead, Contact and/or Person Accounts, when you create or update a Lead, Contact or Person Account in Salesforce, a contact will be created or updated in your Regal Voice account. During synchronization, only those fields of the object that were added to “Attribute mapping” and for which the “Object field mapping config” object was created will be transferred.

The link to the relevant Salesforce profile will automatically be available in Regal Voice in the attribute called "salesforceLink." Additionally, the attribute “External ID” will be filled by default with the phone number for a Lead. If a Lead is converted into a Contact or a Person Account, then the contact in the Regal Voice app is updated and the Salesforce ID will be written in the “External ID” attribute.

Contact in Regal VoiceContact in Regal Voice

Contact in Regal Voice

Salesforce Opportunities into Regal Voice

Created

When an opportunity is created in Salesforce, an event called Salesforce Opportunity Created (along with all of its properties) is sent to Regal Voice and attached to the relevant contact profile in Regal Voice.

Updated

When a property of an opportunity is updated in Salesforce, an event called Salesforce Opportunity Updates (along with all of its properties) is sent to Regal Voice and attached to the relevant contact profile in Regal Voice.

Stage Change

Finally when an opportunity is moved to each stage in Salesforce, an event called Stage {{Name of Stage}} Reached (along with all of its properties) is sent to Regal Voice and attached to the relevant contact profile in Regal Voice.

Regal Voice events on Salesforce contact profile

As part of the integration, Regal Voice publishes the following Regal Voice events back to Salesforce so that they appear on a Contact or Person Account's profile in Salesforce.

Events include:

  • Call completed
  • Call recording link available
  • Contact subscribed
  • Contact unsubscribed
  • Contact assigned to experiment
  • SMS conversation completed
  • SMS message sent
  • SMS message received

Step 1: To get started, if you haven't already, select the Events you would like to track. This can be done in the Regal Voice Configuration object.

Step 2: In order for the Salesforce organization to exchange data with third-party services, you need to go to Setup, then search Sites.

Add Site Domain NameAdd Site Domain Name

Add Site Domain Name

Step 3: Add your Site by clicking the New button in the bottom section. Fill in the required Site Label field with the name of your company (e.g., Triangle Academy) and click the checkbox to Activate the site, then Save.

Add SiteAdd Site

Add Site

Step 4: When you click save, you'll be on the site information page. Click Public Access Settings.

Site Info PageSite Info Page

Site Info Page

Step 5: Hover over Enabled Apex Class Access, then click Edit.

Public Access SettingsPublic Access Settings

Public Access Settings

Step 6: In the list that appears, add from the list an Apex class named regal_voice.RegalVoiceWebhookService and click Save.

Enable Regal Voice Events Component ControllerEnable Regal Voice Events Component Controller

Enable Regal Voice Events Component Controller

Step 7: On the left nav, click Custom URLs, and copy the Domain Name.

Domain NameDomain Name

Domain Name

Step 8: Open your Regal Voice account, go to Integrations > Reporting Webhooks > New Webhook, and paste the site previously copied from Salesforce into the Webhook Endpoint input in the following format: https://yourDomain/services/apexrest/regal_voice/webhookListener and click Save.

For example:
https://triangleacademy-developer-edition.na213.force.com/services/apexrest/regal_voice/webhookListener

No API Key is needed.

Add Webhook Endpoint in Regal VoiceAdd Webhook Endpoint in Regal Voice

Add Webhook Endpoint in Regal Voice

Step 9: Now that you can receive Regal Voice events into Salesforce, the final step is to add a component to your Contact or Person Account pages to display the events. To do so, open any Contact and in the upper right corner click on the gear icon and select Edit Page.

Edit PageEdit Page

Edit Page

Step 10: Scroll down in the components on the left, and drag the regalVoiceEventsComponent to the place on the profile you want Regal Voice events to appear, and click Save. (If this is your first time customizing this page in Salesforce you'll be prompted to go through an Activation flow. Keep clicking through until it's complete, then click Save.)

To see a Regal Voice event appear on a contact's profile, from the agent desktop, initiate an outbound sms to a contact. You don't need to actually text anything, just complete the Conversation Summary, and you should see that event appear on the Contact in Salesforce.

Example card below for a Call Completed event:

Backfilling already existing contacts

If you'd like to backfill existing Salesforce contacts into Regal Voice, download your contacts and properties from Salesforce and share the file in a secure way (for example, you can password protect the excel file then email it [email protected] and share the password over slack).

If you have any questions about how to install the Regal Voice Salesforce app or which contact properties are important to send to Regal Voice, reach out to [email protected]


Did this page help you?