Bulk Associate Contacts, Companies, and Deals in HubSpot

How to Associate Related HubSpot Contacts, Companies, Deals, Tickets, or Custom Objects

Your sales and marketing teams rely on accurately associated records in HubSpot for context in sales conversations and account-based marketing applications. When these associations are missing, prioritizing opportunities is difficult, and your staff fails to engage effectively with important stakeholders.

With Insycle, you can automatically detect and associate HubSpot contacts, companies, deals, and custom objects in bulk. This will maintain order in your HubSpot CRM and give your teams a complete picture of every account. 

If the records you want to associate are already in HubSpot, use the Bulk Operations module. To associate new records from a CSV while importing, use the Magical Import module.

Associate Contacts to Companies Using the Bulk Operations Module

To associate existing HubSpot records, use the Bulk Operations module. Here, you can associate contacts, companies, deals, and custom objects as needed, including child and parent associations.

Process Summary

  1. Filter records down to those you want to associate.
  2. Set rules for making the associations.
  3. Preview and apply the changes to HubSpot.

Step-by-Step Instructions

Step 1: Select and Filter Records

In the Bulk Operations module, select the HubSpot database and the object in the top menu. Then explore the default templates for a pre-built solution.

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 do not 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 change the filter, you need to click the Search button again to refresh the viewer.

Step 2: Configure Rules That Will Create the Relationship

Under Step 2, you'll define the rules for bulk matching the two record types during the association process. This example will associate Contacts to Companies.

Click the Associate tab. 

Configure the rules that will create the relationship between the two record types. In the first row: 


1. Action tells Insycle what to do to the HubSpot records that surfaced in Step 1. Add, Remove, or Replace associations. The Replace action removes existing associations and labels and creates new ones based on your rules.

2. Associate specifies the type of record you want to create the relationship with. In the example above, Contacts will be associated to Companies.

3. Use the HubSpot association Labels to categorize the association relationship. You can add, remove, or set multiple labels in one action. 

4. Click the Companies Filter button to narrow the target records down to those that would be a good fit for this relationship.

In the Company Filter popup you could, for example, add the "Company name," field and set the Condition, "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.

The next line tells Insycle what values to use to identify company matches:


5. The Field Name is the field from the source record (Contact) you want to try and match with the target record (Company). In the example above, Company Name from the Contact record will be used. 

6. The Match Field is the target field to be matched with the source record. In this example, the Company Name field from the Company records will be analyzed for a match.

The Field Name and Match Field are often the same for both records.

7. The Comparison Rule tells Insycle whether the values between the Contact and Company records must be an Exact Match or Similar Match. In most cases, you'd select Exact Match, but you can learn more about these Comparison Rules in the Pro Tip below.

8. In the Ignored field you can specify parts of a field value to ignore, such as specific text, whitespace, or characters. In the dropdown, check the box for the values you'd like to ignore.

In the example, the Ignore rule tells Insycle to ignore a list of Common Terms that may appear in the Company Name field such as "LLC," "Inc." or "Co." This is often a necessary field for matching companies. To view or alter the list of Common Terms, click the Terms button at the bottom of this section (see below).

9. The Match Parts field tells Insycle whether to match the entire field or just part of it—such as the first or last few words, or first and last characters.


10. If no matching Company is found, an association will not be created. In these cases, 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.

There are a couple of things to note when using this setting:

  • 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.

11. The Ignored "Common Terms" can be edited using the Terms button. 

Step 3: Preview and Apply Changes to Your HubSpot Records

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. 

First, under Step 3, click the Review button.

In the Bulk Associate popup, select Preview and click Next.


On the Notify tab, add any additional recipients who should receive the CSV (and make sure to hit Enter after each address). You can add colleagues and additional context here.

On the When tab, click the Run Now tab and select which records to apply the change to (in most cases this will be All), then click the Run Now button.


Open the CSV file from your email in a spreadsheet application and review the columns. For each contact record that didn't already have an Associated Company ID value, Insycle tried to match it with a Company record using the Company Name values. You can see the two Company Name values side by side, and the Result column tells you if the relationship was added. 


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 3, click the Review button, this time select Update mode. 

On the When tab, click Run Now and select which records to apply the change to (in most cases this will be All), then click the Run Now button.

Save Templates and Setup Automation to Maintain Formatting

After you've seen the results in HubSpot CRM 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 formatting operation runs on a set schedule. 


By automating with a template, you'll save time and ensure that your fields are consistently associated on an ongoing basis.

Pro Tip: When to Use Similar Match

"Similar matching" works by analyzing the “closeness” of two different data points.

Closeness is determined by measuring the number of changes necessary to make the two data points match. This is known as "edit distance,” which looks at the number of insertion, deletion, and substitution differences required to make two different points of data exact matches.

  • insertion: bar → barn
  • deletion: barn → bar
  • substitution: barn → bark

