# Dedupe Contacts

Identify and merge duplicate contact records within your CRM to maintain data quality and eliminate confusion in outreach.

## Inputs

- **Data Source** — which contact database or list to scan. Options: all contacts, specific workspace, team filter. Default: all active contacts.
- **Match Criteria** — what fields indicate a duplicate. Options: email-exact, name-fuzzy, phone-exact, email+name-fuzzy. Default: email-exact.
- **Review Mode** — how to present merge candidates. Options: automatic (merge all), approval-list (present for review), summary-report (list only, no merge). Default: approval-list.

## Steps

1. Query all contacts matching the selected data source using contact-search.
2. Run match-rules on the result set using the selected match criteria.
3. Generate a list of duplicate clusters, grouping 2+ contacts per suspected match using contact-compare.
4. For each cluster, retain the most complete or most-recent record as the primary.
5. In approval-list mode, present the merge candidates to the user for review; halt until confirmed.
6. Execute contact-merge on each approved cluster, consolidating activity history and tags to the primary record.
7. Generate a merge-report with before/after counts and any conflicts encountered.

## Constraints

- Merges are irreversible; always require review before executing (never auto-merge without approval).
- Do not merge contacts across workspaces or organizations.
- Large dedupes (1000+ merges) may run in batches; warn if scan will take >2 minutes.

Done when: you have produced a reviewable list of duplicate contact groups and confirmed all approved merges completed.