Bulk Associate Child to Parent Companies in HubSpot

data-monster-parent-child.png

How to Establish Relationships Between Parent and Child Companies in Bulk

Your sales and marketing teams rely on properly associated HubSpot data for context in communications and sales conversations. Without proper child-parent company associations in place, you lack vital context and potentially miss big opportunities.

With Insycle, you can automatically detect and create relationships between child companies and parent companies in bulk. 

If the parent and child records you want to associate are already in your CRM, use the Associate app. To associate new records from a CSV while importing, use the Magical Import module.

Tips for Creating Relationships between Companies

Identify Parent Companies In Your Database

A key to correctly associating parent companies in bulk is having a convention for identifying parent companies in your CRM. 

Common approaches include:

  • Adding an identifier to parent company names, such as "HQ." For example, the Parent Company value could be "Microsoft HQ."
  • Adding a custom field with a value like "Parent Company" or "HQ" to manually tag parents, then include this in the companies filter under Step 2.
  • Adding a HubSpot label, such as "HQ," to parent companies, then use this label to select companies on the Related tab of Step 2.
  • Using other fields, such as opportunity amounts, to automatically identify and tag parent companies. 

There may be other ways to identify parent companies; it will depend on your data and situation.

Associate Child and Parent Companies with the Associate App

The Associate app can associate records that already exist in your database.

Process Summary

  1. Filter records down to those you want to associate.
  2. Set rules for making the associations.
  3. Optionally, copy a value between the associated records.
  4. Preview and apply the changes to the CRM.

In this example, the Company Name values of parent companies have already been appended with "HQ" to distinguish them from other companies, as suggested in the Tips for Creating Relationships between Companies above.

Step-by-Step Instructions

Step 1: Select and Filter Records

Navigate to RevOps Acceleration > Associate.

Select the database and the Companies record type in the top menu. Then explore the templates for an existing solution. The Associate child to parent companies pre-built template can provide a good starting point that can be customized to fit your specific needs.

Under Step 1, the filter is configured to find company objects that might be child companies. Here, only companies that do not have an associated Parent Company, and the Company Name does not include the value “hq" will be included in the task.

child1.png

When you click Search, Insycle will list records that match the filter criteria in the Record Viewer at the bottom of the page. If you make changes to the filter, click the Search button again to refresh the viewer.

bulk-op-hubspot-companies-record-viewer.png

Step 2: Configure Rules That Will Create the Child-Parent Relationships

With HubSpot, there are two ways of creating child-parent company associations:

  1. Use a field that should have matching values on each record. For instance, you might select "Company Name," and/or "Company Domain" to match company records.
  2. Use intermediate relationships to fill in missing associations. For example, if you already have relationships between companies and contacts, you can use these relationships to create associations between child and parent companies.

Using Field Values to Match Records and Create Associations

In Step 2, set up the rules that tell Incycle what records to use, fields to look at, and what criteria the values must meet in order to consider them a match for creating the relationship:

child2.png

1. The Action tells Insycle what to do to the records that surfaced in Step 1. Add is used to create new child-parent company associations, or you could Remove existing associations. The Replace action removes existing child-parent associations and adds new associations in one easy step. 

2. Associate specifies the type of record you want to create the relationship with. This template uses the Company to Company option.

3. The Labels field is used in HubSpot to identify the relationship. Here, this is set as Child to Parent.

4. The Companies Filter is used to narrow the company records down to those that might be parent companies. To identify these, this filter will only look at companies that have, “HQ” in the company title. Update this filter to match the convention established for identifying parent companies in HubSpot.

5. Click the Selection button to define rules for picking the company if there are multiple matches found.

The next two lines tell Insycle what values to use to identify company matches: 

child3.png

6. The first Companies Field is the field from the child company you want to try and match with the parent company. 

7. The second Companies Field is the corresponding parent company field to be matched with the child record. 

In this template, Insycle will try to match the child Company Name to the parent Company Name, and the child Company Domain Name value to the parent Company Domain Name. The two matching fields are often the same for both the parent and child companies unless you are using a custom field to track an identifier.

To be considered a match, the values will have to meet the Comparison, Ignored, and Match Parts rules:

8. The Comparison Rule tells Insycle whether the values between the company records must be an Exact Match or Similar Match. This example uses Exact Match, but you can learn more about these Comparison Rules in the Pro Tip below.

