Salesforce Integration

Prerequisites

With Heymarket's Salesforce integration, you can now send/receive text messages in your Salesforce Organization! To set this up, you must have the following:

  • User setting up integration will need to be an administrator in both Heymarket and Salesforce.
  • Your Salesforce license edition must be at the Professional with API access or Enterprise. 
  • The org should have a custom domain and my domain should be enabled and deployed to users.

Version notes: 

  • Attaching videos and using a non-E.164 field for phone numbers are not supported with this current integration version.

Installing the App

  •  After logging into the Org, your screen will be redirected to the App installation page:

 

  • Select “Install for ADMINS only” and click install. Correct permissions for non-admin users will be given by ‘Setup” screen later:

 

  • Grant the access to use third-party access and click continue and it will take a few minutes to install the app and it will be in App Launcher.

 


Initial Setup

Designated Administrator

A designated administrator will be a Salesforce user who is usually the system admin of Salesforce org, and will be responsible for managing the Heymarket app, and usually manages other installed apps from AppExchange. Please be informed that designated administrator for Heymarket app will be able to perform critical setup functions like:

  • Managing the overall integration between Salesforce and Heymarket, with required access to Heymarket API keys and admin functions.
  • Mapping Salesforce Users (Sales/Service and other personas) to Heymarket users. This process auto allocates the required Salesforce permissions for Heymarket app.
  • This step can create/invite new Users in Heymarket as well.
  • Decide among multiple phone fields, which phone field is default to be used for communication in Contact, Lead objects.
  • Map which fields in Heymarket will be synced against fields on Salesforce objects like Contact, Lead. Designated Admin can create new fields in Heymarket as required, based on the matching Salesforce fields.
  • Setup and trigger a bi-directional sync behavior and a cron job which will keep Heymarket Contacts in Sync with Salesforce objects.
  • Monitor status of sync, and various logs.

Designated administrator should assign permission set named “Heymarket Admin” to themselves. To start assigning permission sets:

  1. Go to Salesforce Setup:

  1. Search for “Permission Sets” in the quick find, and click on the “Permission Sets” menu item under “Users”(as shown in the pic below).

 

  1. In the next screen click “Heymarket Admin” Permission set.
  2. On “Heymarket Admin” permissionset view, hit “Manage Assignments” button:

  1. On the next screen, hit “Add Assignments” button to assign required users in capacity of “Heymarket Administrator”.

 

Alternatively, you can go to a single Salesforce admin user and give assign them the “Heymarket Admin” permission set as described in the Salesforce Help Article: https://help.salesforce.com/articleView?id=perm_sets_assigning.htm&type=5

 


Getting a Heymarket API Key

  • Login to Heymarket.com and go to Admin > Integrations > Manage on app.heymarket.com:

 

 

  • Hit “Generate API Key” yellow button:

 

  • Copy API Key in the clipboard, as explained in the screenshot below:

 

 


Adding the Heymarket API Key to Salesforce

  • Login to Salesforce, and launch “Heymarket” app via App Launcher: 

 

  • Go to “Heymarket Setup” Tab, and enter the copied API Key here. Hit the “Verify” button for the next steps:

 


Default Inbox Selection

  • Select a default “Inbox” for further usage in Chat, and hit “Save” button for next steps:

 


User Mapping

Please notice the “yellow” checkbox before “Heymarket API” in the setup screen. This means this step is completed. The next screen auto presented will be “User Mapping”. This screen

  • Maps which users in Salesforce will act as which Heymarket user.
  • Enables required custom permissions/permission sets to let the given Salesforce user use the Chat widget and other features.

The system will purpose a user mapping on its own, based on the match between Salesforce and Heymarket user emails. You can change any mapping, or add more user mappings via the “Add More” button at the bottom.

  • Once done with mapping users, hit the “Save” button to persist your changes:

 

  • You can add more users by clicking on the Add More link:

 

You can also Invite or create a user for Heymarket from Salesforce.

If the Salesforce user doesn’t have any Heymarket user then just click on invite link. It will create a user on Heymarket and automatically map it to the Salesforce user:

Please Note: All required App permissions are auto assigned to the mapped Salesforce users.

 


Sync Configuration

In this screen, you need to setup the details to enable sync between salesforce and Heymarket.

  • If you enable sync for Contact then the Contacts from salesforce will sync with Heymarket and same goes for Lead.
  • The Auto Create decides that, whenever a new Heymarket Contact comes towards the salesforce then what type of Record will be created on salesforce side. You can choose Contact OR Lead OR None.
  • If you choose none, then new/unknown Contact from Heymarket will not be created on the Salesforce side.

  

 