While not ideal for every situation, similar matching can be a good way to find companies that have slightly different values between the records.

Advanced: Using Multiple Related Matching Fields

You can specify more than one matching field when making associations in the Bulk Operations module. 

For example, maybe you want to compare a contact's Website Domain against a Company's Website, along with any listed in the Additional Domains field. 

To do this, select the Associate tab in Step 2, then the Advanced Tab from the sub-menu. There, you'll be able to add Related Match Fields to catch more associations. 


Troubleshooting: Broad Dataset Causing Automation Delays

If you have a Bulk Operations template set up that is running operations on a large number of records, this can cause unnecessary work for the system and make your automated processes quite slow.

Use the filter under Step 1 to focus only on a relevant segment of records.

Why Filters Are Important

Say you had an automated template set to associate contacts to companies. If the template doesn't specify to ignore contacts that are already associated, it will look at all contacts and redundantly try to re-associate contacts that are already associated.

A filter such as, "Primary Associated Company ID," "doesn't exist" ensures that Insycle will only look to associate those records that do not already have an association in place. Otherwise, Insycle will scan your entire database, including contacts that already have associations. This will slow your processes down significantly.


Another approach would be to add a filter to associate only contacts that have been updated since the last time the automated template ran. For a template that runs once a week, you could look only at records that have been modified in the last 6 days.


Instead of—or in addition to—a schedule-based approach, you could use the HubSpot Workflows integration to trigger a Recipe to associate right when the contact is modified.


Associate Contacts to Companies Using the Magical Import Module

If you have a CSV file containing data to be imported as new records, use the Magical Import module to associate people and companies to existing records in your database when you import.

To learn more about the importing process, review the Import new records or update and append to existing from CSV article.

Process Summary

  1. Upload the CSV file.
  2. Map the CSV columns to the HubSpot fields and specify how to import the values.
  3. Select the unique identifier field.
  4. Set rules to make associations between CSV and the HubSpot records.
  5. Optionally, specify formatting changes to make to data during import.
  6. Import the data with the specified associations to HubSpot.

Step-by-Step Instructions

Step 1: Select the File, Map Columns, Specify How to Import Values

Select the CSV File for Import

Select the Magical Import module from the left navigation, then select the database and the record type in the top menu.

Click the Choose button and select the CSV file that you would like to import. Uploading a file into Insycle does not import it to the HubSpot CRM right away, instead, you can prepare the data in a variety of ways before actually importing it to HubSpot.

Map CSV Columns to HubSpot Fields

After uploading your CSV data, Insycle analyzes your file and compares the columns in the file to fields in your HubSpot database.

A column is included for each field in the CSV, with the CSV Column header appearing as the top row. Insycle automatically detects the matching HubSpot CRM fields and maps them for you. The second row shows the mapped CRM field names.

If your CSV contains fields that are not matched to fields in HubSpot, a red warning icon will show. 


These unmapped fields need to be mapped manually by clicking the dropdown and finding the appropriate HubSpot field. If they remain unmapped, the column will not be imported. If you choose to leave these unmapped you can remove them by hovering over the column name and clicking the “X”.

Specify How to Import Values for Each Column

With all relevant fields mapped, tell Insycle how to use the data on a field-by-field basis by selecting the Import Mode, in the third row of the table.


Four Import Mode Options

  • Update – Update HubSpot records with all non-empty field data contained in the CSV.
  • Fill – Import CSV values only when the corresponding field in your HubSpot CRM is empty.
  • Overwrite – Insycle will replace any existing data in HubSpot with the data in the CSV—even if the CSV field is empty.
  • Append – Import values from the CSV and append (add them to) the existing data already in HubSpot. A typical example of how “Append” is used would be in a “Notes” field, or to add to existing dropdown data without including historical selections in your CSV. 

You can also preview and edit the import data directly in Insycle by clicking the pencil icon next to any field when you hover over it.


If a record has errors, the red exclamation point notification will be shown on the left side of the record. When you hover over the red exclamation mark, an explanation of the error will be displayed.


Records that have errors in them will not be imported. 

Step 2: Select Unique Identifier Field and Choose Action to Take

Insycle uses identity fields to compare your CSV to your HubSpot CRM data. Identity Fields must be "unique identifiers." This is data that would only belong to a single contact, such as email addresses, phone numbers, home addresses, or ID numbers.

For example, no other contact in the database would have Maria Hernandez's email address, phone number, or ID number listed on their contact record. If a contact record contains a match for Maria Hernandez's data in one of those fields, we know that is the contact record for Maria Hernandez.

Under Step 2 on the Import tab, select the Identity Field from the dropdown. 