9. Ignored settings 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 template, the first Ignore rule tells Insycle to ignore a list of Common Terms that may appear in the Company Name field such as "HQ," "LLC" or "Inc." To view or alter the list of Common Terms, click the Terms button at the bottom of this section (see #10 below).

In the second row, the Ignore rule says to ignore the Sub Domain in the Company Domain Name field values. For example, if the company is Microsoft, "www.microsoft.com," "dev.microsoft.com," and "app.microsoft.com" would all be considered matches. To also consider "www.microsoft.co.uk" as a match, add the Top-Level Domain (Extension) Ignore option.

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

11. Click the Terms button to edit the Ignored "Common Terms" from #9 above. 

child5.png

Using Current Relationships to Create Associations

Under Step 2, click the Related tab and set up the rules that tell Incycle what associations to use for creating the relationship. 

Use the HubSpot association Labels to categorize the relationships or filter the related records. A Label option must be selected for each rule. If you don't want any labels applied, use the Unlabeled option.

associate-hubspot-child-to-parent-companies-using-related-contacts-step-2-numbered.png

  1. The Action tells Insycle what to do to the records surfaced in Step 1. You can AddRemove, or use the Replace action to remove existing associations and create new ones.
  2. The Association is the relationship you want to create, the one that is missing on the source record. In the above example, we want to create a hierarchical relationship between companies. 
    Use the Association Action Labels to categorize the relationship. You can add, remove, or replace one or more labels based on the Action you've selected. In the example, the new relationship between companies will be labeled as "Child to Parent."
  3. On the Related From dropdown, select the association that already exists on the source records and already has the same relationship you want to add to the source records. In this example, the child company records are already associated with contact records, and those contacts are already linked to parent companies.
    The Related From Filter Labels act as a filter where only the existing associated records with the matching labels will be used/looked at. In the example, only contact records with a "Branch" label will be used.
  4. On the Related To dropdown, select the relationship from the associated record to copy to the source record. In this example, we'll copy the contact's associated parent company to the child company.
    The Related To Filter Labels act as a filter where only relationships with the selected label will be copied to the source record. In this example, only companies with "HQ" labels will be added as parent companies.

Learn more about Using Existing HubSpot Associations to Fill in Missing Relationships.

Step 3: Copy Values between the Associated Records (Optional)

If you want to ensure some values are consistent across linked records, such as the record owner, you can run that copy in bulk.

Under Step 3, select the field from the source record type (in this example, child companies) and the relevant field on the target records (parent companies). You can choose to copy values from the source company (child) to the target company (parent), or target company to the source. In the example below, the child company owner will always be copied into a custom field on the parent company.

The Copy Rule gives you three options: 

  • Only when [target record] field is empty (in this case, parent companies)
  • Only when [source record] field is not empty (child companies)
  • Always copy

associate-hubspot-company-to-company-step-3-copy-owner.png

The preview CSV will include these fields and specify if the value was copied for each record.

Step 4: Preview and Apply Changes to HubSpot

Preview Changes in a CSV Report

Now, with the filters and association actions in place, you can preview the changes you will make to your HubSpot data. Using the CSV, 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.

associate-hubspot-step-4-preview-mode.png

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, but if you have a large number of records, you may just want to do a chunk for your preview), then click the Run Now button.

associate-step-4-preview-run-now.png

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 company record that matched the filter with another company record. Each row in the CSV includes the result of the association step, the child and parent company info, field values that were matched, and details on the copy operation.

associate-hubspot-child-to-parent-companies-by-name-domain+copy-owner-csv.png

When using intermediate relationships to make associations, each row in the CSV includes the result of the association, and:

  1. Source record type (in this example, the child companies), with the ID, company name, and deeplink to the HubSpot record.

  2. Related record type (contacts), with the ID, email, and deeplink.

  3. Record type to be associated (parent companies), with the ID, company name, and deeplink.

associate-hubspot-child-to-parent-companies-using-related-contacts-csv.png

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 HubSpot data.

Under Step 4, click the Review button again. This time select Update mode. 

On the When tab, you should use Run Now the first time you apply these changes to the CRM, then click the Run Now button.

associate-step-4-update-run-now.png

