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.
Insycle supports associating the following HubSpot object types:
- Contacts
- Companies
- Courses
- Deals
- Line Items
- Listings
- 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.
There are four ways to manage relationships between HubSpot records using the tabs at the top of Step 2:
-
Simple Tab
Use the Simple tab to set up basic association rules. This is the most common approach for straightforward relationships. -
Advanced Tab
The Advanced tab provides the same options as Simple, plus the ability to specify Related Match Fields—letting you use multiple fields to find matches. For example, when matching contacts to companies, you could use the Email Domain from contacts and look at both the Company Domain Name and Additional Domains fields for a match. See the Match from Fields Containing Multiple Values section below for more details. -
Related Tab
Use the Related tab to leverage existing associations to fill in missing ones. For example, you have contacts that are associated to companies and contacts associated to 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 in HubSpot. You can add or remove labels, or completely remove associations.
For more details, see the Multiple Associations and Labels in HubSpot article.
Action specifies what Insycle should do with the records identified in Step 1. You can Add or Remove associations, or use the Replace action to remove existing associations and create new ones.
Association specifies the type of record you want to create a relationship with. In the example above, contacts will be linked to companies.
The Labels field is used to categorize the relationship. You can add, remove, or apply multiple labels at once.
Filter Target Records
Use the filter to limit the number of records Insycle searches for matches, reducing unnecessary searches.
Click the Companies Filter button to narrow down the target records to those that would be a good fit for this relationship.
In the Filter popup, you could, for example, add the "Company Name" field and set the parameters to "exists." This tells Insycle to only consider companies for association if the Company Name field has a value in the database.
Click Search to apply the filter and close the popup. Note that the company filter will not update the results in the Record Viewer, only in your final Review steps.
Resolve Multiple Matches with Selection Rules
Selection rules prevent results from being marked as "Failed" in the CSV report if Insycle finds multiple potential matches.
Click the Selection button to set rules for choosing the company if multiple matches are found.
In the Association Selection popup, you can create rules to choose the most suitable record. For example, you might select the most recently created record with an assigned owner.
- Select the Contacts Field you want to use for matching with the company record. In the example above, the Email Domain from the contact record will be used.
- Select the Companies Field with the value that should match the contact field. In the example above, the Company Domain from the company record will be used to match the contact and company. The two matching fields are often the same for both record types.
- The Comparison Rule determines whether the values between the contact and company records must be an Exact Match or a Similar Match. In most cases, you'd choose Exact Match, but you can learn more about these Comparison Rules below.
- The Ignored option allows you to select parts of the match field values to exclude. In the dropdown, check the boxes for all elements you want to remove from the comparison.
Choose from: Symbols; Digits; Letters; Whitespace; Common Terms (see the Editing Common Terms info below for details); Text (substrings); URL Path (i.e., /us/western-region); Top-Level Domain (Extension) (i.e., .com, .co.uk); Sub Domain (i.e., www., app.) - The Match Parts field tells Insycle whether to match the entire field or just part of it—such as the first few words, or last few characters.
If you need to create relationships between records based on one of several values in a field, you can use the "Semicolon Separated" option. Learn more about matching with fields that contain multiple values below.
You can create multiple matching field rules to set stricter criteria for records to be considered a match. A record must match all the rules to qualify for the relationship.
When adding extra match fields, the Condition options let you specify additional rules for the field that enable more flexible matching.
If no matching record is found, you can choose to automatically create a new company record based on what is in the contact record. Check the Create new Companies when no matching is found box to enable this feature, then select one or more fields to use for naming the new company.
Important notes about this feature:
- This feature only works when associating contacts to companies, not companies to contacts.
- When using the "Exact Match" Comparison Rule, the "Create new..." setting could potentially create duplicates, so you should be thoughtful with the Matching Field and Comparison Rule that you use.
Check the Count unmatched Contacts records as Failed box to flag unmatched contacts as "Failed" on the Result popup and in the CSV report. When left unchecked, unmatched records are counted as "Unmodified."
This setting is useful when you want to be notified about records where a relationship couldn't be created, especially when configuring automated processes.
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 your HubSpot database.
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 on the Simple tab.
Or on the Related tab.
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.
When working with HubSpot, for every Insycle operation that updates or creates a record, the Run ID will be updated in the custom property, Insycle Run ID.
If the Insycle Run ID doesn't already exist in your HubSpot database, add it as a custom property with the label "Insycle Run ID" to each object type as needed.
This object label is the only requirement for the integration to work properly. It's not dependent on the internal name or underlying API field name.
When using an Insycle Recipe that includes templates for more than one object type, such as companies and contacts, the same Run ID will appear in both HubSpot records.
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 because 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 associated with each deal, then take the company from each contact and add it to the deal record.
Insycle then reviews all deals in your segment, associating them with companies based on the information 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 HubSpot database 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.
On the Advanced tab, you can also use the Semicolon Separated parameter to find matching values in a Related Match Field. This allows you to specify multiple matching fields, and Insycle will evaluate the combined set of values from both 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.
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 for matching, note that they are only compatible with Exact Match, not Similar Match.
Insycle comes with a predefined list of terms to ignore, such as "HQ," "Inc.," or "LLC." If you elected to ignore Common Terms, click the Terms button at the bottom of Step 2 to view or edit this list.
In the popup, you can customize the list of terms that Insycle will ignore when matching records.
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.
You can also remove existing associations and replace them with new ones using the Replace action. This will delete existing associations under the selected labels and create new ones 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 handle all the cleanup automatically.
The Existing tab lets you use existing labels to control which records to add or remove labels from. You can also remove associations from here.
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
When Insycle detects multiple potential matches for a single record during association, it marks those records as 'Failed' in the CSV report to prevent incorrect links. You will also see a Message similar to 'Multiple target matches (x)...' or 'Multiple source matches...'
For example, if you were associating contacts with companies, and Insycle found ten company records named "Microsoft," it wouldn't know which Microsoft to establish the relationship with, so this would fail.
There are a few options for resolving this issue:
Merge duplicates: If there shouldn't be multiples of these records, you should first go through the process of merging duplicates before trying to create the relationships.
Add parameters to be more specific: If there are supposed to be multiple similar but distinct records, there are several features in Step 2 that you can use to refine the criteria:
-
Add a second field. A record would have to match both field values to be considered appropriate for making the relationship.
-
Use the filter. This will narrow the set of records to be associated.
For example, in the filter popup, you can add the "Company name" field and set the parameters to "contains" and "HQ." This tells Insycle to only consider companies for association if the Company Name value includes the term "HQ." -
Add Selection rules. In cases where there are multiple target records that could match, you can add Selection rules to choose the appropriate record.
When you add multiple selection rules, the criteria are evaluated sequentially, one at a time. If a record meets the first criterion, the remaining rules do not affect the selection. The first record that matches is considered the appropriate match, and no further criteria are checked.
For example, you can create rules in the selection pop-up to choose the record where the Lifecycle Stage is 'Customer'; if there is no single match, then select the record with the most associated deals, and so on. -
Add a Condition field. Add a Condition to your second matching rule to create more specific criteria. For example, to remove contact-to-company associations where the contact's country doesn't match the company's country, add a condition that Country/Region must not match.
An "Unmodified" Result with the Message "Unmodified, no matching record found (use 'Grid Edit' to troubleshoot)" result occurs when there are no 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)" 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 HubSpot.
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 HubSpot'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.
If you're experiencing issues with missing fields or fields not working as expected in your association operations, this may be due to field inclusion settings.
Common symptoms:
- Fields you want to use for filtering don't appear in the field dropdown or show no values
- Matching fields for associations are missing from the dropdown menus
- Copy operations aren't finding the source or target fields you need
- Records that should match for association aren't being found when using certain fields
Solution:
Verify that the fields you need are included in your Insycle dataset:
- Navigate to Settings > Fields
- Select your database and object type from the top menu
- Use the search to find the field
- Verify that the Included toggle is enabled (yellow = on, grey = off), or the Automation box is checked
- If not, toggle the Included control to the 'On' position
- Repeat this process for all object types involved in your association (e.g., both contacts and companies if associating contacts to companies)
You must have an Admin or Owner user role to manage field inclusion.
Note: Field inclusion changes typically take effect during the overnight sync process. If you need immediate synchronization of newly included fields, contact Insycle support to trigger a full sync.
Learn more about managing the HubSpot fields included in Incycle.
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 one or more fields 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