Setting up a Duplicate Rule for a new object is a five-minute job in Setup, but the design decisions before and after take longer. Below is the full sequence: from matching logic to steward training.
- Confirm the Matching Rule exists
Duplicate Rules require a Matching Rule on the same object. Setup > Matching Rules. If none exists, create one and wait for it to activate before continuing.
- Navigate to Duplicate Rules
Setup > Duplicate Rules > New Rule. Select the object you want to apply the rule to. Each object can have up to 5 active rules.
- Reference the Matching Rule
On the Matching Rules section, select the Matching Rule that defines how records are compared. You can reference the same Matching Rule from multiple Duplicate Rules if you need different actions for different scenarios.
- Set actions for Create and Edit
Under Actions, choose the duplicate action for the Create event and the Edit event separately. The combination of Allow with alert on Create and Allow with report on Edit is the most common starting point.
- Add conditions if needed
Under Conditions, add filters to scope when the rule fires. Filter by profile, record type, or field values. Use this to handle exceptions cleanly rather than disabling the rule.
- Activate the rule
Save the rule, then activate it. Activation takes a few minutes. Test by attempting to insert a duplicate manually, and again through an API call, to confirm both paths enforce.
- Build the steward workflow
Pin the Duplicate Record Sets tab. Build a report on DuplicateRecordSet grouped by rule, scheduled to the data-quality team weekly. The rule without a steward workflow produces noise without action.
Save fails unless user has Manage Duplicates permission. Use for objects where duplicates create real downstream pain (Account, Tax IDs).
User sees the warning and can save anyway. The middle-ground option for most use cases.
Saves silently, logs to DuplicateRecordSet. Use when end-user friction is unacceptable but the steward queue is staffed.
Field-level filter that scopes when the rule fires. Filter by profile to exempt marketing ops; filter by record type to scope to B2B accounts only.
Each object caps at 5 active rules. Deactivate retired rules before adding new ones; you cannot exceed the cap.
- Apex DML bypasses Duplicate Rules unless code explicitly sets DMLOptions. Every integration written before this was widely known is probably bypassing the rule silently.
- All matching rules fire, not the first one. If you set up multiple rules expecting only one to apply, you will see multiple alerts on a single save.
- The Block action requires Manage Duplicates permission to override. Bulk imports run by users without this permission fail silently on duplicates and the import looks partial.
- Activating a Duplicate Rule queues other rule operations. Plan rule changes for off-peak hours; mid-day changes can leave users hitting validation errors during the activation window.
- Cross-object rules need a Matching Rule that supports cross-object comparison. The standard Lead-to-Contact rule does; custom-object cross-object rules require a custom Matching Rule built for the comparison.