HubSpot integration overview
Integration scope
Sellfire Lead object system and custom fields can be individually synced bidirectionally or unidirectionally with HubSpot Contact object or HubSpot Company object system and custom fields automatically upon lead creation and/or lead update. Sellfire custom object custom fields can be individually synced unidirectionally from HubSpot Contact or HubSpot Company system and custom fields automatically upon HubSpot Contact or Company creation and/or lead update. Field data can be synced from Sellfire Lead objects to create HubSpot Deals when sales are made in Sellfire.
Getting started
Import existing leads
Prior to activating your Sellfire <-> HubSpot integration, export all of the leads from HubSpot that you’d like to create or enrich with additional data, and import them into Sellfire via System Configuration > Lead Management > Import Leads. Then authenticate your HubSpot integration and map your fields to ensure that the data remains synced moving forward.
Authenticate HubSpot via Sellfire
To get started with the integration, first, you will need to authenticate HubSpot via an Sellfire Enablement Edition. To do this, login with your Enablement Edition, and navigate to the System Configuration section by clicking on the gear icon in the left navigation bar. Then click on the Integrations sub tab on the left-hand side, and click Connect in the HubSpot tile (shown below).
You will then be taken to the HubSpot login page (shown below) where you can enter your admin HubSpot credentials to authenticate Sellfire with HubSpot. Accept the prompt to authenticate, and you will then be taken back to Sellfire.
Note that In order to support the integration, the HubSpot account with which you authenticate needs to be able to View, Create, and Update Contacts. You can find out more about HubSpot permissions on the HubSpot Permissions page.
Once successfully authenticated, you will see Connected in the HubSpot tile in Sellfire (shown below).
Setup field mappings
Next, you will need to configure field mappings for the integration. Leads will not sync until you have at least one field mapping configured, and once configured, updates to any of these mapped fields will trigger the sync between Sellfire and HubSpot.
To get started with field mappings, click on the More Actions button in the HubSpot tile and then click Configure Field Mappings. You will then see the field mapping screen (shown below). Note that initially, no fields will be mapped.
Here you can configure field mappings for system fields, which are fields that Sellfire provides by default, and Custom fields, which are any fields that Enablement users in your organization have created in the System Configuration > Your Organization > Object Manager section.
To map fields:
- Click on either the SELLFIRE SYSTEM FIELDS or CUSTOM FIELDS tab, and then click Map System Field or Map Custom Field. A modal will appear on the right side of your screen.
- Select the Action(s) that will trigger the sync. This can be Lead Create, Lead Update, and/or New Sale. Then click Next at the bottom right of the modal.
- At the top of the next page in the modal (shown below), select the Sellfire Object, which determines which Sellfire fields are selectable in the Sellfire Field dropdown.
This will commonly be the Lead object but also includes the Product, Sale, User, and any custom objects that you have created in System Configuration > Your Organization > Object Manager. - Select the Sellfire Field that you would like to map from the selected object.
- Then select the HubSpot Object, which determines which HubSpot properties are selectable in the HubSpot Field dropdown. All of your HubSpot properties, including custom fields, will be automatically populated and selectable based on the HubSpot Field Category that is selected.
- Select the HubSpot Field that you would like to map.
- Click Next at the bottom right of the modal.
- You will be taken to the Select Sync Rule screen (shown below), which allows you to choose in which direction(s) you want the field to sync. You have seven options:
- Always use HubSpot unless blank. The field value will sync from HubSpot to Sellfire when updated in HubSpot. If the field value is updated in Sellfire, it will not sync to HubSpot. Blank / null values from HubSpot will not overwrite existing values in Sellfire.
This can be useful for acquisition or attribution type data that you don’t want to change in HubSpot. - Always Use HubSpot. The field value will sync from HubSpot to Sellfire, even if it is blank / null. If the field value is updated in Sellfire, it will not sync to HubSpot. Blank / null values from HubSpot will overwrite existing values in Sellfire.
- Always use Sellfire unless blank. The field value will sync from Sellfire to HubSpot when updated in Sellfire. If the field value is updated in HubSpot, it will not sync to Sellfire. Blank / null values from Sellfire will not overwrite existing values in HubSpot.
- Always use Sellfire. The field value will sync from Sellfire to HubSpot, even if it is blank / null. If the field value is updated in HubSpot, it will not sync to Sellfire. Blank / null values from Sellfire will overwrite existing values in HubSpot.
- Two-way unless blank. The field value will sync between Sellfire and HubSpot when updated in either system. Blank / null values will not overwrite existing values in either system.
- Two-way. The field value will sync between Sellfire and HubSpot when updated in either system, even if it is blank / null. Blank / null values will overwrite existing values in either system.
For technical specifics about how the sync operates, please see the Two-way sync deep dive section further down in this document. - Don’t Sync. For this option, the field does not sync. Note that this is an explicit way to not sync the field. Not having a field mapping will also not sync the field.
- Always use HubSpot unless blank. The field value will sync from HubSpot to Sellfire when updated in HubSpot. If the field value is updated in Sellfire, it will not sync to HubSpot. Blank / null values from HubSpot will not overwrite existing values in Sellfire.
- Once you have chosen the option that best suits your need, click Save at the bottom right of the modal.
Way to go! You have successfully mapped a field. Now, anytime one of these mapped fields is updated moving forward in Sellfire, HubSpot, or both (depending upon which sync direction(s) you have selected for each field), the sync will be triggered.
The Custom Field Mapping section works the same, except the Sellfire Field dropdown populates all the custom fields that have been created in the System Configuration > Your Organization > Object Manager section.
Match dropdown field values between Sellfire & HubSpot
When mapping fields with dropdown values, an Inspect column is available that allows you to easily determine if the dropdown values in Sellfire match the dropdown values for those fields in HubSpot. This functionality allows you to quickly diagnose and resolve any potential data validation issues in these fields.
After you have mapped the fields, if you click View in the row of the field that you want to inspect, you will be provided with the current dropdown options that exist in Sellfire (left column), the current dropdown options that exist in HubSpot (middle column), a notification telling you if those values align in both Sellfire and HubSpot (green check mark if matching; red text if not), and the ability to create those values automatically in Sellfire by clicking a button (right column).
Supported Sellfire system fields
Click here to reference the System Configuration > Your Organization > Field Manager article.
Ownership sync
Bidirectionally sync lead ownership between Sellfire leads and HubSpot companies or contacts.
Requirements
- In System Configuration > Integrations > HubSpot Field Mapping, the Sellfire Owned Rep Id field on the Sellfire lead needs to be mapped to the HubSpot Company or Contact owner field on the HubSpot Company OR Contact (not both).
- If the Sellfire Lead object is mapped to the HubSpot Company object, map to the HubSpot Company owner field.
- If the Sellfire Lead object is mapped to the HubSpot Contact object, map to the HubSpot Contact owner field.
- The email addresses associated with the HubSpot Company or Contact owners need to match email addresses associated with Sellfire rep Editions. If there is not a match in either system, ownership will not change.
- In the Sync Rule for this field mapping, select the Two-Way option if you would like ownership to sync in both directions and would like lead unassignment (moving to blank / null) in either system to unassign the lead in the other.
- The leads for which ownership is changing need to be currently unowned in the other system. If leads are already owned in either system, ownership cannot be changed to a different rep. If ownership changes for currently-owned leads are attempted, ownership conflict notifications will be sent to Enablement users and the errors will be documented in System Configuration > Integrations > HubSpot More Actions > Integration Reports so that Enablement users can resolve the conflicts.
Sync direction settings
To toggle on/off lead creation and/or updates in either direction between Sellfire and HubSpot and the Sellfire to HubSpot lead activity sync, navigate to System Configuration > Integrations > HubSpot More Actions > Settings (shown below).
Bulk update all mapped fields from HubSpot to Sellfire
If you would like to push all of your mapped field data from HubSpot to Sellfire, create a custom true/false property in the HubSpot object (either Company or Contact) that is synced with the Sellfire Lead object called "sellfire_sync_trigger". Note that the internal field name must be this name exactly.
In HubSpot, bulk update that field to "true" on any Companies/Contacts' (connected to the Sellfire Lead object) that you would like to bulk sync to Sellfire. With that update, all fields mapped in the HubSpot to Sellfire direction will be pushed to their connected Sellfire leads.
In subsequent bulk updates, you will need to first change the value in the sellfire_sync_trigger field to "false". Then once changed back to "true", the bulk update will again be initiated.
Sellfire Lead creation / connection logic from HubSpot
Sellfire will use the following logic to determine whether to create a new lead, connect to an existing lead, or error lead creation.
If the Country/Region field is not mapped from HubSpot to Sellfire:
- Check phone number to ensure valid US phone number.
- If valid and does not already exist as a primary phone number on a Sellfire lead, create new lead.
- If not valid, error lead creation.
- If it already exists as a primary phone number on a Sellfire lead,
- If that lead is already connected to a different HubSpot Company / Contact, error lead creation and update.
- If that lead is not connected to a HubSpot Company / Contact, connect to this lead, and apply any updates.
If the Country/Region field is mapped from HubSpot to Sellfire:
- Check the HubSpot Company Country/Region field (this field needs to be mapped from HubSpot to Sellfire in field mapping) to determine if there is a value that matches a value that Sellfire has for Country.
- If match, check that the phone number validation matches that specific Country library.
- If valid, create lead.
- If not valid, error lead creation.
- If match, check that the phone number validation matches that specific Country library.
- If no match, check the phone number against known Country codes and country phone formatting library.
- If match, create lead.
- If no match, default the lead to US as the country.
- Apply the logic described in the "If the Country/Region field is not mapped from HubSpot to Sellfire" section above.
Maintenance
Edit & delete field mappings
To edit or delete field mappings:
- Click the edit icon at the far right of the field mapping table (shown below) under the Manage column.
- If editing, make any needed changes per the same process described above when creating field mappings, and click Save in the last page at the bottom right of the modal.
Note that edits are not retroactive. They only apply for lead updates going forward. - If deleting, click Delete at the bottom of the modal.
Manage errors
At times, a field mapping, lead update, or lead creation operation could fail. This can happen for a variety of reasons, most commonly related to mismatches of field types (text, boolean, dropdown, date, etc.) between systems or data validation (missing values in mapped dropdown fields in either system). You can find these errors in two sections:
Field mapping Status column
The Status column in the field mapping table (shown below) helps quickly diagnose which field mappings may have issues. If the status is "Ok," the field mapping is successfully connected. If the status is "Issue," it usually means there is a type mismatch between Sellfire and HubSpot; such as a multi-select field in HubSpot and a number field in Sellfire. Check the field manager in Sellfire and HubSpot to make sure the types line up.
Error reports
If a lead creation or update errors, this will get logged in the Error Reports section found by clicking More Actions > Error Reports in the HubSpot tile (shown below).
When opened, the Error Report will populate all errors that have occurred with the dates and reasons associated with each error.
Two-way sync deep dive
Two-way sync scope
The two-way sync integration covers the Lead Entity in Sellfire and the Contact Entity in HubSpot. The integration does not currently support activity data, such as call and disposition data.
How it operates and functions
There are a few main components to understand about the sync. These are the critical indicators and the trigger events.
Critical indicators
There are two main critical indicators with the integration. These are used with the syncing logic in the integration.
- The hubspot_id on an Sellfire Lead. This is a reference on the HubSpot Contact id.
- The primary_phone_number on an Sellfire Lead. This is considered a unique identifier in Sellfire.
Triggering events
There are 4 different events that will trigger a sync event with this integration. There is a different set of logic for each of these triggering events. To illustrate how this works, we are going to show 4 different flow diagrams for each of the triggering events.
HubSpot Company or Contact creation event
This triggers when a Contact event is in HubSpot. This is when a new contact comes inbound to Sellfire from HubSpot. This event is sent to Sellfire for processing.
HubSpot Company or Contact update event
This triggers when a Contact is updated in HubSpot. This is when a contact update comes inbound to Sellfire from HubSpot. This event is sent over to Sellfire for processing.
Sellfire lead creation event
This triggers when a lead is created in Sellfire via self-sourcing. This is when a lead is created in Sellfire. If integration is configured, it will send it over to HubSpot as per the following logic.
Sellfire lead update event
This triggers when a lead is updated in Sellfire. This is when a lead is created in Sellfire. If integration is configured, it will send it over to HubSpot as per the following logic.
Note that for this, HubSpot requires an email address as it uses that as a unique identifier. This is why there is a check to see if the lead has a primary email address.