Create Associations between Contacts, Companies, and Deals to Link Key Data

Your sales and marketing teams rely on properly associated records for vital context in communications and sales conversations and for account-based marketing applications.

Use Insycle to automatically detect and link contacts, companies, deals, custom objects, in bulk to maintain order in your CRM and give your teams a complete picture of every account. Then, automate to ensure these associations are made automatically on a set schedule.

There are two different modules you can use for association:

Which Module to Use When

To associate records that are currently in the database in bulk, use the Bulk Operations module and the Associate action. 

To associate new records from CSV, use the Magical Import module and the Associate action under the Manage Data Step.

About Associating & Linking

To associate 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 set associations in both directions:

Contacts to Companies, or Companies to Contacts

Though setting 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 associations with obvious matching fields, the direction of the association doesn't matter. But in some cases, such as associating custom objects or child and parent companies, association direction may be important.

Associating Contacts to Companies in Bulk Using the Bulk Operations Module

To associate existing 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 changes in a CSV report.
  4. Apply the changes to the CRM.
  5. Save the configuration as a template.
  6. Set up an Association automation.


Step-by-Step Instructions

Step 1: Select and Filter Records

Select the Bulk Operations module from the left navigation, then select the database and the Contacts record type in the top menu.

contacts object

Select the “Associate Contacts to Companies Using Nametemplate as a starting point. This is the most commonly used template for bulk associations. The configuration looks for contacts that do not have an "Associated Company ID" but do have a company name. These are the contacts that we want to filter down to and potentially associate, assuming a match can be found. You can edit this filter and use any field.

associate contacts

Why Filters Are Important

A filter such as, "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.

As with all Insycle templates, this is an excellent starting point, but you can customize this filter as needed.

Click Search to see the records that match these criteria at the bottom of the page in the Record Viewer

Step 2: Configure Rules That Will Make the Associations

In this step, we'll tell Insycle how to associate companies in bulk, and define the rules for matching contacts to companies during the association process.

Under Step 2, click the Associate tab.


Numerous settings specify how to make the linking connection.

The Action setting tells Insycle whether to add or remove associations among the records we filtered in Step 1. To associate contacts to companies, select "Add."

add action

In the Record Type picklist, select "Contact to Company." There are also other association options available here, including associating contacts, companies, deals, and custom objects.

associate action

Then click the Companies Filter button.

While in Step 1 we told Insycle how to filter down our contacts to only those that are fit for associating with a company, in the Companies Filter, we tell Insycle how to filter companies down to those that would be a good fit.

Here, for example, you can add the "Company name," field and Condition, "exists." This tells Insycle to only consider companies for association if the Company name field has a value in the database. 

company filter
We use this filter because ultimately, we will use the Company Name as a matching field for both contacts and companies. If you are using a different field for matching, you may want to use a different field in your Company Filter. 

The Field Name is the field contained within the Contact record type and the Match Field is the Company record field we will be matching it with.


For the Comparison Rule, the template is configured to only associate if company names between the Contact and Company records are an exact match, but you can also use "Similar Match." The Ignored picklist tells Insycle to ignore common terms in the company name such as "LLC," "Inc." or "Co." These terms can be edited using the Terms button.

comparison rule ignored terms

You can choose other things to ignore here as well, including symbols, digits, letters, whitespace, domains, subdomains, or specific text.

Use the Match Parts field to tell 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.

match parts

When no matching Company is found, an association will not be created. In these cases, you can choose to automatically create a new Company record for the association in your CRM and link it.

To enable this, check the "Create new Companies when no matching is found." In this scenario, if no matching company is found when linking contacts to companies, a new company would be created and linked to the contact.

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.

create new company

"Create New" Tip

With the "Create new..." checkbox checked, only the first field added to Step 2 will be populated in the new record in the Company Name field. This feature is only designed to work associating Contacts to Companies, and not Companies to Contacts. The direction matters.

Preview Changes in CSV Report

