How to Merge Duplicate Users, Leads, and Companies
Duplicate data in Intercom poses serious problems for companies of any size.
Duplicate records inhibit your support teams from effectively segmenting and personalizing communications. Reps lack vital context, miss important information, and analysis and reporting are skewed. Ultimately, this means a worse experience for your customers.
Insycle's Merge Duplicates module helps you automatically detect redundant Intercom users, leads, and companies, giving you control over how records are merged and what field data is retained.
Key Use Cases
- Deduplicate Across Intercom Users and Leads
- Merge Duplicate Intercom Companies
- Bulk Merge Duplicate People
How It Works
The Merge Duplicates module makes it easy to identify duplicates and merge them in bulk.
Powerful matching options look at fields you specify to detect and group redundancies.
With duplicates identified, you set rules for determining the master record the duplicates will merge into—such as the first record created, record with the most email opens, last interacted with, or any other attribute. You can configure data retention rules that copy the most relevant field values into the permanent, master record.
These configurations can be saved, automated, and scheduled to run at regular intervals, putting your duplicate cleanup process on autopilot.
Insycle supports Merging Duplicates for the following Intercom record types:
- Users
- Leads
- Companies
You can select the record type at the top of the module screen.
Insycle <> Intercom Merge Logic
When merging Lead<>User, Insycle uses the underlying Intercom merge API.
When merging Lead<>Lead or User<>User, Insycle performs a synthetic merge:
- Open conversations: Duplicate contacts will be detached from open conversations, and the master contact will be attached to those conversations.
- Closed conversations: Closed conversations cannot be transferred directly in Intercom— doing so would cause them to reopen. Instead, they are preserved as notes in the master contact record, with one note created per closed conversation. This matches the way Intercom's native merge handles closed conversations when merging Lead<>User records. (Notes are searchable in Intercom.)
- Tickets: Collected from the duplicate records and converted into notes in the master.
- Tags: Assigned from duplicates to master.
- Companies: Assigned from duplicates to master.
- Notes: Copied from the duplicates and created in the master.
- Events: Copied from the duplicates and created in the master.
- Fields: Use Master Selection By Field to determine what data is retained in the master record on a field-by-field basis. By default, retained from the master. When a value is empty in the master, it picks a non-empty value from the most recently updated duplicate.
When merging Companies, Insycle performs a synthetic merge:
- Leads: Assigned from duplicates to master.
- Users: Assigned from duplicates to master.
- Tags: Assigned from duplicates to master.
- Fields: Use Master Selection By Field to determine what data is retained in the master record on a field-by-field basis. By default, retained from the master. When a value is empty in the master, it picks a non-empty value from the most recently updated duplicate.
Merge Process Summary
When merging duplicates, Insycle goes through the following steps for all Intercom record types:
- Select the master record according to the rules set in Step 3 on the Master tab.
- Determine field values to retain in the master record based on rules configured in Step 3 on the Fields tab.
- For fields without specific rules, identify non-empty values using a "fill in the blanks" method:
- Check whether the master record has any empty fields.
- If empty, copy values from the most recently updated record in the duplicate group.
- Update the master record by:
- Applying the field values chosen in step 2 (from Field rules).
- Adding the non-empty values identified in step 3 (using "fill in the blanks").
- Preserving all other existing values in the master record.
- Merge the duplicate records and reassign all related objects to the master record.
- Store an audit trail report accessible from the Activity Tracker and send an email notification to the designated recipients.
Step-by-Step Instructions
Navigate to Data Management > Merge Duplicates, pick the record type, and explore the default templates for an existing configuration close to what you need.
Each row in Step 1 is for a field you want to look at for duplicates, along with some parameters on what to look for. You want to choose fields that, in combination, give a high degree of certainty that the matched records are duplicate records. See the Bulk Merge Duplicate People, Companies article for more details.
If you'd like to look at the data in two different fields (that contain similar data) as if it were one, you can set up Related Fields under the Advanced tab.
The Conditions tab provides rules that one or more of the records in a duplicate group will need to meet. These options let you specify a field that can be empty, a specific value that must be matched, or if data is required.
When two or more records represent the same entity (person, company, or other) based on your matching rules, they are clustered together into duplicate groups. Each duplicate group shows the total number of records that were identified as duplicates based on your settings. For example, if you had four records for the same person, it would count as one duplicate group with four duplicate records.
Under Step 2, each row represents a duplicate group, with the number indicating how many duplicate records were found. When you click a row, it expands and shows the duplicate records in the group.
Step 3 is where you configure how duplicate groups are consolidated—from choosing your operation mode to defining master selection rules and field retention logic. This step combines operation selection with the merge logic configuration through multiple tabs.
At the top of Step 3, choose between Bulk and Manual modes in the header:
- Bulk mode (recommended) automatically merges all duplicate groups according to the master record selection rules you define in the Master tab. This is the right choice for most deduplication processes, and the only mode that supports templates, Recipes, and automation.
- Manual mode lets you review and select specific records to merge individually from the Record Viewer. Reserve this for high-value records or complex scenarios where you want hands-on control over each merge.
Most users should select Bulk mode and proceed.
Step 3 operates through two tabs that work together:
Master tab — On the Master tab, you define how all of the matching duplicate groups should be merged at scale. To do this, you need to create a series of rules that tell Insycle which record in each group should be selected as the master. The master is the record that will remain after the merge.
For example, if you had four records representing the same company, they would form a duplicate group of four records, which would be merged into a single master record. The other three records no longer exist.
For each duplicate group, Insycle will examine each Master rule to determine which records in the group meet the criteria. Rules are read in order, from top to bottom, and as soon as a record is the only one to meet a rule, it is selected as the master record. The subsequent rules are ignored.
At the bottom of the Master tab, you'll also configure:
- Processing method — Choose between By Priority (evaluates rules in sequence, stops at first unique match) or Absolute (master must match all rules). Most operations should use By Priority.
- Exclusions — By default, Insycle skips any duplicate group containing more than 5 records—this prevents overly broad matching criteria from accidentally merging unrelated records. You can adjust this threshold up to 100 records per group.
Fields tab — The Fields tab lets you control which field values end up in the master record after the merge. By default, Insycle keeps the master record's values and fills any empty fields with values from the most recently updated duplicate. You can override this field-by-field for any fields that need special handling.
For example, you might want to retain the earliest created "Company Name" while keeping the "Phone Number" that appears most frequently.
For each field you want to control, select the field and specify where its data should be sourced. This is merged into the master. Insycle evaluates your rules from top to bottom and stops at the first match for each field. This means rule order matters—place your most specific rules first, with broader fallback rules below.
The Criteria dropdown gives you various options for choosing the data to keep, and the Group Fields lets you keep values of multiple fields from the same record.
What happens to field data if I don’t create custom rules?
There is no need to create rules for every field in your CRM - Insycle automatically handles fields without specific rules using a "fill in the blanks" approach. When the master record has empty fields, Insycle copies values from the most recently updated record in the duplicate group where that data exists. For example, if the master record's Industry field is empty but another record in the duplicate group has an Industry value, that value will automatically be copied to the master record. This means you only need to create custom retention rules for the handful of fields that require special handling rather than setting up rules for all your fields.
Step 4 is where you preview and apply your merge changes. It operates in two modes:
- Preview Mode generates a CSV report that shows exactly how your records would be merged based on your current configuration — which records become masters, which field values end up where, and whether any errors occur. No changes are made to your CRM. Always run Preview Mode before Update Mode to verify everything is working as expected.
- Update Mode applies the merge to your live CRM. Once you've confirmed your Preview results look correct, Update Mode executes the actual merge operations.
Preview Merged Changes in Emailed CSV Report
Under Step 4, click the Review button and select Preview mode.
Click the Next button to go to the Notify screen, where you can select recipients for the email report and add additional context.
On the When tab, click the Run Now tab, select which records to apply the change to (if you have a lot of records, you might want to do a small batch to test), then click the Run Now button.
Insycle will generate a preview CSV and send it to your email. Open the CSV file from your email in a spreadsheet application and review the data.
There's a row for each record, which includes:
- The Result of the action
- A Message with details
- The Duplicate Group ID indicates which records will be merged together
- A record Status that identifies which were picked as master and which were identified as duplicates and merged into the master. See below for more details
- All fields used to identify the duplicates in Step 1
- The record ID, record name, or email, and Deeplink to the CRM record
- All fields selected for the Record and Fields rules in Step 3. Note that if a field is used on both tabs, it will only appear once in the CSV.
- Any additional fields added to the Layout tab in Step 2.
The Status column indicates:
- Duplicate – The record is part of a duplicate group.
- Master – The master record chosen for the duplicate group based on default behavior and your Master rules. Review the selections in this row to determine whether the appropriate records are being chosen.
- Master (After) – For each duplicate group, a special row –Master (After)– will appear in the CSV report. The Master (After) row shows the values the final record will contain based on your Field rules and the default behavior.
- Error – If Insycle cannot determine which record the master is, an error message will appear here. See the Troubleshooting section below for more details.
If everything looks good, return to Insycle and move forward with applying the changes to Intercom.
Apply Changes to Your CRM Records
When you're satisfied with the results in your preview, you can apply the merge changes to your CRM.
Under Step 4, click the Review button again, and this time select Update mode.
On the When tab, you should use Run Now the first time you apply these changes to the CRM. If you have a large number of records, you may want to do a smaller batch to review the results in your CRM.
After you've reviewed the results in the CRM and are satisfied with how the operation runs, you can save your configuration as a template and set up automation so the merge operation runs on a set schedule. If you have several templates you'd like to run together automatically, you can create a Recipe.
By automating with a template, you'll save time and ensure your duplicates merge consistently on an ongoing basis.
Save Your Configuration as a Template
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.
Set Up Automation
Under Step 4, click the Review button, and select Update mode.
On the Notify tab, select the send option appropriate for your automation: Always send, Send when errors, or Do not email.
Add any additional recipients who should receive the CSV (and make sure to hit Enter after each address). You can also provide additional context in the message subject or body.
On the When tab, select Automate, and configure the frequency you'd like the template to run. When finished, click Schedule.
You can view all your scheduled automations at any time on the Operations > Automations page.
Bundle into a Recipe
When you have multiple templates that work reliably together — for example, separate templates for contacts, companies, and deals — you can combine them into a Recipe. A Recipe runs your templates in sequence, in the order you define, on a consistent schedule.
With the Activity Tracker, you have a complete audit trail and history of changes made through Insycle, including processes run in Preview mode or data syncs. At any time, you can download a CSV report that shows all the changes made in a given operation run.
Navigate to Operations > Activity Tracker, search by module, app, or template name, then click the Run ID for the operation.
If you've configured the Insycle Run ID property in Intercom, you can cross-reference these operations in your CRM records.
Advanced Use Cases
If you're experiencing issues because the same person appears in Intercom as both a lead and a user, you can use the Merge Duplicates module to deduplicate leads and contacts together.
In the Merge Duplicates module, select the Users record type from the top menu.
Then, under Step 1, check the Include Leads checkbox.
To learn more, see Deduplicate Across Intercom Users and Leads.
The Insycle Inbox app, once installed, adds a widget to your Intercom inbox to quickly check for duplicates in an open conversation.
To access the "Insycle Data Management" widget, open the conversation and click the Check for Duplicates button on the right-hand side of the screen.
Then, Insycle will compare the contact in your currently opened conversation against other contacts in your database, and give you the option to merge.
To learn more, see Deduplicate in Intercom Inbox with the Insycle App.
For situations where there are no common rules you can apply for identifying duplicates for all or some of the records, you may need more granular control for picking records to include or exclude from the process.
To do this in bulk, you can create a CSV and use the Magical Import module.
In these cases, you can use CSV files to customize your bulk merging, designate master records, and exclude records from deduplication. Then you can import the CSV from the Magical Import and use the Merge Duplicates module for complete control over the final merge operation. Learn how to customize merging Duplicates in bulk using a CSV.
To do this one record at a time, you can use Manual mode of the Merge Duplicates module.
In Manual mode, you have complete control over which records are merged together by selecting them from the Record Viewer. Manual mode should be reserved only for cases needing a careful, controlled process. Learn more about merging duplicates in Manual mode.
If you have set up the Insycle Run ID attribute in Intercom, every Insycle operation that updates a record will update the Run ID in the record. This can be used to look up process reports in the Activity Tracker or to get help from support.
When using an Insycle Recipe that includes templates for more than one object type, such as companies and leads, the same Run ID will appear in both records.
If the Insycle Run ID doesn't already exist in your Intercom database, add it as a custom attribute 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.
Tips for Bulk Merging Duplicates
- Begin with easy-to-find duplicates. Iterate through fields and rules you know will surface duplicates. Don’t expect to resolve all your duplicates by setting up and running this process once. You will need to run this process multiple times for different fields or nuanced variations.
- Save templates. Each time you get a Merge Duplicates process to run the way you want in your database, save it as a template. When you have a solid set of templates that reliably resolve most of your dupes, you can put them together as a Recipe that can run on a regular, automated schedule.
- Look for edge cases that fall outside your standard rules. These may be templates you run manually so you can make adjustments based on what you find.
- Do some experimentation. Use the Preview mode CSV report to analyze patterns in the duplicates. Add additional fields to the CSV by clicking the gear icon in Step 2 and including them in the Layout. You may learn what is causing the duplicates and learn how to avoid having them in the first place. You may also want to explore your data in the Grid Edit module to understand what you have so you can design templates that catch all potential variations.
Troubleshooting
If you're not seeing the results you expect when merging duplicates, consider these issues:
Most of the time, when Insycle can't find duplicates, it is due to your matching rules in Step 1. It is important to analyze the underlying data to better understand how to set up your rules. A helpful exercise for contacts is to set up your matching filters to find exact matches on only First Name and Last Name. For companies, you can use Company Name.
When you click Find, these rules can show you a broad overview of what duplicates are potentially in your database and what fields might be useful to include in your matching fields. These settings are just for discovery and should not be used for a final merge operation; many people can have the same first and last names and are not duplicates.
To get further context, on Step 2, click the layout gear button on the right side of the title bar. Here, you can add any field from your database as a column in the duplicate group review to better understand the data in these records. These will also appear in your CSV report.
If the Result is "Failed" and the Message column of the CSV report displays this text:
Change rules in Step 3 'Master Selection'. Failed to pick master record because multiple records (X) meet the selection criteria. In 'Master Selection', change, add, or reorder the rules such that only one record matches (if cannot determine master based on field values, use 'Record ID is lowest' as the last rule).
This means Insycle could not determine which record in the duplicate group should become the master — none of the records meet more of the rules than the others.
There are a few things you can try to resolve this:
-
Under Step 3, on the Master tab, experiment with reordering or adding rules based on fields that are likely to have unique values across your records. Think about what matters most to your business — the fields that would make one record clearly more valuable or authoritative than another. For example:
- A field that stores an ID linked to an external system, such as an ERP, data warehouse, or proprietary internal tool — the record with that ID populated is likely the one your other systems depend on
- The record with the highest number of associated records (contacts, deals, activities) — indicating it has accumulated more history and relationships
- A field indicating CRM ownership or account status — for example, a record marked as "Customer" vs. "Lead," or one with an active owner assigned
- A field that tracks revenue, subscription tier, or engagement level — the record with higher values may represent the more complete or current entry
- A custom field your team uses to flag record quality or data source reliability
The goal is to surface the fields that reflect record importance for your specific operations, not just default system fields.
-
Also on the Step 3 Master tab, confirm that By Priority is selected rather than Absolute.
With By Priority, a record only needs to match one rule to be selected as master. With Absolute, a record must meet all rule criteria, which makes it much harder for any single record to qualify.
In most cases, By Priority is the right choice. If By Priority is already selected and the error persists, none of the records in the group meet any of the criteria more than the others. Return to the Master tab and continue adding or reordering rules, focusing on the business-critical fields described in #1 above.
- As a last resort, add a rule on the Master tab that uses Record ID is lowest, or Create Date is earliest. These rules will always produce a unique winner, ensuring master selection can complete even when other field-based rules cannot differentiate the records.
There are a couple of things to look at that may be causing records to be misidentified as duplicates.
First, you may need a better unique identifier. Under Step 1, if you use only fields that can correctly contain the same values across multiple records, they aren't unique identifiers. In this case, you are likely to identify unrelated records as duplicates and may accidentally merge them.
Unique identifiers are data unlikely to be shared by any other record unless they represent the same underlying entity. Common fields used for deduplication include phone numbers, email addresses, mailing addresses, and ID numbers.
Second, this may indicate the Comparison Rule under Step 1 is too broad. Try using the Exact Match comparison rule instead of the Similar Match rule. Similar Match looks for values that may be close, even with a one-character difference (e.g., a typo), broadening the search.
Remember to always run your deduplication in Preview Mode to confirm it's working as expected before running it in Update Mode and applying the changes to your CRM records.
You have duplicate records identified by Insycle, but not all are merging into the master. Check how many duplicates are in the affected groups. If you have duplicate groups with more than 5 records, you may want to change the Exclusions value at the bottom of Step 3 on the Master tab: Skip duplicate groups with more than 5 records per group to ensure you can get them all.
This setting is intended to prevent overly broad matching criteria from accidentally merging unrelated records. You can adjust this threshold up to 100 records per group.
For more help troubleshooting issues with Insycle, refer to our Troubleshooting Issues article.
Frequently Asked Questions
Yes, Insycle offers an Intercom Inbox app. To learn more, check out this article: Deduplicate in Intercom Inbox with the Insycle App.
When merging Intercom leads with leads or users with users:
- Open conversations: Duplicate contacts will be detached from open conversations, and the master contact will be attached to those conversations.
- Closed conversations: Closed conversations cannot be transferred directly in Intercom. Instead, they are preserved as notes in the master contact record — one note per closed conversation. The original conversations are not moved or re-created as conversations in the master record. (Notes are searchable in Intercom.)
When merging leads with users, Insycle uses the underlying Intercom merge API, so conversations will be merged according to those rules.
Yes, Insycle can deduplicate across leads and users simultaneously. Please check out this article to learn more: Deduplicate Across Intercom Users and Leads.
There are two ways to ensure the records you are merging are indeed duplicates.
First, always run your deduplication templates in Preview Mode before running them in Update Mode. This produces a CSV file showing how your records would have been merged. Then you can ensure that your Merge Duplicates template is working as expected and not merging non-duplicate records together.
Additionally, to ensure a smooth merge, consider narrowing the matching settings in Step 1. Try the Exact Match Comparison Rule instead of Similar Match. Then make sure that you are using actual, uniquely identifying fields—first name, last name, email, and phone number are popular choices. The more tightly defined your filter is, the less likely you are to merge non-duplicate records.
Yes, Insycle allows you to select which field data to retain in the master record using the Fields tab in Step 3. See the Merge Duplicates module field data retention rules reference for more details.
No, matching fields do not need to match exactly. The Similar Match Comparison Rule in Step 1 acts as a fuzzy match, looking for values that may be close but differ by only one character (e.g., a typo), 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 an Email of “huey@coahulldu.co” is found, it could include records with the values “hueyy@coahulldu.co" or "hue.y@coahulldu.co” as a match.
You should be careful when using Similar Match as the looser criteria can incorrectly identify non-duplicates as duplicates.
Review the Understanding Similar Matching best practices for more details.
If the Message column of the CSV report displays this error:
Change rules in Step 3 'Master Selection'. Failed to pick master record because multiple records (X) meet the selection criteria. In 'Master Selection', change, add, or reorder the rules such that only one record matches (if cannot determine master based on field values, use 'Record ID is lowest' as the last rule).
None of the records meet more of the rules than the others do.
There are a couple of things you can try to resolve this:
- On the Master tab in Step 3, experiment with reordering or adding additional fields that are likely to have unique values.
- At the bottom of the Master tab in Step 3, ensure By Priority is selected, not Absolute.
With By Priority, your master record only has to match one rule. Using Absolute, your master record would have to meet all of the rule criteria. In most cases, it is best to select By Priority.
If By Priority was used, then none of the records in the duplicate group meet any of the criteria on the list more than the others. In this case, you'll need to experiment, reordering or adding additional rules for fields likely to have unique values. - As a last resort, you can add a rule on the Master tab in Step 3 that says Record ID is lowest, or Create Date is earliest.
Yes, there are several ways to share details and get approval before merging duplicates.
You can manually approve master records and mark them in a CSV file, then use Insycle to bulk deduplicate into those master records. See the Customize Bulk Deduplication Using Exclusions and Pre-Defined Masters article to learn more.
Or, you can run the Merge Duplicates module in Preview Mode and then deliver the preview CSV that Insycle generates. The CSV report includes your entire merge operation down to individual duplicate groups, but does not update your live data. Then your team can approve the merge based on this report, before running Merge Duplicates in Update Mode.
Additionally, team members can review duplicates and manually select the master for each record under Step 3 by selecting Manual mode. Review the Manually Merge Duplicates article for more details.
I have a list of duplicates I need to merge. Can I deduplicate them using Insycle?
Yes. You can use an existing list of duplicates with Insycle to deduplicate it in bulk, following these steps:
- Prepare a CSV file with columns for the record IDs and a "Merge Master" column. In the "Merge Master" column, mark which record should be kept after merging.
- Create a custom field called "Merge Master" in your CRM.
- Use the Magical Import module to import your CSV file into the CRM, updating the "Merge Master" field for the relevant records.
- Go to the Merge Duplicates module and set up a filter to select records based on the "Merge Master" field.
Learn more about deduplicate records using a CSV.
You can merge up to 100 duplicate records into a single master record.
By default, Insycle skips any duplicate group containing more than 5 records. If you have duplicate groups with more than 5 records, you may want to adjust the Exclusions setting at the bottom of the Master tab in Step 3. The Skip duplicate groups with more than X records per group setting can be increased up to 100 records per group to ensure all duplicates in large groups are processed.
This default limit is a precaution to prevent duplicate matching criteria that are too broad in Step 1 from accidentally merging many non-duplicate records. If you plan to set this number higher, it is a good idea to run Preview Mode first to ensure your deduplication template is operating as you intend.
Insycle displays 50 records on the module screen as a preview; this is not the full list. Insycle can process thousands of duplicate groups in a single operation. You could potentially deduplicate your entire database in a single step.
When using the Preview in Step 4, select the "All" option under When > Run Now to view all records in the Preview CSV report. When you run the operation in Update mode, all records will automatically be included.
Additional Resources
Related Help Articles
Related Blog Articles