Select the Records Mode to tell Insycle how the imported data should be handled during the import process. 

  • Update existing and create net new – If unable to find a corresponding record, a new record will be created in HubSpot.
  • Only update existing – If a corresponding record is found, it will be updated with the data from your CSV import. Records that are not matched with an existing HubSpot record will not be imported.
  • Only create net new – Only records that can not be matched with an existing record in your database will be imported. Records that already exist in your HubSpot database will not be updated.
Step 3: Optionally, Specify Formatting Changes to Make

You can make changes to the CSV data in Insycle before it is uploaded to HubSpot. You could apply formatting to a field, cleanse data, organize, and perform other actions before import.

On the Functions tab of Step 3, select the Column Name from the CSV file.

Select a Function for each column, telling Insycle how the data should be formatted when it is imported. When finished, click Apply.


In the above example, the settings will do three things:

  1. Capitalize First and Last Names.
  2. Format phone numbers to the E.164 international standard.
  3. Standardize US states to their full name.

Explore the list of options in the Function dropdown to find formatting options for any field in your CSV.

Click the Apply button to apply any changes made. These changes are applied to your CSV data in Insycle before importing.

Step 4: Set Up the Association to Make During Import

Under Step 4, click the Associate tab (this may also be called the Link tab, depending on the naming convention in HubSpot). 

Configure the rules that will create the relationship between the two record types: 


1. Select the Action to take. You can Add, Remove, or Replace associations. 

2. Click the Associate field and select the type of record you want to create the relationship with. 

3. Hubspot users will see a Labels field which is used to name the relationship.

4. In the CSV Column field, select the field from your CSV to identify matches. If you were associating contacts to companies, for example, you would likely choose the “Company” or “Company Name” field from your CSV import.

5. On the Match Field, select the field in HubSpot that should match your CSV value. For example, if you are using the “Company” field from the CSV, you'd want to match that to the “Company” or “Company Name” field in HubSpot.

6. Additionally, you have the option to create a new record in HubSpot when there is no match automatically found by Insycle by checking the Create when no matching is found box.

Step 5: Import the Data with Associations to HubSpot

By default, Insycle will attempt to import all of your CSV data into your database. If there are only a few records you want to apply the association to, return to the table under Step 1 and check the boxes beside the select records. Leave the checkboxes blank to import all of the records.

Note that changes are applied to your HubSpot CRM immediately, there is no preview step. To import, click the Import X Contacts button under Step 5.


After the import runs, the Import Result breaks down the import information—how many records you tried to import and how many succeeded, failed, were updated, deleted, or unmodified. Click the Run ID to open a CSV record of the import.


A record of these changes can be found anytime in the Activity Tracker.

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, to reproduce the same formatting operation in the future.

Pro Tip: Using Multiple Identity Fields

You can select more than one Identity Field in Step 2, however, Insycle will check all the fields to match. If one single field does not match, a corresponding company HubSpot record will not be identified.

Using the Update existing and create net new setting, Insycle will fail to match many records and instead will create a new record.

With the Only update existing setting, you will identify far fewer existing records and much of your CSV data will not be imported because Insycle will not be able to find the correct record to update.


Troubleshooting: Using Identity Fields That Aren't Unique

If you're using a field that is not truly unique as an Identity Field, it's likely that Insycle won't be able to identify one single record to use. For instance, there could be many companies with the Industry, "Education" in your HubSpot CRM, this wouldn't help you ensure you are pulling data from the correct company. This is why uniqueness is key.


Tips for Creating Associations in HubSpot

  • To create associations between records, you need 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.
  • You can add, remove, or replace associations with multiple labels in bulk, with one action
  • You can make associations in both directions for any object: 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.

HubSpot Specific Considerations

Primary vs. Non-Primary Associations

HubSpot records allow for multiple associations. For instance, a contact might be associated with both a primary company, as well as several subsidiary companies. In HubSpot, you can designate an association as the "Primary" association. This is visible on the record's profile page. The "Primary" tag is technically a label but has other implications such as that association showing at the top of association lists and being more visible within the UI. 


With Insycle, you can add or remove the "Primary" label using the matching rules you set for your template.

Removing Associations and Dealing with Labels

With Insycle, you can remove associations and all labels for that association in one step. Select the Remove action, and all relevant labels, including unlabeled ones, in the Labels dropdown. 


Typically, this would be a multi-step process of first removing the labels, then removing the unlabeled association. Insycle cuts this process down to one step. 

Supported HubSpot Record Types

The following HubSpot CRM objects are supported in Insycle:

  1. Contacts
  2. Companies
  3. Deals
  4. Tickets
  5. Custom Objects

Additional Resources

Related Help Articles

Related Blog Articles