Now with the filters and functions set up, you can preview the changes you are making to your data. That way, you can check to ensure your association configuration is working as expected before those changes are pushed to your live database. 

First, under Step 3, click the Review button.

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.

Notification email

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.


Open the CSV file from your email in a spreadsheet application and review the columns. For each field you’ve set up to change, a column will appear for both (Before) and (After). This will let you know what you started with and what change will be made to your CRM.


Apply Changes to the CRM

If everything in your CSV preview looks correct, return to Insycle and move forward with applying the changes to the live CRM data.

Under Step 3, click the Review button, select Update mode, then click Next

On the Notify tab, add any additional recipients who should receive the CSV.

On the When tab you can choose to run and apply the update now, or you can set up an automation to run the template regularly. The first time you apply these changes to the CRM, we suggest you Run Now.

In the Run Now tab, you can control how many records to run the template on. Click Run Now to apply the changes to your CRM.

Save Templates and Setup Automation to Maintain Formatting

Save the Configuration as a New Template

After you've seen the results in the CRM and you are satisfied with how the operation runs, you can save all of the configurations as a template. This will save you time and provide consistent results.

Return to the Template menu at the top of the page and click the + to give it a unique name and then click the Save button.


Setup Automation to Run the Template on a Regular Basis

Under Step 3, click the Review button, select Update mode, then click Next

On the When tab under Automate, you can schedule this template to run on an hourly, daily, weekly, or monthly basis.

bulk associate

After setting up an automation, Insycle will scan your database and automatically associate contacts to companies on the set schedule, based on the reles applied in your template. When the operation runs, you'll receive the CSV in your inbox showing the changes that were made.

You can view all automations you have scheduled on the Automations page of your dashboard, and all updates to your data can be viewed and downloaded as reports in the Activity Tracker.

You can create multiple templates for different types of associations and bundle them together using Recipes. Additionally, Hubspot users can integrate Recipes into HubSpot Workflow Builder

Associating 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, on import.

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

Process Summary

  1. Select the CSV file.
  2. Map the CSV columns to the CRM fields and select the import mode for each field.
  3. Select the unique identifier field.
  4. Set Rules to set associations between CSV and CRM records.
  5. Select the rows to import.
  6. Import the data with the specified associations to your CRM.


Step-by-Step Instructions

Select the CSV File for Import

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

Select the CSV file that you would like to import. Uploading a file into Insycle does not import it to the CRM immediately; instead, you can prepare the data in various ways before importing it to the CRM.

choose csv file
Step 1: Map CSV Columns to CRM Fields, Set Import Modes

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

A column is included for each field in the CSV, with the CSV column header appearing as the top row. Then, Insycle automatically detects the matching 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 your CRM, a red exclamation point error notification will show.


These "Not Mapped" fields need to be mapped manually by clicking the picklist and finding the appropriate CRM field. If they remain unmapped they will not be imported.

Set the Import Mode for Each Column

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

append to multi-select picklist
Step 2: Select Unique Identifier Field and Choose Action to Take

Insycle uses Identity Fields to compare your CSV to your CRM data. Identity Fields must be "unique identifiers." These are data points that would only belong to a single contact—such as email addresses, phone numbers, home addresses, or ID numbers.

Under Step 2 on the Import tab, select the Identity Field from the multi-select picklist.

email identity field

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

  • Update existing and create net new – Insycle will attempt to match imported records to existing CRM records using the identity field. If Insycle is unable to find a corresponding record, a new record will be created in your CRM.
  • Only update existing – Insycle will attempt to match imported records to existing CRM records using the identity field. 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 CRM record will not be imported.
  • Only create net new – Insycle will attempt to match imported records to existing CRM records using the identity field. Only records that can not be matched with an existing record in your database will be imported. Records that already exist in your CRM will not be.

For example, if you want to make associations for existing records but do not want to create new records in your database, you can select "Only update existing."

Using Multiple Identity Fields

