Missing associations between HubSpot objects cause problems throughout your organization. Your sales and marketing teams rely on accurately related objects for context in sales conversations and account-based marketing applications. Customer support and success teams also miss important information, and analysis and reporting are skewed. Missing relationships can impact your customers across the entire customer journey.
With Insycle's Associate app, you can automatically detect relationships and link contacts, companies, deals, custom objects, and other object types in bulk. You can create hierarchical associations such as child and parent relationships, create relationships between objects of the same type, and copy data between the linked records. This will maintain order in your HubSpot CRM and give your teams a complete picture of every account.
Key Use Cases
- Bulk Associate Contacts, Companies, and Deals in HubSpot
- Bulk Associate Child to Parent Companies in HubSpot
- Use Existing HubSpot Associations to Fill in Missing Relationships
How It Works
The Associate app makes it easy to match different HubSpot object types, or identify parent-child relationships and associate them in bulk.
Powerful filtering options let you segment objects based on attributes like existing relationship identifiers, company names, domains, or any other field. Records that meet these criteria can automatically be linked to other records based on matching rules, and labels can be applied.
These configurations can be saved and automated, set to run automatically at regular intervals, putting your association process on autopilot.
The following HubSpot CRM objects are supported in Insycle:
- Companies
- Contacts
- Deals
- Line Items
- Orders
- Tickets
- Custom Objects
You can create associations between:
- Standard or custom objects of different types (such as the cars custom object with deals).
- Contacts, companies, and deal objects of the same type (for example, contacts to contacts).
- One object and many objects (for example, one company to multiple deals). Learn more about making multiple associations.
Explore the Associate dropdown under Step 2 for all the options for each object type.
Step-by-Step Instructions
Navigate to RevOps Acceleration > Associate.
Select the database and the record type in the top menu. Then explore the templates for an existing solution that may be close to what you need.
Each row in Step 1 is for a field you want to look at to determine whether to include or exclude a record from this task. With this filter, you're telling Insycle what records you would like to update.
In the below example, contacts that don't have an Associated Company ID but do have a Company Name, will be included in the results.
When you click Search, Insycle will list records in the Record Viewer at the bottom of the page. If you make changes to the filter, you need to click the Search button again to refresh the viewer.
Under Step 2, define the rules for bulk matching the two record types during the association process.
With HubSpot, there are four ways to associate or modify related records:
Simple Tab
On the Simple tab, you can set up rules to create the relationships between two record types.
Specify the action to take and the type of record to be associated. HubSpot users can also label the relationship. You can filter the target records to those that would be a good fit for this relationship, then select the fields to use for matching and rules for comparing the values. Optionally, create new records if no match is found and flag unmatched records as "Failed."
For details on configuring these fields, see the Bulk Associate Contacts, Companies, and Deals in HubSpot article.
Advanced Tab
The Advanced tab follows the same format as the Simple tab, but it provides the additional Related Match Fields option, letting you specify more than one matching field. Insycle will consider the combined pool of values between the main Match Field and the Related Match Field.
In this example, if matching contacts to companies, you could use the Email Domain from the contact, and look at both the Company Domain Name plus Additional Domains values for a correlation.
Related Tab
The Related tab lets you leverage existing associations to fill in missing ones. For example, you have contacts that are associated with companies and contacts associated with deals. Insycle can use these relationships to fill in the missing associations between deals and companies.
See the Using Existing HubSpot Associations to Fill in Missing Relationships article for more details.
Existing Tab
The Existing tab lets you add or remove labels from HubSpot records that are already associated. Use existing labels as a filter and control which records will be updated from the Filter Labels, then select the labels to add or remove under Action Labels. To completely remove an association, not just the label, check the Unlabeled box too.
For more details, see the Multiple Associations and Labels in HubSpot article.
If there is valuable information in either of the records you are creating the relationships with, you can automatically copy values between them to avoid errors and save time.
Under Step 3, select the field from the source record type (in this example, contact), and the relevant field on the target records (companies). You can choose to copy values from the source record to the target, or target record to the source. In the example, the address will always be copied from the company to the contact.
The Copy Rule gives you three options:
- Only when [the record you're linking to] field is empty
- Only when [the record you're linking from] field is not empty
- Always copy
The preview CSV will include these fields and specify if the value was copied for each record.
Preview Changes in a CSV Report
Now, with the filters and association/linking actions in place, you can preview the changes you are making to your data. That way, you can check to ensure the relationships are being created as expected before those changes are made in your live database.
Under Step 4, click the Review button, then select Preview in the popup.
On the Notify tab, add any additional recipients who should receive the CSV (and make sure to hit Enter after each address), and provide additional context in the message subject or body.
On the When tab, click Run Now and select which records to apply the change to (in most cases, this will be All, but if you have a large number of records, you may just want to do a chunk for a test). Then click the Run Now button.
Open the CSV file from your email in a spreadsheet application and review the columns.
When using fields to make associations, the CSV shows how Insycle tried to match each record that matched your filter from Step 1 with the record type you selected in Step 2.
Each row in the CSV includes the Result of the association and a Message with details, the initial record info, the associated record info, and, if configured, the result of the copy operation.
When using existing relationships to make associations, each row in the CSV includes:
- The Result of the action and a Message with details. The below example shows "Added" and "Succeeded," which means an association was made.
- Source record Type (in this example, deals), with the ID, Deal name, and deeplink to the HubSpot record.
- Related Type (contact records), with the ID, email, and deeplink.
- Associated Type of the records to be associated (companies), with the ID, company name, and deeplink.
If you set a copy operation up in Step 3, the CSV will also include info about the copy results.
If the results don't look as you expected, go back to your filters in Step 1 or functions in Step 2, try making some adjustments, and then preview again.
Apply Changes to HubSpot
If everything in your CSV preview looks correct, return to Insycle and move forward with applying the changes to the live HubSpot data.
Under Step 4, click the Review button again, and this time select Update mode.
On the When tab, you should use Run Now the first time you apply these changes to the CRM.
After you've seen the results in HubSpot and you are satisfied with how the operation runs, you can save all of the configurations as a template, and set up automation so this association operation runs on a set schedule. You can also integrate Insycle Recipes into HubSpot Workflows.
Return to the Template menu at the top of the page and click Copy to save your configurations as a new version of whatever template you started with. Then click the pencil to edit your new template name.
Under Step 4, click the Review button, and select Update mode.
On the Notify tab, select the send option appropriate for your automation: Always send, Send when errors, or Do not email.
Add any additional recipients who should receive the CSV (and make sure to hit Enter after each address). You can also provide additional context in the message subject or body.
On the When tab, select Automate, and configure the frequency you'd like the template to run. When finished, click Schedule.
Create a template for each segment and association configuration, then you can create a Recipe to automatically run them together.
When you have a solid set of templates that reliably associate your records, you can put them together into a longer, ordered sequence as a Recipe. Then, you can schedule that Recipe to run on a consistent, set schedule. Your templates will run one after another in the order that you set.
To add your Recipe to a HubSpot Workflow, it must be automated and set to Execute as HubSpot Workflow Action.
Learn more about associating records in HubSpot Workflows.
With the Activity Tracker, you have a complete audit trail and history of changes made through Insycle, including processes run in Preview mode or data syncs. At any time, you can download a CSV report that shows all the changes made in a given operation run.
Navigate to the Activity Tracker, search by module, app, or template name, and then click the Run ID for the operation.
Tips for Creating Associations in HubSpot
- There are two ways to create associations between HubSpot records:
- Use a field with a similar value in both records. For example, "Email Domain" on the contact, and "Website Domain" on the company. Then, you can pick those fields to match the records and establish the association.
- Copy associations from existing relationships. For example, if you already have relationships between contacts and deals, and also between contacts and companies, you can use these relationships to create associations between deals and companies.
- You can add, remove, or replace associations with multiple labels in bulk, with one action.
- You can make associations in both directions: for example, contacts to companies, or companies to contacts.
- Though making associations will work in both directions, consider that contacts to companies is the standard direction, and some features (such as the "If Company is Not Found Create New Company" feature) are only designed to work when contacts are being associated to companies.
- For straightforward relationships with obvious matching fields, the direction of the relationship doesn't matter. But in some cases, such as creating associations with custom objects or child and parent companies, the direction may be important. If you are having trouble, try changing the direction of the association.
HubSpot Specific Considerations
In HubSpot, you can designate an association as the "Primary" association. This is visible on the record's profile page. The "Primary" tag is a special label that will always appear at the top of association lists and be more visible within the HubSpot UI.
With Insycle, you can add or remove the "Primary" label based on matching rules you configure in Step 2.
Learn more about using the HubSpot Primary label in Insycle.
You can use Insycle to add or remove multiple associations between any objects, including custom objects and objects of the same type (such as parent/child companies or contact-to-contact relationships). For example, you can associate multiple deals with the same company.
You can also set HubSpot Labels to differentiate relationships of the same object types. For example, if one company has two contact associations, one contact can be labeled as "C Suite," and the other as "Decision Maker." You can customize your association labels for each object type from HubSpot.
Learn more about managing HubSpot labels with Insycle.
Advanced How-Tos
Let's say you are a SaaS company, and someone has signed up as a user for a trial, which creates a contact and a deal that are already associated. HubSpot automatically creates an association between the contact and company using the domain, but you also want to create a relationship with the company the deal is for.
In the Associate app, you select the deals object type, since this is part of the association you want to create. On the Related tab of Step 2, you tell Insycle to look at the contacts that are associated with each deal, then take the company from each contact and add it to the deal record.
Insycle then goes through all of the deals in your segment and associates deals to companies based on what's in the related contact records.
Your sales and marketing teams rely on properly associated data for context in communications and sales conversations. Without proper child-parent company associations in place, you lack vital context and may miss opportunities in account-based marketing and sales.
With Insycle, you can automatically detect and create relationships between child companies and parent companies in bulk.
You can associate parent and child records that are already in your CRM with the Associate app, or to associate new records from a CSV, use the Magical Import module.
To learn more, see Associate or Link Parent-Child Companies, Create Accounts Hierarchy and Relationships.
If you need to create relationships between records based on one of several values in a field, you can use the "Semicolon Separated" Match Parts parameter.
For example, you need to link contacts to companies based on specific locations using Postal Code. You have a custom field, “Allowed Post Codes,” that contains several codes covering a region. Since the values are separated by semicolons, Insycle can look at each value in the field for a match.
You can also use the Semicolon Separated parameter to search for matching values in a Related Match Field.
The Comparison Rule defines what kind of likeness to look for when deciding if field values should be considered a match for association.
It's a good idea to start with Exact Match for straightforward matches and then use Similar Match to look for edge cases.
Exact Match looks for values that match exactly, with no differences from one record to the next. Any unique identifying fields should use Exact Match. This is usually your best bet when looking for associations.
Similar Match looks for values that may be close but with a one-character difference (like a typo, extra character, or missing character) and broadens the search. This search behaves like when Google shows results for a slightly different term or says “Did you mean...”
For example, if a Company Name of, “Acme” is found, it could include records with the Company Name values, “Akme," "acm," or "Acma,” as matches.
Similar Match uses looser criteria that cast a wider net for what can be considered matches. Make sure to carefully review the results to ensure the relationships being created are what you're expecting.
If using ID fields to match, note that they will only work with Exact Match, not Similar Match.
With Insycle, there are a couple of ways to remove associations and all labels in one step.
On the Simple tab of Step 2, select the Remove action and all relevant labels, including unlabeled ones, in the Labels dropdown.
The Existing tab lets you use existing labels to control which records to add or remove labels on. You can also remove associations from here.
You can also remove existing associations and replace them with new ones, you can use the Replace Action. This will remove current associations under the chosen labels and replace them with new associations based on your matching settings. Set up the fields for the association your records should have. Don't worry about what currently exists, Insycle will take care of all the cleanup automatically.
Learn more about removing and replacing associations and labels in HubSpot.
When using the Associate app, you can opt to be alerted when records aren’t matched. This may be helpful if you want to investigate and address any records where a relationship has not been created.
Under Step 2 check the Count unmatched records as Failed box.
Then in the Step 4 popup on the Notify tab, you can select the email delivery option “Always send” or “Send when errors.”
When checked, any record where there is no match to create the association will be counted as “Failed.” This will be reflected by a “with Failures” suffix on the report email subject line…
…and a "Failed" Result and "No matching record found (use 'Grid Edit' to troubleshoot)" Message in the CSV report.
When you save this associate configuration as a template and set up automation, the report emails will let you know when a relationship has not been created for a record so you can address it as needed.
If your team's calendars are integrated with HubSpot, you can import contacts or companies and associate them with meetings in HubSpot to help track engagement. Multiple contacts or companies (meeting attendees) can link to the same meeting.
Learn more in the Magic Import Advanced How-Tos.
Troubleshooting
A "Failed" Result with the Message "Multiple target matches (x)..." or "Multiple source matches..." result occurs when multiple records meet your matching specifications. For example, if you were linking contacts to companies, and Insycle found ten company records with the name "Microsoft," it wouldn't know which Microsoft to establish the relationship with.
There are a few options for resolving this issue:
- If there shouldn't be multiples of these records you should first merge duplicates before trying to create these relationships.
- If there are supposed to be multiple similar but distinct records, you can add another matching field in Step 2 to make the criteria more specific. A record would have to match both field values to be considered appropriate for making the relationship.
- You can also use the filter in Step 2 to narrow the records to be associated.
In the filter popup you could, for example, add the "Company name," field and set the Condition, "contains" "HQ." This tells Insycle to only consider companies for association if the Company Name value includes the term "HQ."
- In cases where there are multiple target records that could match, you can add Selection rules for picking the appropriate record.
You can create rules in the selection pop-up to choose the most recently created record that has an owner assigned.
An "Unmodified" Result with the Message "Unmodified, no matching record found (use 'Grid Edit' to troubleshoot)" result occurs when there aren’t any records that meet your matching specifications.
You can examine the data in the unmatched records and troubleshoot using the Grid Edit module. Look at different fields and values to identify why your associate setup didn’t work for the record. Then, decide what match options could work or if some cleanup is needed.
Learn more about reviewing your data using the Grid Edit module.
When using the Associate app, you have the option under Step 2 to Count unmatched records as Failed. When checked, any record where there is no match to create the association will be counted as “Failed.” This will be reflected by a "Failed" Result with the Message "No matching record found (use 'Grid Edit' to troubleshoot)" message in the Result column of the CSV report.
You can examine the data in the unmatched records and troubleshoot using the Grid Edit module. Look at different fields and values to identify why your associate setup didn’t work for the record. Then, decide what match options could work or if some cleanup is needed.
Learn more about reviewing your data using the Grid Edit module.
When using existing relationships to make associations, a "Failed" Result with the Message, "Not related to [record type] through [record type] association" indicates the record associated to your selected source record type does not have the association you are looking for.
For example, if you are setting up the process to associate deals with companies by looking at the contact records, if a contact doesn’t have a company associated with it, there is nothing to copy to the deals.
In the Associate app, if you click the Review button under Step 4 and are met with an "Association Validation Error" message, it's most likely that you forgot to set the Labeling for one or more of your association rules.
Under Step 2, each part of the association rule must have one or more Label options selected. If you don't want any labels applied, use the Unlabeled option.
Remember, the Association Labels categorize the relationship, the Related From Labels act as a filter on the related record, and the Related To Labels act as a filter on the relationships to be copied to the source record. For more detail, see the Step 2: Configure Rules That Will Create the Relationship section above.
There are a couple of nuances to pay attention to when using the Existing tab under Step 2 to remove associations from HubSpot.
Nothing happened, but it says it worked
You have the Action set to Remove, with the Action Label “Unlabeled.” When you run the operation in update mode, the Results modal and CSV say the label was removed, but the label is still there in the CRM.
The label was removed, but I wanted the association removed
In this case, you have the “3rd association” label selected for both the Filter Label and Action Labels. When you run the operation, it removes the “3rd association” label from associations.
Correct setup
If you want to remove an association, you need to ensure that it is not labeled, so you need to remove all of them. To remove all labels in one go, you can select the "Unlabeled" option along with any other label that is currently applied to the association.
For instance, if you want to remove all associations that have the "3rd association" label, you need to select both the "3rd association" and "Unlabeled" options under Action Labels. If an association has the "3rd association" label along with other labels, only the "3rd association" label will be removed.
In HubSpot, you can see that the associations with only the "3rd association" label were removed from this record, while associations with "3rd association" and additional labels just had the label removed.
Bulk associations require that you have a field that you can use to match the two records. For instance, you might select "Company" for contact records, and "Company Name" for company records. You then use these two fields to associate the two records.
But what do you do if you have no obvious matching field between the two record types that you would like to associate?
For example, maybe you would like to associate contacts not only with the company that they work for but with the parent company as well. In this scenario, it is not very likely that you capture the parent company on the contact record, which means that you may have no field to use to match the association. As a result, you'll need to create a custom field for contacts and companies, such as "Custom Parent Company." Ideally, if child companies are already associated with parent companies, you'll be able to pull this data from your company records and populate both custom fields using your CRM's automation features.
Then, you'll be able to use the Custom Parent Company field for both contacts and companies to make the match.
The key is finding a data point that would allow you to match the associations, even if it is only available for one object type. Then you can create the custom matching fields that allow you to make the associations.
When associating using fields in Step 2, it can take a while for Insycle to find and match records if the fields being used to identify the relationship have very long values. The longer the values the longer it takes Insycle to process the data and generate the results. This might come up when using links with long ID numbers, LinkedIn bios, or other URLs with long strings (e.g., https://www.linkedin.com/in/svadin%C3%ADr-n%C4%9Bmec-1234b31a3/).
If the end of the values are all unique you can try and speed this up by using the Match Parts parameter under Step 2, which will limit the comparison to the last several characters.
Or use the Ignored > Text (Substrings) parameter, and click the Terms button.
On the Ignored Text tab of the popup, add the common portion of the URL or text string.
Frequently Asked Questions
You can use any field in your database to create relationships between records, you just need to figure out which field in each record type will have the same value. For instance, you might select "Company" for contact records, and "Company Name" for company records. Or you could use "Email Domain" on the contact, and "Website Domain" on the company.
Commonly used fields for linking include company names, company domains, and company URLs.
Yes. You can associate in either direction.
Though making relationships will work in both directions, consider that contacts to companies is the standard direction, and some features (such as the "If Company is Not Found Create New Company" feature) are only designed to work when contacts are being associated to companies.
Or in some cases, such as creating relationships with custom objects or child and parent companies, the direction may be important.
Yes, Insycle can help manage parent-child associations. For more information, see the Associate or Link Parent-Child Companies article.
Yes. If no matching record is found, you can choose to automatically create a new company record based on what is in the contact record. Under Step 2, check the Create new Companies when no matching is found box to enable, then select the field to use for naming the new company.
When Insycle creates a company record during the association process, the Original Source Data 2 property value will be "Insycle Data Management."
Currently, it is not possible to access, update, or associate HubSpot activities in Insycle.
Yes. With Insycle's Associate app, you can create advanced association templates and run them from within HubSpot Workflows.
You’ll need to configure association templates in Insycle, bundle them into a Recipe, and insert the Recipe into your HubSpot Workflow.
Learn how in the Associate Records in HubSpot Workflows article.
Additional Resources
Related Help Articles
- Bulk Associate Contacts, Companies, and Deals in HubSpot
- Using Existing HubSpot Associations to Fill in Missing Relationships
- Associate HubSpot Deals with Line Items and Automatically Copy Values
- Associate Records in HubSpot Workflows
- Associate HubSpot Contacts to Contacts, Companies to Companies, or Deals to Deals
Related Blog Posts
- Fix Stray HubSpot Contacts With Bulk Association — Connect Contacts to Companies and Deals With Complete Control
- How to Fix Bad HubSpot Associations Automatically (Without Spreadsheets)
- How to Make Maintaining Child-Parent Company Associations in HubSpot Easier
- Considerations for Using HubSpot’s Automatic Contact to Companies Association