Contacts are duplicating
Four causes, and all of them are much cheaper to prevent than to clean up.
Duplicates cost more than tidiness. Because the Today list is per contact, a duplicated person can be called twice in a day by the same team — which is exactly the experience the whole calling system is designed to prevent.
Fix the cause before you clean up, or you will do the cleanup twice.

Steps
Check your phone number formats
The same person as 9986842011 and +919986842011 is two records
to any system. Normalise with country codes everywhere — import, API and manual entry.
Check for a retrying integration
Zapier, Make and API clients all retry. A create-only integration duplicates on every retry, quietly, at whatever rate the source produces events.
Fix it by upserting on a key rather than creating.
Check imports against what already exists
Importing a list that overlaps your existing contacts without a matching rule produces this, at scale, in one action.
Check contact creation on channels
Somebody reaching you on WhatsApp and on Instagram is two identities as far as the platforms are concerned. "Do not create contact" on low-intent channels reduces the noise.
Find them with a filter and an export
Filter and sort by name or number, then export to Excel where finding duplicates is straightforward. Do not scroll looking for them.
Fix the cause before cleaning up
Otherwise the duplicates come back and you will have spent the effort twice.
Check it worked
After cleaning up, watch for a week. If new duplicates appear, the cause is still live — and it is almost certainly an integration creating rather than upserting.
The parts people get wrong
- A duplicated contact can be called twice by the same campaign, because the Today list is per contact.
- Duplicates also split the activity feed, so the history of a customer ends up in two places and neither tells the whole story.