Among all the clients we work with, the most technically challenging are those that involve data sync between more than two portals. In some cases, clients have multiple disparate systems which all need to have data synchronized between each other, and in other instances, direction and flow of data are more nuanced.
Reasons companies may need to integrate multiple HubSpot portals include:
- Separate business units or regional offices that need their own HubSpot environment for privacy and security, but they want to share overlapping customer data.
- Parent/child HubSpot accounts, such as corporate > franchisee or corporate > subsidiary relationships
- The strategic partnership, separate companies with lead sharing agreements or sales partnerships
- The need to share data between HubSpot CRM, HubSpot Marketing, or Service Hub
- Advanced data security
Today, however, I'll focus on approaches to integrating one non-HubSpot CRM system, which will be treated as the "system of record," with multiple HubSpot portals.
For one client, our discovery calls revealed that their needs would be best served by having one Microsoft Dynamics CRM system, one "master" HubSpot portal, and several "child" HubSpot portals all connected via an integration. The overall intention was to have all of the child HubSpot portals sync with the master portal, which would then sync with the Dynamics CRM system. This presented many challenges, which each required their careful consideration and solution.
Challenge 1: Traffic Flow
The first goal was to establish the direction of flow for each part of the integration. Would CRM leads sync into HubSpot contacts? Would HubSpot deals sync from CRM opportunities, and then back? Typically, these are our methods to share data:
- Synchronize all contacts, companies, and deals between systems
- Synchronize shared data only (i.e., when a contact or company exists in both systems, share specific fields between the two systems)
- Share timeline events, such as emails, notes, and calls, across shared contacts
Determining traffic flow is part of our normal working process with any client, but the work is amplified exponentially by the number of systems involved. This required many more planning sessions with the client, and an extended timetable intended to roll out sync between the master and child HubSpot portals in separate phases over several months.
Challenge 2: Data Control
The next point of discussion revolved around making the integration as safe as possible. This meant designing and anticipating undesirable outcomes such as perpetual sync looping (always a concern with any bi-directional sync), data homogenization (where duplicate data could cause a cascade of one record's data overwriting several others), and most of all, ensuring that each child portal would only sync specific data from the master HubSpot portal.
This last point required the most planning, as preventing each child portal from absorbing data from the others in any part of the necessary sync required several methods of mitigation, including stored IDs, dates, and abstract flags included in the data which provided instruction to the rest of the integration on future handling of a given piece of data.
Challenge 3: Sync Timing
In addition to overall data control challenges, there were ongoing concerns over the timing of data syncing from one system to the next. Individual records, and even certain fields on certain records, needed to overwrite a target record only under predefined circumstances. This included such cases as copying only where incoming data was not "null" or empty, or making sure that data in the master HubSpot portal which originated from the CRM would always take precedence over data that may simultaneously have been created in a HubSpot child portal.
This led to many clarity meetings with the client and much of their internal review and included other considerations such as their need to occasionally import data from CRM directly into a HubSpot child portal.
To accomplish these technical goals, we needed to create new tools for our integration that compared data automatically from one system on a field-by-field basis to the data that was most recently deposited in the HubSpot Master portal. This required direct use of the HubSpot API to gain access to the property history of each property in question, which our standard platform was not yet capable of doing.
Challenge 4: Performance
The final objective was to build something performant. With any integration (or any other software project), it is not possible to optimize for reliability, speed, and accuracy at the same time. Because accuracy is universally of primary importance with data, this usually means needing to decide on whether to sacrifice more on the side of performance, or whether to allow the integration more leeway in syncing data as resources become available.
In the end, some of our custom tools did help with avoiding greater pitfalls of working with over-sized datasets, but the amount of logic required to move data from one location to another properly meant the sync itself would be slower than hoped.
Knowing of these potential issues beforehand due to our experience in the industry allowed us to spotlight any new logic requirement in terms of its performance impact, and to keep the client apprised of the process and their expectations aligned.
While integrating multiple portals is definitely a challenge, the results are rewarding. If you have multiple systems you are considering synchronizing, we can help. Contact us today to schedule a consultation on your HubSpot integration.