Merge
This covers the process of merging accounts in your CRM

Kernel uses the CRM APIs to perform merges and mass actions. In Salesforce, this is the SOAP Merge API. This allows us to mass-merge accounts across the CRM safely based on your custom rules and risk tolerance.
Once you have configured your rules and risk toleranece Kernel creates merge groups. These are based on the identified duplicate groups but account for the determined risk tolerance and custom business logic. Think of the duplicate group as a truth of all the duplicates in the CRM, and the merge groups as a filtered set of those accounts that are safe to perform mass actions.
Merging
- Permanently merge duplicate records in Salesforce
- Process individual merge groups or all groups at once
- Real-time progress tracking with status updates
- Complete audit trail of all merge operations
Merge Groups
Duplicate accounts are organized into merge groups, each containing:
- Master Account: The primary record that will survive the merge
- Duplicate Accounts: Secondary records to be consolidated into the master
- Merge Status: Tracking for queued, processing, completed, or rejected merges

Merge Process
Step 1: Discovery & Grouping
Discovery & Grouping
Duplicate accounts are automatically detected and grouped using:
AI analysis of accounts and associated unstructured data
URL similarity analysis
Webpage analysis
Domain matching and canonicalization
Company name fuzzy matching
For more details, see Deduplication
Each merge group is assigned:
- A unique identifier
- A confidence score
- A risk tier classification
- A recommended merge decision
Field Merging
When accounts are merged, field values are consolidated according to survivorship rules:
Field Rules
Fill in Blanks
- If the master has a blank field, copy the value from a duplicate
- Preserves all available data across records
- Never overwrites existing master data
Use Newest Dates
- For date/timestamp fields, keep the most recent value
- Ensures up-to-date temporal information
- Applies to Created Date, Last Modified, etc.
Prefer Active Owner
- Select the record with an active (non-disabled) account owner
- Maintains proper ownership and routing
- Prevents orphaned records
Preserve Complete Addresses
- Keep the most complete address information
- Considers all address components (street, city, state, zip, country)
- Prevents data fragmentation
Prevent Circular References
- Automatically resolves parent-child relationship conflicts
- Clears circular parent account references
- Maintains proper account hierarchy
Custom Field Rules
Configure field-specific rules for non-standard fields:
Always use master: Keep master value regardless of duplicates
Always use newest: Select most recent value across all records
Use longest value: Select the field with most content
Custom logic: Apply business-specific rules
Related Object
Standard Salesforce Objects
All related standard objects (contacts, tasks, opportunities) automatically get reparented to the account.
Related Objects (Custom Objects)
Whether the object is a custom object or another related object with Kernel you are able to specify the logic on how you want to link them to the new main account.
You can select which objects should be reparented and what is the field that we need to update.
Salesforce API Execution
The merge operation leverages Salesforce's native merge API with these characteristics:
API Constraints:
- Maximum 3 records per merge request (1 master + 2 duplicates)
- Merge groups with more duplicates are processed in batches
- Each batch is a separate API call with retry logic
Merge Behavior:
- Master record retains its Salesforce ID
- Duplicate records are marked as deleted
- Related standard records (Contacts, Opportunities, Cases) are automatically reparented
- Related custom records are reparented as per the configured rules
- Field values are merged according to specified rules
- Activity history is preserved
Error Handling:
- Multi-strategy retry with fallback approaches
- Verification of successful merges via REST API
- Detailed error logging for troubleshooting
- Partial group completion on recoverable errors
Last updated