You can select more than one identity field, however, Insycle will check all the fields to match. If one single field does not match, the corresponding matching CRM record will not be identified and will not be deleted.

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

If you use the "Only update existing" setting with many Identity Fields, you will identify far fewer existing records and much of your CSV data will not be imported, and data will not be appended because Insycle will not be able to find the correct record to update.

too specific

Outside of specific use cases, it is typically best to use a single identity field.

Troubleshooting: Using Overly Broad Identity Fields

If you're using a field that is not uniquely identifying, Insycle will likely identify the wrong record in your CRM as a match. For instance, there are probably many people with the first name "John" in your CRM, but you want to ensure that you identify the correct record for the John listed in your CSV. This is why it is important that you use uniquely identifying fields, like email or phone number.

too broad
Step 3: Optionally, Specify How to Prepare and Modify Your Data before Import

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

On the Functions tab of Step 3, select fields and functions to apply to the field data.

prepare data
Click the Apply button to apply the changes. Changes here must be made to the data before importing into your CRM. 
Step 4: Set Up the Association to Make on Import

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

associate on import

Choose an Action, either to Add or Remove associations. For associating on import, choose “Add."

action add

Click the Associate field and select the second Record Type. This tells Insycle what kind of associations we would like to make using the CSV import data.

You can choose:

  • Contacts to company
  • Contacts to deals
  • Contacts to custom objects
pick record type

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

On the Match Field, select the field that the CSV field should match in your CRM database. If you are using the “Company” field from the CSV, for example, you'd want to match that to the “Company” or “Company Name” field in your CRM.

Additionally, you have the option to create a new company record when there is no match automatically found by Insycle. You can do this by selecting the checkbox next to the picklist selections in this tab.

Step 5: Select Rows and Import the Data with Associations to Your CRM

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.


Click the IMPORT X CONTACTS button under Step 5, and the matching associations will automatically be created in your CRM based on your settings.


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


Multiple Sources Matched Error

If you receive a "Multiple Sources Matched" error, this indicates Insycle found multiple records that meet the criteria. Try changing the direction of the association to resolve the error.

No Obvious Matching Fields Between the Two Record Types

Bulk associations require that you have a field that you can use to match the two records. For instance, you might store "Company" for contacts, and "Company Name" for companies. 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?

This is a fairly common scenario. 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 CRMs automation features.

Then, you'll be able to use the Custom Parent Company field for both contacts and companies to make the patch.

The key is finding a data point that would allow you to match the associations, even if it is only available for one record type. Then we create the custom matching fields that allow us to make the associations.

Frequently Asked Questions

Can Insycle associate activities with a company or other record?

No, Insycle does not currently allow you to access, update, or associate activities. When you merge companies, it would re-associate activities from the duplicate company to the master company, and re-assign contacts and deals to the master, see below and attached help article.

What fields does Insycle use to create associations?

Insycle allows you to use any field in your database to match associations. Commonly used fields for linking include company names, company domains, company domains, and company URLs.

What does the 'Multiple Source Matches' error mean?

It means that when Insycle goes to make the association, it is finding multiple records that meet your criteria. Often, this is either because you are using a field that is not a uniquely identifying field (so Insycle will detect multiple records that match the criteria), or you have duplicate records that need to be merged before the association can take place. 

Can I associate companies to contacts instead of contacts to companies?

Yes, with Insycle you can associate in any direction and it will work. Please make sure you have the correct starting record type selected at the top of your module screen.

Can Insycle manage parent-child associations and links?

Yes, Insycle can help manage parent-child associations. For more information, check our article on that topic here.

I want Insycle to create and associate a company record if one is not identified. Is that possible?

Yes, check the "Create when no matching is found" checkbox.

create when no match found
How can I identify companies created in HubSpot while associating (when checkbox selected) in the Bulk Operations module?

When a company has been created by Insycle, check the Company record property "Original Source data 2." This field populates with Insycle when Insycle has created the record.


Additional Resources

Related Help Articles

Related Blog Articles