We were recently asked by a HubSpot agency what’s possible in this scenario:
A customer has a master HubSpot portal where leads flow in and data is managed (contacts, companies, deals). The client also has HubSpot portals used by specific teams across their lines of business, so the requirement is from the master portal to distribute (at certain times, based on relevance) syncing contacts/companies/deals on a 1:1 basis to other HubSpot portals.
For example: A contact is created in the master HubSpot portal, let’s call it the Hub. The customer decides this contact is highly interested for HubSpot Platform A and that specific business unit, and thus wants to sync this contact from the HubSpot ‘hub’ to one of the ‘spoke’ portals.
Here’s what’s possible and key considerations for a HubSpot multi portal sync:
- Syncing contacts, companies and deals from the hub portal out to the spoke portals
- Full support for mapping fields on these objects to each other from the hub to the spoke portals, with full support for custom fields. (but need to consider which HubSpot fields are only internally controlled within a given HubSpot instance as we’ll note below under considerations)
- Control rule-based trigger for when records sync - for example a HubSpot contact might sync based on lifecycle stage = Marketing Qualified Lead. More on how these lifecycle stage triggers are generally used for syncing records here.
- Use a field to identify which spoke portal should sync to. For example you should have a field “Line of Business” with set values, and each value thus identifies which portal the record will sync to. A record would be able to sync to one and only one to the spoke portals, driven by this field.
- In addition to contacts, companies and deals, Bedrock can also sync sales engagements which are tasks, meetings, notes, calls and 1:1 sales emails (this is a Bedrock Data add-on)
- Once a record is present in both the HubSpot master & the spoke portal, updates can sync back and forth. For each field, you have the option of setting the master or the spokes as the system of record - if you want one of the two systems to remain in control, or you can set a “most recent update” sync setting to set data to sync back and for updates. This can be set on a per field basis.
- The sync is automated and runs every five minutes (following the completion of the updates) via the standard HubSpot REST API.
- There are many fields within a HubSpot portal that are controlled within a given HubSpot portal automatically, and thus cannot be written into via the API. These include automated field such as “first conversion” and “recent conversion” from the HubSpot default contact properties. Here’s a Developer explanation that these are read only fields. If there is data on fields like this, say that you want to sync from the HubSpot Hub out to the Spokes, then you’d need to setup custom fields in each of hte Spokes and use Bedrock to map them from the standard Hub fields. You wouldn’t be able to use the standard fields as they are read-only.
- When syncing from the Hub to the Spoke, these fields are used to match to existing records in the Spoke.
- Contacts are matched on email address
- Companies are matched on company name
- You can choose a process to sync Contacts, or Deals, or either one. A contact sync will be much simpler to setup & manage as it’s a single object, for which you can have a lifecycle stage trigger such as Marketing Qualified Lead or Sales Qualified Lead as we noted earlier. If you want to sync Deals it is possible but it means you’re sync process will need to first sync the company (and confirm that the company is present in the HubSpot spoke), before syncing the deal. More on a CRM to CRM deal/opportunity sync here.
- As noted above a given record from the master can be synced/mapped to one and only one Spoke
Please contact our team to talk more about this use case, or any other data sync challenges you may facing.