How to Associate Records From a CSV While Importing Into Your CRM
Your sales and marketing teams depend on accurately associated data for context in communications, sales conversations, and decision-making. However, when you import data—either manually or through an integration—proper associations may be missing. Additionally, manually linking contacts can be a time-consuming process.
Use the Magical Import module to import and associate new records from a CSV, and automatically detect and link contacts, companies, deals, and custom objects in bulk. This helps maintain order in your database and provides your teams with a complete picture of every account.
Process Summary
- Upload the CSV file.
- Map the CSV columns to the CRM fields and specify how to import the values.
- Select the matching criteria.
- Optionally, specify how to prepare and modify your data before importing.
- Set rules to make associations between CSV and CRM records.
- Import the data with the specified associations to your CRM.
Step-by-Step Instructions
Navigate to Data Management > Magical 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 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 next to columns that don't exactly match field names in your CRM database.
Explore the templates to see if there's already something set up for your particular import task.
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 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.
To remove columns from the import, hover over the name and click the “X”.
If there are issues with any row data, a red warning icon will be displayed on the left side of the row. When you hover over the icon, an explanation of the error will be displayed. Records with errors will not be imported. Learn about various issues in the Troubleshooting: Seeing a red warning icon in the Preview section below.
Specify How to Import Values for Each Column
Next, tell Insycle how to handle data for each field by selecting the Import Mode for each column—update existing records, create new ones, or perform both actions based on your CRM data.
There are four Import Modes:
- Update: Import CSV values into your CRM, overwriting existing CRM values (will skip empty CSV values).
- Fill: Import CSV values only when there is no existing value in your CRM (will not overwrite existing CRM values).
- Overwrite: Import CSV values, including empty CSV values, into your CRM (will overwrite existing CRM values).
- Append: Add CSV values to existing values in your CRM. For example, append notes from a CSV to existing notes or add values on multi-select fields (checkboxes or picklists).
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.
Note that when using an email field, Insycle will automatically cross-reference any additional email fields in the records for a match. If using a domain field, Insycle will check additional domain fields.
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.
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.
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 your CRM. Discover how to transform your data during the import process.
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.
Make Bulk Updates to CRM Records
Use Bulk Update to modify other data in your CRM. You can 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.
Set Date Formats
You can override Insycle's automatic date standardization under Data Mapping using the Date Format tab.
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.
Under Data Operations, you'll define the rules for bulk matching the two record types during the association process. In this example, we'll associate contacts from the CSV to deals in the CRM.
Click the Associate tab. Note that this tab may be labeled differently, depending on what it's called in the CRM you are working with (i.e., Linking, Mapping, etc.).
Configure the rules that will create the relationship between the two record types:
- Select the Action to take. All CRMs allow you to Add or Remove associations. Additionally, for Hubspot, you can use the Replace action. For adding an association on import, choose “Add."
- Associate specifies the type of record you want to create the relationship with. In the example above, contacts will be associated with deals. The options will vary, depending on your CRM and configuration.
- Hubspot users will see a Labels field which is used toname or categorize the relationship.
- The CSV Column is the field from the CSV contacts you want to try and match with the CRM deals records. If you are associating contacts to deals, for example, you might choose the “Company” or “Company Name” field from your CSV import.
- On the Match Field, select the field that the CSV field should match to 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.
The CSV Column and Match Field are often the same for both records. - If no matching record is found, an association will not be created. In these cases, you can choose to automatically create a new record based on what is in the CSV record. Check the Create when no matching is found box to enable. Note that this feature only works when associating contacts to companies, not companies to contacts.
Select CSV Rows for the Operation
By default, Insycle will attempt to import all of your formatted CSV data into your database.
If there are only a few records you want to import—perhaps to test things out before importing the entire CSV—return to the Preview and check the boxes beside the select records. Leave the checkboxes blank to import all of the records.
Configure the Import
At the bottom of the Magical Import page, select the Records Mode to instruct Insycle on how to handle the imported data during the import process.
- Update existing and create net new – If Insycle is unable to find a corresponding record, a new record will be created in your CRM.
- 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 CRM 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 CRM will not be updated.
When you click the Import [X] Records button, you'll be prompted to confirm.
⚠️ Note that there is no preview step. Once you confirm, the data will be imported into your database immediately.
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 report.
Insycle will generate a CSV report of these changes and email it to you. If you open the CSV file, you can look at the Result column to see how each row of your import was handled.
The Result column may show:
- Created - A new record was created in your CRM
- Updated - An existing record was found and updated with data from the CSV
- Failed - If there is an issue, the Message field will give you details so you can troubleshoot
You can also see the (Before) and (After Update) values side-by-side for each field in your import.
If you see any "Failed" Results, review the Message to understand the issue and determine steps to resolve. You can also revisit any warnings shown in the Preview.
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, to reproduce the same formatting operation in the future.
Tips for Creating Associations between Records
- Successful associations require fields with corresponding values between record types. Use unique identifiers whenever possible, such as contact email domain matched to company website domain, contact company name to company name field.
- Before processing large datasets, test your association logic with a small sample dataset to verify that matching criteria work as expected.
- While associations can be created in both directions (contacts to companies or companies to contacts), the direction of the association affects the available functionality. Contacts to companies is the recommended standard direction with full feature support, including automatic record creation when no match is found. Use companies to contacts when importing company data that references existing contacts, but note that some automation features may be limited in this direction.
- 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.
Advanced How-Tos
Insycle uses Matching Criteria to compare the CSV with your CRM data and identify existing records for the same entity. Matching Criteria are rules based on unique identifiers that typically belong to only one entity, such as:
- Email address
- Company domain (for business records)
- Phone number
- ID number
- Street address
Note that when using an email field, Insycle will automatically cross-reference any additional email fields in the records for a match. If using a domain field, Insycle will check additional domain fields.
You can set multiple matching rules that are evaluated in order from top to bottom. This allows you to find matches based on various criteria, all in one step.
For example, you could use the following criteria to match contact records:
- Email address
- First Name + Last Name + Company Name
- First Name + Last Name + Phone Number
Insycle attempts to match each CSV record using the first rule. If no match is found, it proceeds to the next rule, continuing until either a match is found or all rules are exhausted (in which case the CSV record is considered new or unique).
For best results, place your most precise matching criteria at the top of your rule list. Additionally, keep in mind that while names can be included as part of the matching criteria, they should be used in conjunction with other identifiers, as multiple individuals may have the same name.
Important Note
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.
Typically, it is best to use a single field for your first Matching Criteria to improve the likelihood of finding existing records in your CRM. Then you can add additional rules to match multiple fields.
Troubleshooting
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 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.
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.
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.
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.
To quickly fix the import data directly in the Preview, hover over a value and click the pencil icon.
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.
A "Failed" Result with the Message "Import succeeded but association failed (multiple records [x] match value)" occurs when multiple records meet your matching specifications. For example, if you were linking contacts to companies, and Insycle found two company records with the name "Ace," it wouldn't know which Ace to establish the relationship with.
If there shouldn't be multiples of these records you should first go through the process of merging duplicates before trying to import and create these relationships. Learn more about merging duplicates using Insycle.
Or, you can import the records, and then go back and create the relationships using the Associate app. This will let you add multiple matching fields and other criteria to make the selection more specific. Learn more about creating relationships with Insycle's Associate app.
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, you might want to associate contacts not only with the company they work for but also with the parent company. In this situation, it’s unlikely that the parent company is captured on the Contact record, which means you may not have a field available to match the association. As a result, you will need to create a custom field for contacts and companies, such as "Custom Parent Company."
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 record type. Then we create the custom matching fields that allow us to make the associations.
If AI is not providing mapping suggestions or the suggestions don't make sense, check the following:
- AI settings are enabled: Navigate to Settings > AI and ensure that at least "Meta" level access is enabled for your selected object type.
- Column naming: AI works best when CSV column names are descriptive and similar to your CRM field names. Generic names like "Column1" or "Data" may not generate good suggestions.
- Template conflicts: If you selected a template after AI processing, template settings override AI suggestions. Try clearing the template to see AI suggestions, or select the template first.
If AI is enabled but not working as expected, you can always map fields manually using the dropdown selections.
Even when using AI tools, it is normal that some fields are not automatically mapped. AI mapping works best when:
- Column names are descriptive: Fields like "email," "phone," or "company" are easily recognized
- Names match CRM conventions: CSV columns that closely match your CRM field names will map more reliably
- Data types are clear: Ambiguous column names or custom fields may require manual mapping
For any remaining unmapped fields (those still showing warning icons), manually select the appropriate CRM field from the Not Mapped dropdown.
Frequently Asked Questions
Yes, Insycle will automatically map fields that it can identify. However, if there are instances where it can't determine what a field should map to, a warning icon will appear, and the CRM field dropdown will say "Not Mapped." You should select the appropriate CRM field to ensure it is included in the import.
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.
Yes, but you will have to run the Magical Import module multiple times. Insycle is only able to run one association operation with each run of the Magical Import module. So if you need to make up to three associations per contact, you'll need to run the module three times. Alternatively, once you've imported the CSV, you can make additional associations using Insycle's Associate app.
AI mapping provides an excellent starting point and can correctly identify most standard fields when CSV column names are descriptive. However, you should always review AI suggestions because:
- Custom fields or unique naming conventions may not be recognized
- Similar field names might map to unexpected CRM fields
- Your specific business requirements may need different field mappings
- Matching criteria suggestions should be validated against your data quality
Think of AI mapping as a time-saving assistant that handles the obvious mappings, so you can focus on complex or custom fields that need human judgment.
Yes, you can disable AI features by navigating to Settings > AI and turning off the toggles for the object types where you don't want AI assistance. You need Admin or Owner Insycle permissions to change these settings.
When AI is disabled, you'll manually map all CSV columns to CRM fields and set your Matching Criteria.
You can also use a hybrid approach: enable AI for initial suggestions, then manually review and adjust mapping for each column to maintain full control while benefiting from AI's time-saving capabilities.
Additional Resources
Related Help Articles
- Import New Records or Update From CSV
- Link and Associate People to Companies
- HubSpot Multiple Associations and Labels
- Associate or Link Parent-Child Companies, Create Accounts Hierarchy and Relationships
- Module Overview: Bulk Operations
Related Blog Articles
- Fix Stray HubSpot Contacts With Bulk Association — Connect Contacts to Companies and Deals With Complete Control
- How Insycle Solves Common Problems with HubSpot and Salesforce Integration
- Considerations for Using HubSpot’s Automatic Contact to Companies Association
- Salesforce ABM - Associating Leads and Contacts to Accounts