Hi Trailblazers,
We have a use case where customer is using third party data migration tool called 'Alteryx' for migrating Contact data to Salesforce, where they could face potential duplicates which they want to understand (first thing) then if possible they want to merge as well (based on single match etc.).
They are reluctant writing those same duplicate rules at 'Alteryx' side rather they want to understand if there is any mechanism to invoke Salesforce duplicate API.
So I'm trying to understand the various options here and ways to do that.
Is it something we have to write a class with duplicate logic and expose that as an API from Salesforce ?
Is that a recommended way?
or are there any other ways to do that ?
Really appreciate your valuable inputs here.
Thank you so much.
@Architect Trailblazers @* Salesforce Developers * @DataMigration @Salesforce Integration
@Aditya Kumar Gupta Yes, your approach is correct. You need to export that method and other logic through SOAP WSC. You may need to incorporate additional methods to store and merge records if a single match is found. If not, then store it in some sort of skinny table or flag them for further review by your business or data owner team.
However, you need to validate the limitations and content of this approach, as the input range of this method is limited to 50 elements (records).
Second Approach:
- Assume that Alteryx data is clean from duplicates.
- Perform data de-duplication outside during the first sync to reduce system overhead (using Data Analytical tool or Excel).
- Update SFDC records with the external ID of Alteryx's unique identifier for future synchronization.
- For insert:
a. Implement Apex coding: Create an insert trigger to handle duplications where external IDs are missing on contacts and merge logic for the Integration User only.
- Concern: Optimize the number (<10k) of records to avoid Apex limitations.
b. Implement Apex coding: Execute a nightly batch job for the Integration User, finding duplicates where external IDs are missing on contacts and merging them for a single match.
- Concern: Operations involve create, merge, and delete, possibly hitting limitations.
c. Insert into a separate table and run a trigger/batch job to find matching records where external IDs are missing. Update a single-matched record and delete others. Update multiple records with multiple SFDC IDs for further review.
- Concern: Complexity in coding and maintenance.
d. Use Snowflake and compare both systems, insert/update records based on business logic.
Concern: Requires a middle layer to avoid heavy coding and performance issues