Please refer to the descriptions based on number for the picture below:

  1. Which Contacts are going to be synced with Heymarket.
  • Sync All, will sync all the Contacts from salesforce to Heymarket.
  • Sync Listview, will sync the Contact which comes under a particular listview filter.
  1. Select a list view, which will allow only particular set of salesforce Contacts going to be synced (based on list view filter).
  2. Delete behaviour
  • If this checkbox is marked, then Contacts which will be deleted from salesforce will also be deleted from Heymarket (whenever sync happens)
  • If this checkbox is left blank, then Contacts which will be deleted from salesforce will not be having any effect on Heymarket.
  1. Which Leads are going to be synced with Heymarket.
  • Sync All, will sync all the Leads from Salesforce to Heymarket.
  • Sync Listview, will sync the Lead which comes under a particular listview filter.
  1. Select a list view, which will allow only particular set of Salesforce Leads going to be synced (based on list view filter).
  2. Delete behavior
  • If this checkbox is marked, then Leads which will be deleted from Salesforce will also be deleted from Heymarket (whenever sync happens)
  • If this checkbox is left blank, then Leads which will be deleted from Salesforce will not be having any effect on Heymarket.
  1. Auto-create
  • If none selected, No new/unknown record will be created from Heymarket to Salesforce.
  • If Contact selected, New/unknown record will be created as Contact on Salesforce from Heymarket.
  • If Lead selected, New/unknown record will be created as Lead on Salesforce from Heymarket.

 

 


Contact Phone Field

A Contact has multiple phone number fields. On hitting “Default Phone Field” option on the left sidebar, system will present which phone field must be used with Heymarket for Chatting and Syncing Contacts.

Note: This field can be changed later on, but it’s not recommended to change it.

 


Contact Field Mapping

Hit “Field Mapping” as the next step to configure which Salesforce Contact’s fields are mapped with Heymarket Contact’s fields. This mapping is used when syncing Contacts between the two systems.

  • A few fields like First name, last name, email, and phone are hard mapped, i.e. they can’t be changed.
  • The system offers flexibility to map any number of additional custom/standard salesforce fields, with any other custom fields in Heymarket’s Contact. Hit the “Add More” button to start mapping new custom fields.
  • Please note REFERENCE, DATE, DATETIME, TIME, ADDRESS and FORMULA fields can’t be mapped with Heymarket. Address fields is a compound field, system allows mapping individual parts of ADDRESS field like Street, State etc.  

 

You can also create a custom field on Heymarket from Salesforce:

 


Required Field Defaults (Optional)

This screen and navigation item will dynamically appear in case there are additional required fields on Contact object, apart from the LastName. This gives background syncing a way to put a sensible default for the required field.  

In the example screenshot below, Languages field is marked required on Contact Object.

 


Lead’s Phone Field

A Lead has multiple phone number fields. On hitting “Default Phone Field” option on the left sidebar, system will present which phone field must be used with Heymarket for Chatting and Syncing Leads.

Note: This field can be changed later on, but it’s not recommended to change it.

 

 


Lead Field Mapping

Hit “Field Mapping” as the next step to configure which Salesforce Lead’s fields are mapped with Heymarket Contact’s fields. This mapping is used when syncing records between the two systems.

  • A few fields like First name, last name, email, and phone are hard mapped, i.e. they can’t be changed.
  • The system offers flexibility to map any number of additional custom/standard salesforce fields, with any other custom fields in Heymarket’s Contact. Hit the “Add More” button to start mapping new custom fields.
  • Please note REFERENCE, DATE, DATETIME, TIME, ADDRESS and FORMULA fields can’t be mapped with Heymarket. Address fields is a compound field, system allows mapping individual parts of ADDRESS field like Street, State etc.  

 

You can also create a custom field on Heymarket from Salesforce: 

 


Required Field Defaults (OPTIONAL)

This screen and navigation item will dynamically appear in case there are additional required fields on Lead object. This gives background syncing a way to put a sensible default for the required field.  

In the example screenshot below, Company field is marked required on Lead Object:

 


Sync and Status

After setting up all the details in sync configuration, you can see a new tab called ‘Sync’. This tab will allow you to sync data between salesforce and Heymarket (Based on the sync configuration).

Please take a look at the picture below.

  1. This is the Sync tab. After clicking on this tab you will see the ‘On-Demand Sync’ page.
  2. Start sync, when you click on the start sync button, it will start to sync the data between salesforce and Heymarket.
  3. You can schedule a sync to be executed at every next 30 minute. For ex. Current time is  12:15 and you just scheduled a sync, then it will schedule the next sync at 12:30. 

 

 


Understanding the On-Demand Sync