Save a Template and Set Up Automation

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 process runs on a set schedule. 

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.

save-template-copy-and-rename.png

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.

associate-step-4-update-notify-always-send.png

On the When tab, select Automate, and configure the frequency you'd like the template to run. When finished, click Schedule.

associate-step-4-update-automate-weekly.png

Create a template for each segment and association configuration, then you can create a Recipe to automatically run them together. 

Additionally, you can create a Recipe, a template bundle that can then be inserted into HubSpot Workflows. This could ensure that child and parent companies are correctly associated immediately after they enter your database and before your first communications to them go out.

Pro Tip: In Step 2, Using Exact Match vs. Similar Match

The Comparison Rule defines what kind of likeness to look for when deciding if field values should be considered a match.

It's a good idea to start with Exact Match for the straightforward matches, then use Similar Match to broaden the search and 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.

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.

associate-hubspot-contact-to-company-step-2-company-name-similar-match.png

  If using ID fields to match, note that they will only work with Exact Match, not Similar Match.

Associate Child-Parent Companies from a CSV with 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 child companies to existing parent companies in HubSpot when you import.

Process Summary

  1. Select the CSV file.
  2. Map the CSV columns to the HubSpot fields and specify the import method.
  3. Set the unique matching criteria.
  4. Set rules to make associations between CSV and HubSpot records.
  5. Import the data with the specified associations to your HubSpot database.

Step-by-Step Instructions

1. Select the CSV File for Import and a Template

Navigate to Data ManagementMagical Import. Select the database and the record type in the top menu. Then choose the CSV file that you would like to import.

Uploading a file into Insycle does not automatically import it into the CRM. Instead, you can review and prepare the data in a variety of ways before actually importing it into the CRM.

The Preview panel will open and load the CSV rows, with a column for each field. Initially, you may see warning icons icon-red-warning-19x17.png next to columns that don't exactly match field names in your CRM database.

magical-import-contacts-preview-646w.png

Explore the templates to see if there's already something set up for your particular import task.

magical-import-template-import-format-assoc.png

2. Map CSV Columns to CRM Fields and Select Matching Criteria

AI-Powered Automatic Mapping

If you have AI enabled for your selected object type (with at least "Meta" level access configured in your AI settings), Insycle will automatically use AI to analyze your CSV column names and suggest appropriate CRM field mappings and matching criteria. This process happens in the background after your CSV loads.

The AI only accesses metadata such as column names and field labels—no actual record data is shared with AI service providers during this mapping process.

Review and Adjust Field Mappings

If AI is enabled, the Data Mapping section will automatically expand after processing your CSV. If AI is not enabled, click the Data Mapping heading to expand the section manually.

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 warning icon icon-red-warning-19x17.png will show at the top of the column. These unmapped fields must be manually mapped by clicking the Not Mapped dropdown and selecting the corresponding CRM field. If they remain unmapped, they will not be imported.

magical-import-hubspot-contacts-mapping-warning-email-address-646w.png

To remove columns from the import, hover over the column name and click the “X”.

If there are issues with row data, the red warning icon will be shown on the left side of the Preview row. When you hover over the icon, an explanation of the error will be displayed. Records with errors will not be imported. Learn about fixing common errors in the Troubleshooting section below.

magical-import-contacts-preview-warnings-invalid-owner-646w.png

Specify How to Use the Values for Each Column

Next, tell Insycle how to use the data on a field-by-field basis by selecting the Field Logic option in the third row of the table.

There are four Field Logic settings:

  • Update – Update your HubSpot records with data from all non-empty fields in the CSV.
  • Fill – Import CSV values only when the corresponding field in HubSpot 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 your HubSpot records. A typical example of how Append is used would be adding additional text in a “Notes” field. 

magical-import-contacts-mapping-import-mode-highlighted-646w.png

Review and Confirm Fields for Matching CSV Rows to CRM Records

If AI is enabled, it will suggest Matching Criteria based on your CSV columns and CRM fields. Review these suggestions, as Matching Criteria determine how Insycle compares your CSV data with CRM records to find matches.

Matching Criteria are unique identifiers like email, phone, address, or ID number, which typically belong to one entity. For example, a different person shouldn't have Maria Smith's email or ID in their record. If a record matches any of these fields, it's recognized as Maria Smith.

