How to Deduplicate People and Companies in Bulk and Automatically
You have multiple records that represent the same companies in Intercom. Contacts and conversations may end up associated with a duplicate company record, making them difficult to find, track, and analyze. Duplicate company records can also inhibit your support team from effectively segmenting and personalizing your communications.
Insycle's Merge Duplicates module can identify duplicate companies and merge them flexibly, in bulk, using advanced rules to select the master record and control data retention.
Process Summary
- Set rules to identify duplicates.
- Review and analyze the identified duplicates.
- Choose Bulk Mode.
- Set rules to select the master record and determine what field data is retained.
- Deduplicate your records in Intercom.
Navigate to Data Management > Merge Duplicates, pick the Companies record type, and explore the default templates for a pre-built solution.
This template below matches duplicate Intercom companies using the exact match for the company name.
Click the "Find" button and Insycle will analyze your Intercom data to find duplicate companies using these rules.
When two or more records represent the same company based on your rules from Step 1, 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 company, 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.
Explore the record data in the duplicate groups. Double-check to make sure that the fields you set up in Step 1 are showing what you expected.
Looking at the record details in several duplicate groups, decide the best way to determine which is the master record the other records will be merged into. Learn more about common practices for picking a master record.
Add more columns to the view using the gear ⚙ button on the right to get more context.
The most efficient and sustainable way to merge duplicates is in Bulk mode. This allows you to set rules for determining the master record automatically across all records in your database. With Bulk mode, you'll be able to use saved templates and recipes to repeat the process on a regular basis.
Under Step 3, the Bulk operation tab is automatically selected. Leave this as is.
If you have duplicate groups that contain more than five records, you may want to change the value in Skip duplicate groups with more than [5] records per group to make sure you can get them all.
Note: When merging in bulk, Insycle limits the duplicate group size based on the entered 'skip' value, skipping groups that contain more records. This is a precaution to ensure that if you use a duplicate matching filter that is too broad in Step 1, you don't accidentally merge a lot of non-duplicate records together. You can adjust the skip value as needed, up to 100 per duplicate group.
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 where you need a careful, controlled process. Learn more about merging duplicates in Manual mode.
Configure Rules to Automatically Select the Master Record
Under Step 4 on the Records 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 how to select the record from each group to become 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 make up one duplicate group with four records, all of which would be merged into one master record. The other three records would not exist anymore.
On Step 4, select the matching method—Priority Match, or Absolute Match.
Priority Match looks through the master selection rules one by one, in order. As soon as a record meets one of the criteria, this becomes the master and the rest of the rules are skipped. Most de-duplication operations should use Priority Match.
With Absolute Match, a record must meet all of the listed rules in the Record tab in Step 4 to become the master. If a record does not match every rule listed, no master record will be identified. Absolute Match is appropriate for less flexible master selection. Learn more about these options in the Advanced How-Tos below.
For each duplicate group, Insycle will look at each Record rule to see which of the 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.
If none of the records in the duplicate group match any of the rules, the automatic master selection for the group fails. See the Troubleshooting section below for more details.Configure Rules That Determine Values to Keep
After Insycle has identified the master record, it will use the Field selection rules to automatically pick which values from a duplicate group will be used in the master record.
Duplicates may be exact match versions of another record, but often there is only partial data overlap between the records. When data is split between two different records, both records may contain unique and important information about the customer that you'd like to keep.
Under Step 4, click the Fields tab. For each field you want to control the data retention for, you need to select a Field and tell it where the data for the field should be taken from. This is merged into the master. Any data that is not in the master or not copied to the master is deleted.
The Criteria dropdown gives you various options for choosing the data to keep:
- From master record – Use the value that exists in the master record.
- From master record (even empty) – If the field on the selected master record is blank, keep it that way. Don’t automatically fill it in with a value from the most recently updated record.
- Most frequent value – If the same value appears in multiple records, use the one that appears most frequently.
- From record where value – Select data from one of the records in the duplicate group based on the values. These options vary depending on the field type. For example, retain the data in the Company Size field that has the highest value.
- From record based on other field value – Look at the value in a different field to decide which value from the duplicate group should be kept. The example above highlights how a Company Last Seen value can be used to determine which Company Industry value to use.
- Combine and append all values – You can merge the values from the selected field for all records in the group. For example, if there is some type of Notes field, you could keep the notes from all of the records in the duplicate group.
- Collect all values from other field – Select a destination field to copy and combine values into, then select what field the data should come from. For example, this could be used to keep the record Owner values of all duplicates and combine them into a custom field.
- Collect non-master values from other field – Aggregate the values of all the duplicates that are not the master and not the same as the master, meaning all instances of that value are excluded from collection. This can be especially helpful if you want a record of the object IDs that were removed, so you can also remove them from another system. Select a destination field to copy and combine values into, then select what field the data should come from.
Remember: The Fields tab is a separate set of rules for automatically selecting what data to keep. You still need to configure the rules for automatically selecting the master record in the Record tab.
Preview Merged Changes in CSV Report
Now with the filters and master record set up, you can preview the changes you are making to your data. That way, you can check to ensure your deduplication configuration is working as expected before those changes are pushed to your live database. The CSV report that Insycle generates includes records from all the duplicate groups.
Under Step 5, 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. You can also add additional context on this screen.
On the When tab, click the Run Now tab, and select which records to apply the change to (you could do All, but if you have a large number of duplicates, you may just want to do a chunk for your preview), 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.
The Duplicate Group ID indicates which records will be merged together
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 Record rules. Review the selections in this row to determine whether the appropriate records are being chosen.
- Master (After) – This appears only if at least one or more fields have been specified in Step 4 on the Fields tab. For each duplicate group, the Master (After) row shows the values the final record will contain based on your Field rules and the default behavior.
- Error – If Insycle is not able to determine which record would be the master, 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.
Apply Changes to Your Intercom Records
If everything in your CSV preview looks correct, return to Insycle and move forward with applying the changes to the live Intercom data.
Under Step 5, 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 Intercom. If you have a large number of records, you may want to do a smaller batch to review the results in your live CRM database.
Save as a Template and Set Up Automation
After you've seen the results in Intercom and are satisfied with how the merge runs, you can 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.
Now you can set up automation so this merge operation runs on a set schedule.
Under Step 5, click the Review button, and select Update mode.
On the When tab, select Automate, and configure the frequency you'd like the template to run. When finished, click Schedule.
If you have several templates you'd like to automatically run together, you can create a Recipe.
Audit Trail and History
The Activity Tracker lets you review all changes made through Insycle. At any time you can download a CSV report of the operation and records affected.
Tips for 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.
- 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.
- You may also need to 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 and CSV report to analyze patterns in the duplicates. You may learn what is causing the duplicates and learn how to avoid having them in the first place.
Advanced How-Tos
Use the filter to work with a segment or smaller pool of records. Then Insycle will only analyze the remaining records for duplicates. To add filters, click the Filter button, then choose the field to look at, select the condition, and set the value to look for. The filter is applied before the matching step runs.
You may want to use a filter if:
- You know you only want to work with a subset of your data. In this case, there’s no need to run the operation on your whole database.
- There are an overwhelming number of duplicate results. Add a filter to work with a reasonably sized subset while you work to get the configuration right.
- You want the operation to run faster. A refined segment can speed things up since there are fewer records to analyze.
Most of the options in the Field dropdown match the fields that are found in your CRM, and for Contact records, there are three additional options related to the Email value:
- Email Username: The portion of the email address before the “@.” For example, if the email address were “maria@acmewidgets.com,” the username value would be “maria.”
- Free Email Provider Domain: Choose True to filter out records where the email domain is Gmail, Hotmail, Yahoo, and about 10,000 other free email providers. This filter helps ensure these are real business contacts, or can determine which record is the legitimate one because it’s most likely customer companies aren't using free Gmail accounts (though a contact may have accidentally emailed us from a private account at some point).
- Email Top-Level Domain: The top-level domain (TLD) is everything that follows the final dot of a domain name. For example, in the domain name acmewidgets.com', '.com' is the TLD. Some other popular TLDs include '.org', '.uk', and '.edu'.
Each row in your matching fields setup is cumulative, so records must meet all of the criteria. For example, looking for records that have the same First Name and Last Name and Phone Number returns only results where all three values are the same.
The minimum required length for the matching values is four characters or more. Values such as "Joe" or "Ace" will be disregarded.
Pick a field that you think has some duplicate values.
Running a very simple match operation like just First and Last Name is okay for giving you an idea of what you have, but it is too broad to use for reliable analysis and deduplication. There may be legitimate duplicate names–different people with the same first and last name. You need additional, unique criteria to narrow it down.
Choosing Unique Identifiers
Matching duplicates requires unique identifiers—data that is unlikely to be shared by any other record unless it is a duplicate. If you don't use unique identifiers, you are likely to identify unrelated records as duplicates and may accidentally merge them.
Many CRMs match first names, last names, and email addresses. If all of those match, or are similar, you can confidently determine that the record is a duplicate.
Other unique identifying fields that are commonly used in deduplication include:
-
- Phone number
- Domain name
- Mailing address
- ID number
Define 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 and easy-to-find duplicates. Iterate through fields and rules you know will surface duplicates, then look for edge cases. Similar Match can be helpful for finding those.
- 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, Acma,” etc., as a match.
Similar Match uses looser criteria that cast a wider net for what can be considered duplicates. It is best to try Similar Match with very open and generic fields after trying everything else. When you do use it, make sure to carefully review the results to ensure the duplicates being identified are what you're expecting.
If using ID fields to identify duplicates, note that they will only work with Exact Match, not Similar Match.
Specify parts of a field value to ignore, such as specific text, whitespace, or characters. These will not be considered part of the matching process.
- Ignore Symbols and Whitespace when comparing phone numbers.
- Ignoring HTTP, www, subdomain, or top-level domain (.com vs co.uk) when comparing websites or email domains is a great way to catch more advanced duplicates.
- Insycle comes preloaded with terms to ignore. If you select Common Terms, click the Terms button to view and edit this list on the Common Terms tab.
- If you select Text (substrings), click the Terms button, then the Ignored Text tab, and enter text to be ignored. Separate multiple substrings (or phrases) with a new line.
Note: If you’ve set up Ignored terms or strings, don’t forget to also enable them. Select the Ignored > Common Terms or Text (substrings) checkbox.
Define specific portions of the field value to compare.
Compare the entire value, the first word, any two words, just the first five characters, last nine characters, etc.
Sometimes, you might want to match duplicates using data in two separate fields. For example, you might want to compare your Phone Number field to a Mobile Phone Number field to identify duplicates.
Using the Related Fields feature, you can use two different fields (that contain similar data) as matching fields to catch more duplicates.
You can set up Related Fields in the Advanced tab.
Common Examples of Related Field Matching
Matching Field | Related Fields |
---|---|
Phone Number | Mobile Phone Number, Company Phone |
Email Domain | Website, Company Domain |
Address | Company Address |
For contacts, it's often useful to pick master records based on engagement. For example, the highest number of email clicks, or the most recent email opened. You can also use other statuses to pick a master record such as the furthest along in your sales lifecycle, or the most recently updated record.
For companies, it's often useful to use associated records to determine the master record. For example, the highest number of associated contacts or deals.
If you have a connected app, like Salesforce or an ERP system, pick the master record that is syncing with the other apps.
Priority Match: Looks through the master selection rules in order, one by one. As soon as a record meets one of the criteria, Insycle makes the master selection and skips the rest of the rules on the list. The vast majority of duplicate templates should use Priority Match.
Absolute Match: The master record must meet all of the listed rules in the Record tab in Step 4. If a record does not match every rule listed, no master record will be identified. Absolute Match is appropriate for less flexible master selection.
For example, if a company wants to ensure the chosen master record is in their sales pipeline and already has a sales rep working the record, they can choose Absolute Match and set the Record rules:
- Lifecycle Stage is "lead"
- Contact Owner exists
Choosing Absolute Match can often result in no master record being identified since the record has to match every rule listed, so in most cases, you should select Priority Match.
Though it's possible that duplicate records may be exactly the same, often there is only partial data overlap between them. When data is split between two different records, both records may contain unique and important information about the customer you'd like to keep.
The Merge Duplicates module allows you to control the values saved in the master record after the merge, regardless of the default merge behavior. By adding each field you want to control the data retention for and selecting a Condition, you can tell Insycle where the data for the field should be taken from and how to handle it.
For example, if merging Intercom users, you may want to save all of the Owners from records that are merged together and deleted. You can add a new custom attribute, “Merged Owners” to your CRM.
Then in the Merge Duplicates module under the Fields tab of Step 4, add a rule to override the default merge behavior. Select the "Merged Owners" field, the "Collect non-master values from other field" criteria, and "Owner" as the other field.
You can use the Preview to see how this will preserve the Owner values of all the duplicates in each duplicate group.
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. 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.
Troubleshooting
If you're not seeing the results you expect when merging duplicates, consider these issues:
If the Message column of the CSV report displays this text:
Change rules in Step 4 '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 that based on all the rules, Insycle could not figure out which record in the duplicate group would be the master. None of the records meet more of the rules than others.
There are a few things you can try to resolve this:
- Under Step 4, on the Record tab, experiment with reordering or adding additional fields that are likely to have unique values.
- In the Step 4 heading, check to ensure that you have Priority Match selected and not Absolute Match.
With Priority Match, your master record only has to match one rule. Using Absolute Match, your master record would have to meet all of the rule criteria. The majority of the time, it is best to select Priority Match.If Priority Match 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 with the Record tab, reordering or adding additional rules for fields likely to have unique values.
- As a last resort, you can add a rule on the Record tab of Step 4 that says Record ID is lowest, or Create Date is earliest.
You have duplicate records that have been identified by Insycle but not all of them are merging into the master. Check to see how many duplicates are in the affected duplicate groups. If you have duplicate groups that contain more than five records, you may want to change the value in Skip duplicate groups with more than 5 records per group to make sure you can get them all.
This setting is intended to protect against the accidental merging of non-duplicate records if the filter in Step 1 is too broad.There are a couple of things to look at that may be misidentifying records as duplicates.
First, you may need a better unique identifier. Under Step 1, if you only use fields that could correctly contain the same values in multiple records, these 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 that is unlikely to be shared by any other record unless it represents the same underlying entity. Fields that are commonly used in deduplication include phone numbers, email, mailing addresses, or ID numbers.
Second, this may indicate the Comparison Rule under Step 1 is too broad. Try using the Exact Match comparison rule instead of Similar Match. Similar Match looks for values that may be close but with a one-character difference (maybe a typo) which broadens the search.
Remember, always run your deduplication in Preview Mode to confirm things are working as expected before running them in Update Mode and applying the changes to your CRM records.
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 useful exercise can be to set up your matching filters to look for exact matches of just 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 in your database as a column to the duplicate group review to better understand the data inside these records.
It can take a while for Insycle to find and match duplicates if the fields being used to identify them have very long values. The longer the values, the longer it takes Insycle to process the data and generate the results. This might come up when looking for matches based on long ID numbers, LinkedIn bio links, or other URLs with long strings attached (ex, https://www.linkedin.com/in/svadin%C3%ADr-n%C4%9Bmec-1234b31a3/).
You can speed this up by limiting how much of the value Insycle looks at.
If the beginning or ending portion of the values are all unique, you can limit the comparison to the first or last several characters using the Match Parts parameter under Step 1.
Or use the Ignore Text (Substrings) parameter, then click the Terms button.
On the Ignored Text tab of the popup, add the common portion of the URL or text string.
For more help troubleshooting issues with Insycle, refer to our Troubleshooting Issues article.
Frequently Asked Questions
When using two or more fields to identify duplicates, records can still be considered matches even if one of the field values is blank. You just need to specify which field(s) allow a blank value.
Under Step 1, configure your matching rules in the Simple tab, then click the Conditions tab.
All the matching fields you included will automatically appear with the Value Required in All Records condition selected. Change the condition to Empty Allowed in Any Record to allow empty values for certain fields. You can also use the At Least One Record with Non-Empty condition to help you determine which is the master record. Make sure at least one field remains required and is a reliable unique identifier to ensure the records are really duplicates.
For example, on the Simple tab, you may have the matching fields: First Name, Last Name, and Phone Number. But on some of your records, the Phone Number field may be empty. Using the Condition "Empty Allowed in Any Record" or "At Least One Record with Non-Empty," all records with the same name, same phone number, and no phone number will be considered duplicates.
Yes. This can be done, for example, if you want to look at both the Phone Number field values and Mobile Phone Number field values as a single pool of values to compare between records and identify duplicates.
Using the Related Fields feature, you can use two different fields (that contain similar data) as matching fields to catch more duplicates. You can set up Related Fields in the Advanced tab.
Currently, there are two ways to make sure that the records that you are merging are indeed duplicate records.
First, always run your deduplication templates in Preview Mode before running them in Update Mode. This produces a CSV that shows you 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, you can reduce the risk when merging duplicates by narrowing your duplicate 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.
If the Message column of the CSV report displays this text:
Change rules in Step 4 '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 that based on all the rules, Insycle could not figure out which record in the duplicate group would be the master. None of the records meet more of the rules than others.
There are a couple of things you can try to resolve this:
- Under Step 4, experiment with reordering or adding additional fields that are likely to have unique values.
- In the Step 4 heading, check to ensure that you have Priority Match selected and not Absolute Match.
With Priority Match, your master record only has to match one rule. Using Absolute Match, your master record would have to meet all of the rule criteria. The majority of the time it is best to select Priority Match.
If Priority Match 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 Record tab of Step 4 that says Record ID is lowest, or Create Date is earliest.
Yes. You can use a customized list of duplicates and use the Magical Import module to tag duplicates in your Intercom CRM, then use the Merge Duplicates module to deduplicate in bulk. Include ID numbers from Intercom in your CSV.
Yes, Insycle allows you to select which field data is retained in the master record using the Fields tab under Step 4. See the Advanced How-To, Step 4: Control What Field Data is Retained above for more details.
Yes. You can exclude records from deduplication by creating a CSV with a "Deduplication Exclude" field.
First you'll export a Preview CSV from the Merge Duplicates module, add an exclude column, and specify which records should be excluded from the merge process. Next, create a custom field in your CRM to facilitate the merging. Use the Magical Import module to import the edited CSV file into the CRM, populating the new custom field. Finally, utilize this custom field to merge the remaining duplicate records in the Merge Duplicates module.
Learn how to customize bulk deduplication using exclusions.
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, then use Insycle to bulk deduplicate down to those master records. Consult with this Customize Bulk Deduplication Using Exclusions and Pre-Defined Masters article to learn more.
Or, you can run the Merge Duplicates module in Preview Mode, then deliver the preview CSV that Insycle generates. The CSV report that Insycle generates 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 4. Review the Manually Merge Duplicates article for more detail.
No, your field data does not need to match exactly. The Similar Match comparison rule in Step 1 looks for values that may be close but with a one-character difference (maybe 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, “myla.h@cington.co” is found, it could include records with the values “myla.h@cington.com," or "myla@cington.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 Deduplication Best Practices article for more detail.
Insycle shows 50 records on the module screen as a preview, this isn't the entire list of records. Include All records when you view the Preview CSV report to see everything.
Insycle can process thousands of duplicate groups in one operation. Potentially, you could deduplicate your entire database in one operation.
You can merge up to 100 duplicate records into a single master record.
If you have duplicate groups that contain more than five records, you may want to change the value in Skip duplicate groups with more than 5 records per group under Step 3 to make sure you can get them all.
This is a precaution to ensure that if you use a duplicate matching filter that is too broad in Step 1, you do not accidentally merge many non-duplicate records together. If you are going to set this number at a high level, it is a good idea to run Preview Mode first to make sure your deduplication template is operating as you intend.
All plans include unlimited usage, unlimited users, and unlimited operations. See the pricing page for more details. During the free trial, there is a cap of 500 records updated, cleansed, or merged.
Additional Resources
Related Help Articles
- Deduplicate Across Intercom Leads and Users
- Intercom Merge Duplicates Overview
- Deduplicate in Intercom Inbox with the Insycle App
- Bulk Merge Duplicate People, Companies
- Deduplication Best Practices
Related Blog Posts