Merge duplicates

How Kernel merges duplicate accounts in Salesforce

Kernel can merge duplicate Salesforce accounts in bulk without blindly collapsing records that should stay separate.

The workflow is simple:

  1. Kernel finds likely duplicate accounts.

  2. You define which duplicates are safe to merge.

  3. Kernel groups those records into merge groups.

  4. Kernel merges them using Salesforce's native merge API.

  5. Kernel logs what happened.

A duplicate group is the full set of records that look related. A merge group is the subset Kernel considers safe to act on after applying your rules.

What a merge group contains

Each merge group has:

  • one primary account, which survives the merge

  • one or more duplicate accounts, which are merged into the primary

  • a status, such as queued, processing, completed, or rejected

How Kernel finds duplicates

Kernel scans your CRM and builds candidate duplicate groups using account data and other signals.

For each group, Kernel assigns:

  • a group ID

  • a confidence score

  • a duplicate type

  • a recommended primary record

Choosing the primary record

Each duplicate group has one primary account.

The primary is the record that keeps its Salesforce ID after the merge. The other records are merged into it.

Kernel can choose the primary record using configurable rules. For example, you may prefer the record with:

  • the most complete data

  • the active owner

  • the newest activity

  • a trusted source system

  • a specific account type or region

How field values are merged

By default, Kernel uses a "fill in the blanks" approach.

That means if the primary record has an empty field and a duplicate record has a value, Kernel copies that value to the primary.

You can override this with field-level rules.

Common options include:

  • always keep the primary value

  • always use the newest value

  • use the longest value

  • prefer values from a trusted source

  • apply custom logic for specific fields

Standard Salesforce objects

Salesforce automatically reparents standard related records during a merge. This includes objects like contacts, tasks, opportunities, and cases.

Custom objects

For custom objects, Kernel lets you define:

  • which objects should be reparented

  • which lookup field should be updated

  • any special rules for handling those links

How merge execution works

Kernel uses Salesforce's native merge API.

Important Salesforce limit:

  • each merge request can include at most 3 records: 1 primary and 2 duplicates

If a merge group has more than 3 records, Kernel processes it in batches.

During execution:

  • the primary record keeps its Salesforce ID

  • duplicate records are deleted by Salesforce as part of the merge

  • standard related records are reparented automatically

  • custom related records are reparented based on your configuration

  • field values are updated using your survivorship rules

Deliberate duplicates

Not every duplicate should be merged.

Many companies keep similar-looking account records on purpose. These records may support billing, channel sales, product ownership, regional operations, or integrations.

Examples:

  • separate billing entities

  • channel-specific account records

  • different business units under the same parent

  • regional account records for global companies

Kernel lets you define rules to preserve these deliberate duplicates.

If a record matches those rules, Kernel excludes it from merge actions.

You can define exclusions using:

  • custom fields

  • owner or team

  • account type

  • product line

  • region or territory

  • naming patterns

  • source system or external IDs

Example exclusion rules

Billing entities:

Channel accounts:

Product-line splits:

Audit trail and verification

After each merge, Kernel records:

  • when the merge ran

  • who initiated it

  • which records were merged

  • which fields changed

  • whether the merge succeeded or failed

Kernel also verifies that the merge completed as expected.

What you control

You control three things:

  1. which duplicate groups are allowed to merge

  2. which data survives the merge

That gives you a way to clean up CRM duplicates without breaking account ownership, billing structure, reporting, or downstream integrations.

Last updated