You can modify AI suggestions or select the Matching Field manually. Multiple matching rules can be set and evaluated in order from top to bottom, allowing multi-criteria matching.

magical-import-hubspot-companies-mapping-2-matching-criteria.png

When you configure your Matching Criteria rules, the Preview will refresh, and you'll be able to see which records are already in your CRM. The records that Insycle found will become blue links that will open the record in your CRM.

magical-import-contacts-preview-existing-blue-links-646w.png

Validating AI Suggestions

While AI can provide excellent starting points for Matching Criteria, always verify that the suggested criteria use truly unique identifiers for your specific use case and data quality standards.

3. Specify Formatting Changes or Validation Rules (Optional)

In addition to creating associations, you can take advantage of the many other tools and features available to manipulate your CSV data before importing it into your CRM. Learn more about using these features in the Magical Import Module Overview.

Format and Clean Up Data Before Importing

Make formatting changes and other standardization updates to the CSV data in Insycle before uploading it to HubSpot. Discover how to transform your data during the import process.

magical-import-hubspot-companies-preparation-name-state-646w.png

Exclude Data That Doesn’t Meet Validation Criteria

Use Data Validation to filter out records that don't meet your quality standards, or to target a segment before importing them into your CRM.

magical-import-contacts-validation-2-email-name-country-646w.png

Make Updates to Matching HubSpot Records 

Use Bulk Update to add a value to CRM fields even if you don't have the field in the CSV. This will add the same value for all the imported records.

magical-import-contacts-operations-bulk-update-lifecycle-646w.png

Set Date Formats

You can override Insycle's automatic date standardization under Data Mapping using the Date Format tab.

magical-import-contacts-mapping-date-format.png

Make Individual Edits in Preview

You can also make one-off changes to values directly in the Preview. Hover over a value and click the pencil icon.

import4.png

4. Set Up the Child-to-Parent Association to Make During Import

Click the Data Operations heading to expand the section, then click the Associate tab.

Configure the rules that will create the relationship between the two company records:

magical-import-hubspot-companies-operations-associate-child-to-parent.png

  1. Action tells Insycle what to do with the records in the Preview. Select “Add" to make this association during the import.
  2. Associate specifies the type of record you want to create a relationship with. Choose Company to Company.
  3. The Labels field in HubSpot is used to identify the relationship. Select Child to Parent.
  4. In the CSV Column field, select the field from your CSV to use to identify matches. When associating child with parent companies, you would likely choose the Company Domain or Company Name field from your CSV import.
  5. On the Match Field, select the field in your HubSpot database that should match your CSV value. For example, if you are using the “Company Domain” field from the CSV, you'd want to match that to the “Company Domain 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.
5. Import the Data with Associations into HubSpot

Select CSV Rows for the Operation

By default, Insycle will attempt to import all of your formatted CSV data into your database. Leave the checkboxes blank to import all of the records. If you only want to apply the association to a few records—perhaps to test it out before importing the entire CSV—return to the Preview and check the boxes beside the desired records. 

magical-import-hubspot-companies-preview-select-rows.png

Configure the Import

At the bottom of the Magical Import page, configure the Import.

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 Insycle is unable to find a corresponding company record in HubSpot, a new record will be created.
  • Only update existing – If a corresponding company record is found, it will be updated with the data from your CSV import. CSV rows 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 HubSpot database will be imported. Company records that already exist will not be updated.

Optionally, Add Records to Lists

When importing HubSpot contacts, the Add to List setting will appear. From here, you can add the imported records to a new or existing list.

Type to search existing lists in HubSpot or use the button to Create a new list. If you select an existing list, the Show link will let you open it in HubSpot for a preview.

Import the Data

When you click the Import [X] Companies button, you'll be prompted to confirm.

⚠️ Note that there is no preview step. Once you confirm, the data will be imported into your HubSpot database immediately.

magical-import-hubspot-companies-import-no-list-646w.png

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.

child18.png

After you've reviewed the results in HubSpot and are satisfied with how the operation runs, you can save all of the configurations as a template to easily reproduce the same import and associate operation in the future.

Troubleshooting: Seeing a red warning icon in the Preview

If AI is enabled for your object type, many warning icons may automatically disappear after the initial CSV processing. Remaining warning icons indicate issues that still need your attention.

