Salesforce
Our native Salesforce integration allows you to synchronize any customer information and customer feedback stored in your Salesforce instance.
You can configure which objects to sync, and in what way. The integration periodically checks for new records in your account and sends them to EnjoyHQ.
Installation
In order to install the Salesforce application you have to have administrator privileges or you need to ask the administrator of your instance.
The installation consists of two parts.
Installing the Salesforce application
Follow THIS LINK to initiate installation of the Salesforce application. Current version is 1.1
Activate the option "install for all users" so that the integration settings can be managed by anyone after installation.
Confirm that you allow the application to send your user and feedback data to your EnjoyHQ account.
Once Salesforce confirms installation of the package you can move to the next step.
Connecting Salesforce and EnjoyHQ accounts
From within Salesforce, open the app launcher and select EnjoyHQ or NomNom (as that's the vendor name):
When active, navigate to the Authentication tab. From there you will find a handy link which will take you to your EnjoyHQ account where you can generate a new API key. Copy the key and input it in the form shown above.
When confirmed (as shown) you can configure what data to send to EnjoyHQ and how.
Setting up the data synchronization process
Talk to your Salesforce administrator!
Before you get started with the setup of actual data sync, it's best to plan the following:
- What data do you need? (feedback, customer attributes)
- How is it stored in Salesforce? (Is it stored in standard objects like Cases, or are any custom objects used?)
- How should it be sent to your EnjoyHQ account (do you need to send only selected customer attributes, raw feedback, etc)
At this stage is best to involve your Salesforce administrator (if that's you, reading this, hello! 👋), as they will know everything about your current setup.
Our recommended approach is to create custom objects with only the data that you need to sync to EnjoyHQ, via cross-object formulas and similar tools. While our integration supports pulling attributes of related objects, it's usually better to limit choices to improve performance and access control.
Synchronizing customer information and customer feedback
Being a CRM - Salesforce stores a lot of information about your customers. You can not only fetch data about your contacts, but also include data about their parent objects, such as accounts.
Based on our experience, we suggest creating custom objects or formula fields dedicated for synchronizing with your EnjoyHQ - this way your core objects will not be scanned as often and can be changed independently as well as you can guarantee that only the data you need is fetched and synchronized into your account. Your Salesforce admin can help you with the setup!
Once object mappings are configured, the integration will check for new or updated records in your Salesforce instance and send them to your EnjoyHQ account. You can set the schedule interval in the "Settings" tab.
Fetching customer data
Here's an example mapping of Salesforce Contacts to EnjoyHQ's Customer (User) data, which will be visible in the document's sidebar and people's tab. Just like other integrations - the data fetched from Salesforce will be merged with other data and associated with the feedback across all data sources in EnjoyHQ.
Here's an example mapping:
When creating a new mapping, it's best to tick the "is active?" checkbox. This means that after saving your mapping - the integration will fetch all existing records and send them to your EnjoyHQ account.
The UI allows you to pick the base object (in this example we use Contact) and map its attributes to EnjoyHQ user attributes. Additionally, you can select a parent object - in rows 3 and 4 we've picked couple of attributes present on the Account object, which has been set up as a parent of a Contact.
You always have to select the email field - that's how EnjoyHQ will be able to associate user data from different sources.
For company properties, we suggest prefixing all property names with "company." - that will ensure consistency in property naming.
Fetching feedback data
The most common scenario is to fetch call or task notes logged in Salesforce - these notes often contain feedback from your customers or leads.
Here's an example mapping:
When creating a new mapping, it's best to tick the "is active?" checkbox. This means that after saving your mapping - the integration will fetch all existing records and send them to your EnjoyHQ account.
The UI allows you to pick a base object (in this example we use Task) and map its attributes to EnjoyHQ document attributes. Additionally, you can select a parent object - in rows 6 we've picked the email address of associated Contact object - this will automatically associate feedback contained in the Task comment with a user in EnjoyHQ, just like the task is related to a contact in Salesforce.
You always have to select the content-body field - as that will form the content of your document.
Additionally, you can map other attributes as document's tags or properties.
Just like with User data - it will be refreshed every hour (by default) and synchronize new or updated records.
For more complicated objects you can also reference child objects, this can be useful when referencing agent notes in cases:
Select an object from "Child Objects" list and map it in a similar way to main document attributes. The comments will then appear under the main feedback content in EnjoyHQ.