AuPerate action reference

Merge Duplicates

Merge Duplicates finds records that duplicate the enrolled one and merges them into a single survivor. Matching can be as simple as a shared phone number or as precise as multi-property AND/OR rules with normalizers. Preview mode reports what would merge without changing anything. Available from the Pro plan.

Available from the Pro plan. Add it in any workflow via Add action, then the AuPerate group. Fields appear and disappear based on the operation you pick, so you only ever see what the chosen operation needs.

Input fields

FieldShown forWhat it does
How to find duplicatesalways (required)Same phone number (numbers are normalized before comparing), same value in a property (a live property dropdown appears), or advanced rules (a rules box appears).
Property that must matchproperty modeOnly for property matching: duplicates are records sharing the enrolled record's value in this property.
Advanced match rulesadvanced modeProperties joined by + must all match (AND); alternatives separated by | (OR). Normalizers: :phone, :domain, :exact, :ci. Example: phone:phone + country | customer_id:exact
Which record survivesalwaysOldest (default), newest, or most complete (the record with the most filled properties).
ModealwaysPreview only (default) reports duplicates without merging. Merge for real performs the merges.

Output fields

OutputMeaning
Successtrue when the scan or merge completed.
Statuspreview, merged, no_duplicates or error.
Surviving Record IDThe record everything merged into.
Merged Record IDsComma separated IDs that were (or would be) merged away.

Worked examples

Continuous contact dedupe by normalized phone

  1. 1Workflow: contact based, enrolled on create.
  2. 2How to find duplicates: Same phone number.
  3. 3Which record survives: Oldest record survives.
  4. 4Mode: Preview only for the first week; check the Merged Record IDs output in your workflow history.
  5. 5Flip Mode to Merge for real once the preview output looks right.

Advanced: phone AND country, or exact customer id

  1. 1How to find duplicates: Advanced rules.
  2. 2Rules: phone:phone + country | customer_id:exact
  3. 3Reads as: same normalized phone AND same country, OR exactly the same customer_id.

Good to know

  • Always start in preview mode. Merges in HubSpot cannot be undone.
  • The :phone normalizer strips formatting and leading zeros so +91 98765 43210 matches 09876543210.
  • The :domain normalizer strips protocol and www so https://www.acme.com matches acme.com.

Use cases

Continuous contact dedupe

Enroll on create, match on normalized phone plus country, keep the oldest record. Run in preview first.

Company dedupe by domain

Match on domain with the :domain normalizer so www and protocol differences do not block matches.

Order dedupe on a custom object

Match a custom order object on order_number:exact and keep the most complete record.

Frequently asked questions

Is merging reversible?

No. HubSpot merges cannot be undone, which is why the action defaults to preview mode. Preview reports the duplicate record IDs it found without changing anything, so you can verify the rules before merging for real.

How does phone matching handle different formats?

The phone normalizer strips spaces, punctuation and leading zeros before comparing, so +91 98765 43210 and 09876543210 are recognized as the same number.

Can I match on more than one property?

Yes. Advanced rules combine properties: a plus sign means both must match, a vertical bar separates alternatives. For example phone:phone + country | customer_id:exact.

Which record survives the merge?

You choose: the oldest record, the newest record, or the most complete record, which is the one with the most properties filled in.

Related