If there are issues with a CSV row, a red warning icon icon-red-warning-19x16.png will appear at the left end of the row and next to the relevant field in the Preview. Rows with errors will not be imported.

To learn what the problem is and determine steps to resolve it, hover over the red exclamation mark—an explanation of the error will display.

Several common reasons for the warning icon include:

  • Your validation rules
  • Several records match your criteria
  • Invalid picklist values
  • Invalid reference values
  • Unmapped columns

Your validation rules. A row will show warnings and be excluded from the operation based on your validation rules. The warning info will list which rules apply to the row.

magical-import-contacts-preview-warnings-email-country-646w.png

There are several records in your CRM that match. If multiple records have the same Matching Criteria, Insysle identifies these as matching records in your CRM.

If there should be only one record with this value, you may need to first merge duplicates and then try importing again.

If there are legitimate reasons for a Matching Field value to exist in more than one record, try adding additional Matching Criteria to make it more specific.

magical-import-contacts-preview-warnings-3-matches-646w.png

Invalid reference values. If a column is mapped to a CRM field that references other data, such as owners or associated record IDs, and no match is found, an error will appear.

magical-import-contacts-preview-warnings-invalid-owner-646w.png

Invalid picklist values. If a CRM field includes dropdown options and the data in your CSV does not match, you'll see an "Invalid picklist value" error. This value needs to be changed to match the dropdown options in your CRM.

magical-import-companies-preview-warnings-industry-picklist-646w.png

To quickly fix the import data directly in the Preview, hover over a value and click the pencil icon.

magical-import-companies-preview-warnings-industry-picklist-edit-646w.png

Once you've selected your Matching Criteria, filter options will become available in the Preview. You can use the Show Only Warning Rows filter to view only rows with warnings.

magical-import-contacts-preview-show-only-warning-rows-646w.png

Pro Tip: Using Multiple Matching Fields

You can select more than one field in each Matching Criteria rule; however, ALL of the fields must match, not just one or some of them. If you include five fields and four of them match, but one doesn't, Insycle will not consider the rule a match.

magical-import-contacts-mapping-too-many-criteria-646w.png

In this scenario, if you import using either the 'Update existing and create net new' or 'Only create net new' Record Modes, Insycle will create a new record for any CSV rows that don't match all five criteria.

magical-import-hubspot-companies-import-no-list-646w.png

If you use the 'Only Update Existing' mode, there will likely be few records that match all your criteria, and much of your CSV data will not be imported because Insycle will not be able to find the correct record to update.

Typically, it is best to use a single field for your first Matching Criteria to improve the likelihood of finding existing records in your HubSpot data. You can then add additional rules to match multiple fields.

HubSpot Specific Considerations

Supported HubSpot Object Types

Insycle supports associating the following HubSpot object types:

  • Contacts
  • Companies
  • Courses
  • Deals
  • Line Items
  • Listings
  • Orders
  • Tickets
  • Custom Objects
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. 

mceclip0.png

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, there are a couple of ways to remove associations and all labels for an association 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. 

associate-hubspot-child-to-parent-companies-step-2-simple-tab-remove-646px.png

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.

associate-hubspot-child-to-parent-companies-step-2-existing-tab-remove-646px.png

Learn more about using associations and labels in HubSpot.

Deduplicating Associated Companies

When deduplicating child or parent companies in HubSpot, Insycle can detect even the most complex company hierarchy associations, ensuring that the correct child company master records are associated with the correct parent company master records after the companies are merged.

Parent Company Retention: During the merge, if a duplicate company has a parent company and the master company does not, Insycle keeps the parent company from the most recently modified duplicate that has one and applies the Parent label.

Customizing Parent Company Selection: To control which parent company value is retained using the Merge Duplicates module, configure the Parent Company field in Step 4 on the Fields tab. You can choose to keep the master's value even if empty, select from a record that has a parent company, or base the selection on other field criteria. Learn more about defining what field data gets saved when merging duplicates.

merge-duplicates-hubspot-companies-step-4-fields-tab-parent-company-646w.png
Insycle Run ID Property in HubSpot

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

hubspot-contact-property-history-insycle-run-ID.png

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.

hubspot-contacts-custom-property-insycle-run-ID.png

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

Associating Child-Parent-Grandparent Companies