You can see a lot of things available on this page and you may get confused after seeing this screen. Let us help you with this screen.

 

4.     This is a spinner which shows you progress on current sync. If this is not visible then there is no current progress.

5.     These are the Status of all the sync details which are in progress or already progressed.

6.     This will show you the details of the sync between Heymarket and salesforce.

6.1.     This is the count which will show you the number of records being updated, created, deleted in the sync process.

6.2.     This will show you the last sync time (if currently not in progress) or sync started time(if in progress).    

7.     Scheduled Sync will be shown here, which will show you the status of next sync scheduled time (If any) or it will show you the

        no scheduled message.

8.     After you click on the start sync button, you are allowed to cancel the sync while in progress (If needed). You can click the cancel

        Sync button which will stop the scheduler instantly.

Note:-  We cannot guarantee the cancellation of the sync (if already started), because  the UI changes may take 2 or 3 seconds to update. There may be a case that the data is too small and it will be synced before you cancel it. We cannot roll back the changes.

 

 

 

 

 

10.     After you click on the start sync button, you are allowed cancel the sync while in progress (If needed). You can click the cancel

          Sync button which will stop the scheduler instantly.

11.    When you click on cancel sync button, if the syncing was stopped successfully then you will see a green toast here.

12.    In case, you don’t want to schedule the sync for the schedule time, then just hit on cancel button and it will abort all the

          schedulers which was scheduled.

13.    You can see all the previously synced details upon click on the history button on the right side.

 

 


Contact Configurations

  • Next few sections detail steps to tweak Salesforce Contact’s layouts, buttons, etc to enable Heymarket Chat.
  • A few steps could vary especially if your Contact layouts/pages are different from typical Salesforce defaults.
  • Please make sure you take care of your org’s permission and security model while exposing Heymarket Chat to various users in the Salesforce Org.

 


“Heymarket Sync” button on Contact List View

This button will sync a single Salesforce Contact with Heymarket. Please go to Setup > Object Manager > Contact > Search Layouts. Add “Heymarket Sync” button as shown below, and hit “Save” button.

 

After the above configuration, On any Contact list view this button will appear as shown below:

 


“Heymarket Sync” button on Contact Detail Page

Please go to Setup > Object Manager > Contact > “Page Layouts” in Contact setup zone, and add “Heymarket Sync” button, on the layout as shown in the screenshot below. You can pick the correct Contact page layout for the required set of Heymarket users.

 

After the above configuration, On any Contact detail view this button will appear as shown below:

 

 

 


Adding Chat Widget to Contact Layout

Step 1 - Go to Lightning Page Builder

Edit the Contact page, as indicated in the screenshot below. Or, you can edit the page via Setup > Object Manager > Contact > Lightning Record Pages as well.

 


Step 2: Add “Tabs” Component

This will create a real estate for “Heymarket Chat” component to sit in.  This is optional if you have LEFT sidebar or another similar area available in page layout, the same could be used for drag-drop of Heymarket Chat component.

 

Please check this video for a quick overview for right sidebar setup: http://g.recordit.co/kF6Y3HDKmK.gif  

 


Step 3: Add Heymarket Chat Component

 

 


Adding Chat History to Contact Layout

Step 1 - Go to Lightning Page Builder

Edit the Contact page, as indicated in the screenshot below. Or, you can edit the page via Setup > Object Manager > Contact > Lightning Record Pages as well.

 


Step 2: Add “Tabs” Component

This will create a real estate for “Chat History” component to sit in.  This is optional if you have LEFT sidebar or another similar area available in page layout, the same could be used for drag-drop of Message History component.

 

Please check this video for a quick overview for right sidebar setup: http://g.recordit.co/6dReyEvQgd.gif 

 

 


Step 3: Add Message History Component 

 


Lead Configurations

  • Next few sections detail steps to tweak Salesforce Lead’s layouts, buttons, etc to enable Heymarket Chat.
  • A few steps could vary especially if your Lead layouts/pages are different from typical Salesforce defaults.
  • Please make sure you take care of your org’s permission and security model while exposing Heymarket Chat to various users in the Salesforce Org.

 


“Heymarket Sync” button on Lead List View

This button will sync a single Salesforce Lead with Heymarket. Please go to Setup > Object Manager > Lead > Search Layouts. Edit “List View” layout. Add “Heymarket Sync” button as shown below, and hit “Save” button.

 

 

After the above configuration, On any Lead list view this button will appear as shown below:

  


“Heymarket Sync” button on Lead Detail Page 

Please go to Setup > Object Manager > Lead > “Page Layouts” in Lead setup zone, and add “Heymarket Sync” button, on the layout as shown in the screenshot below. You can pick the correct Lead page layout for the required set of Heymarket users.

 

 

