Before we get started...
Salesforce integrations are notoriously complex given the vast number of possible Salesforce configurations. To address this we have made our Salesforce integration as dynamic as possible, allowing you to map the objects and fields in your specific Salesforce configuration to Hopin.
Additionally, we have recently revamped our Salesforce<>Hopin App and so if you are using the previous version, you can take a look at the guide here.
Which plans is the Hopin<>Salesforce integration currently available on?
The Salesforce integration is available on Hopin's Pro, Business and Enterprise plans.
You can find an overview of our Hopin licenses on our pricing page, feel free to contact our sales team if you'd like to discuss an upgrade.
What are the capabilities of the Hopin<>Salesforce integration?
1. Export registrations from Hopin to a Salesforce object.
2. Import registrations from the Salesforce object into Hopin's invitation system.
3. Synchronize Registration & Attendance status from Hopin to Salesforce.
4. Export custom registration Q&As.
5. Export Onsite Registrations & Attendee data.
6. Export UTM parameters to Salesforce
How often does the Hopin<>Salesforce integration sync?
The Salesforce integration syncs in real-time.
What data is being synced between Hopin<>Salesforce
We are currently syncing First Name, Last Name, Email, custom form questions, and onsite event activities between the platforms. We are actively working towards syncing the whole Registration Object (headline, website).
To configure all the screens, you will need to create the following objects in Salesforce:
1. One object to store Event Information (e.g.- Campaign).
2. One object to store Registration Information (e.g.- Lead/Contact).
3. A junction object to store Event Registration Info (e.g.- Campaign Member).
If you want to use custom objects instead of the objects that were suggested above, you need to make sure that you have 2 objects (to store Event and Registration info) and 1 junction object (to store Event registration info). Please refer to this salesforce doc to create a junction object.
Exporting and Importing registrations between Hopin and a Salesforce object
Find below what you'll need to do to enable this workflow.
1. To get started, you will need to install the Salesforce app to your Hopin Organization. You can access the app store by going to your Organization Dashboard and heading to the Apps tab. Then click on Discover More on App Store.
You can find Salesforce under the CRM category, or you can follow this link to go directly to the page. Click Install app to add the Salesforce app to your Organization.
2. Login to Salesforce when prompted.
3. Once authentication is successful click Next.
4. On the next screen you will find the various events, from both Hopin to Salesforce and from Salesforce to Hopin, please select the checkboxes based on the functionalities you require. Once selected click Next to proceed. These are the options available:
- Import Registrations: Imports registrations from salesforce to Hopin, creates a magic link and updates the magic link back in salesforce for each registration.
- Export Registrations: Exports Registrations from Hopin to Salesforce and sets their status as ‘Registered’ in salesforce once they register for the event.
- Export Custom Registrations Q&As: Exports Registrations from Hopin to Salesforce and sets their status as ‘Registered’ in salesforce and also exports the Custom Registrations Qs & As for the respective registrant if you have configured questions for your event in Hopin.
- Export Attendee status: Exports Registrations from Hopin to Salesforce and sets their status as ‘Attended in salesforce once they attend the event.
- Export Onsite Registration & Attendee data: Exports onsite registration information from Hopin about QR codes, Event check-in and check-out times, Session check-in and check-out times, and Session Registration Time to Salesforce.
- Export UTM Parameters: Exports UTM parameters to Registration Object in Salesforce.
5. On the next screen you will need to configure the object where event information is stored.
Select the object and wait for 2-3 secs. If you have not selected the option to import data, you will then see a mapping screen where you need to map fields that would contain the Hopin's ticket integration code and Event Name, as shown below.
If you have selected the option to export onsite data, you will need to map fields that would contain the Hopin's ticket integration code and Event (or Session) name, the Sessions' event ID. You will see a mapping screen similar to that below:
Hopin's ticket integration code allows us to correctly map your Salesforce registrations to the correct Hopin event and ticket. The code should be at the event level in Salesforce (e.g., at the Campaign level).
In the example below, we have used the Campaign object to store event information, and we have added a ticket integration code field to the Campaign, on which Campaign Members (registrants) are created. If you have multiple tickets for the same event you can create that field as a picklist field.
The integration code can be added to any object that is used for events. Return to the 'Import registrations' screen and choose the Salesforce object that contains the 'integration code' field.
Event Name/Event or SessionName: As part of Export flows we first try to find the events or sessions based on the ticket integration code. If not found, this is used mainly to create an event or session in your salesforce system with the same name as Hopin in order to export the data.
Session’s Event ID: This attribute will only show up in the mapping screen when you select the option of export onsite data. This is mainly used to link a session to its event to create an hierarchy structure and therefore stamping event level data on event and session level data on session . For this you can create a self lookup field on the same object and refer to it. For Eg: If you are using Campaign as event Object you can choose Parent campaign Field or any custom self lookup field here.
Once configured click on Next to proceed.
6. On the next screen, you will need to configure the object where registration information is stored, and map the fields that would contain the first name, last name and email of the person/registrant who would be attending the event. In the example below, we have used Lead object to store registrant information and have mapped the fields accordingly. You can also use contact object or any custom object. Click on Next to proceed.
7. On the next screen, if you also wish to export UTM parameters on to the registration, please map the registration fields to the parameters.
If you don't need this step, you can click Next and skip the screen.
You can read more about how to use UTM codes for your event here.
8. On the next screen select your 'Event registration' object in Salesforce (in this example we've used the Campaign Member as an event registration object) and map the Hopin fields to the correct fields on that object. Here's what they mean:
- First Name: Please select the field where we can find the first name of the registration.
Last Name: Please select the field where we can find the last name of the registration.
Email : Please select the field where we can find the email of the registration.
- Magic Link: The field is required to be able to pass a magic link back to Salesforce. Please make sure the selected fields as length of minimum 100. If you wish to send your magic link emails from Hopin and not from Salesforce, you don't need to complete the mapping of this field.
- Salesforce Event Object: This field should contain the object ID of the Map Event screen (the Campaign ID in this case).
- Salesforce Registrant Object: This field should contain the object ID of the Map Registrant screen (the Lead ID in this case).
- Headline: If you want to have headline information to be captured during magic link creation configure a field for it.
- Status: If you want functionality for Export Registrations/Attendee/Custom functionalities map the field for status. If it is a picklist field, make sure that it has picklist options of ‘Registered’ & ‘Attended’.
9. Click Next to proceed
10. If you have selected the checkbox to Export Registration & Custom Registrations Q&As in Screen 2, and you have created a Custom Registration Form for your event on Hopin, wait for 1-3 sec you will find a mapping screen where you can map the Custom registration questions to salesforce fields.
The fields provided in the dropdown menus are based on the object that is selected on the previous ‘Configure Event Registration Object’ screen and if you have also configured fields under the object map the custom registration questions to respective fields.
11. Click Next.
On the Next screen, if you have chosen the option to Export Onsite Registration and Attendee Data, you will see a mapping screen. The fields provided in the dropdown menus are based on the object that is selected on the ‘Configure Event Registration Object’ screen you will have seen before. You can map the Hopin fields to the correct fields on that object. Here's what they all mean:
- Check In Time : This attribute contains the Event CheckIn Time of the participant.
- Check Out Time: This attribute contains the Event Check Out Time of the participant.
- Session Registration Time : This attribute contains the time of the session registration of the participant for a particular event.
- SessionCheck InTime : This attribute contains the SessionCheckIn Time of the participant for a particular event.
- SessionCheck Out Time : This attribute contains the SessionCheckOut Time of the participant for a particular event.
- QR Code Data: This attribute contains the QR Code data. Please choose a large text data type field for it.
- QR Code Image URL : This attribute contains the QR Code Image URL. Please choose a large text data type field for it.
12. Click Finish.
Testing the Salesforce integration
Now we can test the integration.
1. You'll need to have a Hopin event set up with at least one ticket created.
In your event on Hopin, go to your Event Dashboard > Registration > Tickets and find the ticket’s integration code. Copy the link to the ticket by clicking on the small square next to the ticket name and paste it into a browser tab.
The end of the URL (after the =) is your integration code.
2. Go to Salesforce and create a new record under your ‘ticket’ object (in our example, the Campaign), and add the 'Integration Code' you just copied to the field that you created in your Salesforce object for the ticket integration code.
3. Create a new 'registration' in Salesforce (in our case, a Campaign Member).
4. Navigate back to your Hopin account, and the registration should be imported into the 'Magic Link Invites' page under People > Magic Link Invites in your Event Dashboard.
5. Return to Salesforce, and the magic link field that you created on your 'registration' object should be populated with the magic link:
If you'd like to test a registration export, you can follow the below steps.
1. First, you can create a registration form in Hopin to check that it's pushed into salesforce.
2. Register for the event in the registration page (if you have already registered with your account, you can de-register yourself in the 'Attendees' page).
3. You're now registered for your event, and you can go and check that this has been pushed to Salesforce correctly and has set the status to Registered. Also, if you have configured the mapping for Custom registration Q&A you can see that if the question is answered by the registrant, then it will map to the respective fields configured on the record in salesforce.
4. If the same person attends the event the status would be set to Attended.
Exporting UTM Parameters
If you have created UTM codes within your event, and set up the integration correctly, you will be able to see that the UTM parameters have been pushed to your Registration Object.
1. You will need to have an onsite or hybrid event to be able to map and test this part.
2. As people rgeister for your event, you will be able to see the data populating on the event registration object you have set up.
3. For each session the participant registers or attends, we would create an event record with session details and a link to the parent event. We would also create a seperate event registration record with session details.
You will be able o see the Session record that is linked to the parent event, as well as all of the registrations for that Session within the specific Session record.
Things to consider
Please note that in order for data to be updated from Salesforce to Hopin and back again, Salesforce has a few settings that need to be taken into consideration:
- In order to create new records in Salesforce, some objects require certain fields to be populated that are not included in the data shared by Hopin. At this time, Hopin shares first name, last name, and email address in the creation of new Leads and Contacts.
- The integration can sync to one registrant object (lead, contact, or custom object) but not to multiple registrant objects. (For example, if you have mapped to Contact for your registrant object, the integration will check for existing Contacts before creating a new Contact. It will not check for existing Leads using the same email address.)
- If you are using Pardot with Confirmed Opt-In Process to add data to your Salesforce instance, please read this article about the steps that need to be taken
- If you are using a Data Import Wizard in Salesforce, please note that Workflow Executions are disabled by default, and you will need to enable this in the wizard.
- If you are using Salesforce integrations that modify your data (Pardot/LeanData/etc.), please make sure that the automation users (which those integrations need in order to function) have the "Send Outbound Messages" permission enabled at the account level.