Incorporating company hierarchy data in HubSpot can be a game-changer. This information is crucial for understanding the structure and relationships within and between organizations.

However, records with multiple levels of hierarchical associations aren’t automatically linked together in a chain or nested like matryoshka dolls. Instead, you create different types of parent-subsidiary relationships.

One: Create Custom Fields to Capture Information About Relationships

In HubSpot, create a custom property to capture the extended relationship info. In this example, we're using the existing Parent Company property and creating a custom property, "Grandparent Company." 

Two: Create a CSV File Containing Relationship Information

This CSV file is configured for companies that already exist in HubSpot. Use the existing record IDs to fill in the Parent Company and Grandparent Company info.

magical-import-hubspot-companies-parent-grandparent-example-csv.png

Three: Import the CSV data into HubSpot

Use the Magical Import module to import the CSV data into HubSpot.

For in-depth instructions on how to do this, see the Associate Child-Parent Companies from a CSV with the Magical Import Module section above.

magical-import-hubspot-companies-preview-parent-grandparent-IDs.png

Under Data Operations on the Associate tab, you can create child-parent associations using the record IDs.

magical-import-hubspot-companies-operations-associate-child-to-parent-by-ID.png

Once run, you'll see the parent-child associations in HubSpot. Although you have now added the Grandparent ID value, additional steps are needed to create a labeled association.

Four: Create a Custom HubSpot Label for the Grandchild-Grandparent Relationship

In your HubSpot company settings, create a new label. For this example, we’ll use “Grandchild Company” and “Grandparent Company.”

Create A pair of labels where many companies can have the “Grandchild Company” label, and only one company can have the “Grandparent Company” label.

hubspot-settings-grandchild-grandparent-label.png

Five: Make Grandchild-Grandparent Associations

Use the Associate app to associate grandchild with grandparent companies. 

For complete step-by-step instructions, see the Associate Child and Parent Companies with the Associate App section above.

associate-hubspot-companies-step-1-grandparent-company.pngassociate-hubspot-companies-step-2-grandparent-company.png

Tip: Using ZoomInfo

If you don’t have the company hierarchy data, you can use a business data service like ZoomInfo, which integrates directly with HubSpot. Once you’ve integrated the platforms, you can use Insycle’s Associate app to leverage the ZoomInfo data to make the relationships.

Mirroring Salesforce Account Hierarchy in HubSpot

The process of checking Salesforce hierarchies and re-creating them in HubSpot is labor-intensive, costly, and an easy way to introduce errors. Challenges arise from the inherent differences in how these platforms structure and manage data, as well as the complexities involved in syncing information across multiple systems. 

In Insycle, there are a couple steps you can take to optimize and automate this process.

First, you can use a custom ID to ensure relationships between child and parent companies are consistent between HubSpot and Salesforce, in bulk and automatically.

Then, you can use the filters in the Associate app to segment the companies from both CRMs, and make the process run more efficiently.

Setting Up the Custom ID Property

In HubSpot, create a custom property to hold parent company ID information. This new field must be a “dropdown select” field type.

hubspot-create-custom-field-parent-company-id.png

In Salesforce, add a new sync rule and mapping to share Salesforce’s parent company ID with HubSpot. On the HubSpot-Salesforce integration page, go to the field mappings for the Company property, and set the Salesforce Parent ID field mapping to “Always use Salesforce.”

salesforce-field-mappings-account-property.png

Now you can go to Insycle and use the Associate app to create the child-parent relationships in bulk. 

Configuring the Association Using the New Property

In Step 1, filter your HubSpot records to find those that don’t have a parent company, and do have a listed Salesforce Parent ID.

associate-hubspot-companies-step-1-by-salesforce-parent-ID.png

The Salesforce ID is an 18-character alphanumeric value. When using this ID as the matching key, Insycle has to crawl through this string for the child and parent companies, comparing all 18 characters for each record on both sides. This can take a long time to complete.

To optimize the matching process, you can limit the number of characters Insycle will look at for the comparison. So instead of looking at all 18 characters of the Salesforce ID, you can tell Insycle to only compare the last 9. With this approach, matching will run about 300x faster!

In Step 2, configure the association settings using the new Salesforce Parent ID property and the Salesforce Account ID field. Use the Match Parts parameter to only look at the Last 9 Characters.