After the above configuration, On any Lead detail view this button will appear as shown below:

  


Adding Chat Widget to Lead Layout

Step 1 - Go to Lightning Page Builder

Edit the Lead page, as indicated in the screenshot below. Or, you can edit the page via Setup > Object Manager > Lead > Lightning Record Pages as well.

 


Step 2: Add “Tabs” Component

This will create a real estate for “Heymarket Chat” component to sit in.  This is optional if you have LEFT sidebar or another similar area available in page layout, the same could be used for drag-drop of Heymarket Chat component.

 

Please check this video for a quick overview for right sidebar setup: https://www.screencast.com/t/jCj3ce8eUTH  

 

 


Step 3: Add Heymarket Chat Component

 

 

 


Adding Chat History to Lead Layout

Step 1 - Go to Lightning Page Builder

Edit the Lead page, as indicated in the screenshot below. Or, you can edit the page via Setup > Object Manager > Lead > Lightning Record Pages as well.

 


Step 2: Add “Tabs” Component

This will create a real estate for “Chat History” component to sit in.  This is optional if you have LEFT sidebar or another similar area available in page layout, the same could be used for drag-drop of Message History component.

 

Please check this video for a quick overview for right sidebar setup: http://g.recordit.co/bdtTBGC35E.gif 

 

 


Step 3: Add Message History Component

 

 


Utility Bar Configuration

Heymarket App comes with a handy Utility bar item called “Conversations”, it gives a handy way to start SMS based conversations with any Salesforce Contact. This utility bar comes pre-configured with the Heymarket App, and appears as follows:

 

 


Add Utility bar to your Lightning Apps

Heymarket ships a component called “Conversations”, it can be added as a Utility bar item to any other Lightning app as well. Here are the steps for the same.

Please note: if you are using the Heymarket App, the utility bar configuration is not needed.

  

On selecting the “Conversations” widget above, fill in some details as shown below:

 

 

 


FAQ

Q. Can’t find a field in Heymarket for a required Salesforce Contact field?

A: The system allows mapping of any Heymarket Contact’s custom field to those in Salesforce Contact(both standard and custom). In case you don’t see the required custom field on Heymarket side, please create a new one by visiting here: https://app.heymarket.com/admin/fields.

Post that, check out “Contact Field Mapping” section above to map the newly created Heymarket field with one in Salesforce Contact.

The same goes for the other way as well; you can create a new Custom field or use existing one on Salesforce Contact, and map it out to any custom field on Heymarket Contact.

 


Q. Which Salesforce users can use Heymarket App? 

A: User Mapping (described above) in “Heymarket Administration” tab is an essential step before any Salesforce user consumes the application. Please make sure all Salesforce users planning to use Heymarket Integration are mapped correctly in the “User Mapping” screen. Mapping a Salesforce user via our screen assigns required permission sets with access to “Heymarket App” and other chat related configurations.

 To have more fine control on who can see the Heymarket Chat features, you can configure Contact record pages to be visible to certain end-user profiles.

 


Q. Can I use my Heymarket Templates in Salesforce?

A: Yes, you can. Hitting the templates icon (shown below) loads all your latest/configured templates in Heymarket.

 

 


Q. I am not getting desktop notifications for chats in Salesforce?

A: There could be a few reasons,

  1. Disable the Do not disturb in Mac.
  2. Enable the “Notifications” setting from the browser for your salesforce domain.  For example, this is how it comes in Chrome for macOS.

 

 


Q. Which Inboxes will I see in Salesforce?

A: All the inboxes visible to the current logged in user in the configured team. The screenshot below of chat widget on Contact shows the inbox selector.

Please Note: In case some inboxes are not visible to Heymarket User, they will not appear in Salesforce as well. You need to configure access to inboxes in Heymarket administration.

 

Q. What gets synced on pushing a Contact from Salesforce > Heymarket?

A: The system pushes the Salesforce Contact into Heymaket based on two key factors i.e.

  1. Default Phone Field: This is configured in Heymarket Administration, and will be the KEY to decide which Heymarket Contact matches the one in Salesforce. The system will try finding a matching Contact in Heymarket based on the Default phone field only.
  2. Field mappings: Apart from standard fields first name, last name, email and mobile fields in Heymarket, any other standard/custom fields mapped in “Heymarket Administration” will be pushed out to Heymarket as part of the sync.

 

Q. How can I uninstall the app?

A: Please check this video for details: https://www.screencast.com/t/GbiOJqvir6

 

Feedback

In case you run into any issues or queries. Please drop it here:  salesforce@heymarket.com 

 

Have more questions? Submit a request