associate-hubspot-companies-step-2-by-salesforce-parent-ID.png

Then save a template and set up automation to ensure the company hierarchies automatically remain consistent from here on.

associate-step-4-update-automate-weekly.png 

Create and Associate a New Company Record if No Match is Found

If no matching record is found, you can choose to automatically create a new record based on what is in the source record. The option is located in a different place in each module.

Associate App

In the Associate app, under Step 2 on the Simple tab, check the Create new [record] when no matching is found box to enable, then select one or more fields to use for naming the new company.

associate-hubspot-contacts-to-companies-step-2-create-new-646w.png

In the Magical Import module under Data Operations, check the Create when no matching is found checkbox to enable.

magical-import-hubspot-companies-operations-associate-parent-child-companies-646w.png

Troubleshooting

There's a "Failed. Multiple sources/target matches" result in CSV

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.

associate-hubspot-contacts-to-companies-csv-highlight-failed-result.png

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 in the Associate app: If there are supposed to be multiple similar but distinct records, there are several features in Step 2 of the Associate app that you can use to refine the criteria:

  1. Add a second field. A record would have to match both field values to be considered appropriate for making the relationship. associate-hubspot-contacts-to-companies-step-2-domain-and-country.png
  2. Use the filter. This will narrow the set of records to be associated.
    associate-hubspot-contacts-to-companies-step-2-companies-filter-w-arrow.png
    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."
    bulk-op-hubspot-companies-step-2-companies-filter-hq-604px.png
  3. Add Selection rules. In cases where there are multiple target records that could match, you can add Selection rules to choose the appropriate record.
    associate-hubspot-deals-to-companies-step-2-selection-button.png
    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.
    associate-hubspot-deals-to-companies-step-2-selection-popup.png
  4. 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.
    associate-hubspot-contacts-companies-step-2-remove-arrow-887w.png
There's an "Unmodified. No matching record found…" result in CSV

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.

associate-contacts-to-companies-unmatched-result-csv.png

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.

There's a "Failed. No matching record found…" Result in CSV

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.

associate-hubspot-contacts-to-companies-csv-failed-unmatched-result.png

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.

There's a "Failed. Not related to [Companies] through [Contacts] association" Message in the CSV

When using existing relationships to make associations in the Associate app, a "Failed" Result with the Message, "Not related to [record type] through [record type] association" error in the CSV indicates the record associated with your selected source record type does not have the association you are looking for.

associate-hubspot-child-to-parent-companies-by-related-contacts-csv-failed-no-relationship-result.png

The example below shows the Related tab in Step 2 set up to associate child companies with parent companies that have an "HQ" label, based on contact records.

associate-hubspot-child-to-parent-companies-using-related-contacts-step-2-HQ-label-646px.png

If a contact doesn’t have an associated company with the "HQ" label, there is nothing to copy to the child company.

associate-hubspot-child-to-parent-companies-using-related-failed-graphic.png

Frequently Asked Questions

How does Insycle know which company is the parent?

Insycle does not automatically know which company is the parent. You have to make that clear through the data itself. A common way of tagging the parent company is to include "HQ" in the company name field or as a label. Or, you can create a custom field and manually tag parent companies before bulk associating with relevant child companies.

Can Insycle create a new company record and associate it if no match is found?

Yes, you can instruct Insycle to create a new company record if no match is found. This feature is in both the Associate app and Magical Import module. See Create and Associate a New Company Record if No Match is Found in the Advanced How-Tos above for more detail.

create when no match found

Can I make child-parent associations from a CSV?

Yes. For information about making child-parent associations from a CSV file, see the Associating Child and Parent Companies from a CSV With the Magical Import Module section above.

Will parent company associations and labels be lost when I merge duplicate companies?

No, parent company associations and their labels are automatically preserved when merging companies in Insycle. If a duplicate company has a parent company association (with the Parent label) and the master company does not, the parent company association will be retained on the master record, and the Parent label will be automatically applied.

By default, Insycle keeps the parent company of the most recently modified duplicate record. You can customize this behavior in the Merge Duplicates module by configuring the Parent Company field in Step 4 on the Fields tab.  Learn more about defining what field data gets saved when merging duplicates.

Additional Resources

Related Help Articles

Related Blog Posts