HubSpot's native dedupe caps at 50 merges, scans only contacts and companies, and can't be undone. This finds every duplicate group on your rules and hands you a reviewable CSV, with a suggested record to keep. It never merges anything.
⚷ your token is used in-memory for this run · not stored or loggedSettings → Integrations → Private Apps. Read-only, this tool never writes.
Records that share any selected key are grouped as possible duplicates.
Every duplicate group, with a suggested keep, as a CSV. Review it before you merge anything in HubSpot.
Read-only. Your token is used in-memory for this run, nothing in your account is modified. Not affiliated with HubSpot.
Native dedupe caps at 50 merges and can't be undone. This finds every duplicate group on your rules and hands you a reviewable CSV with a suggested keep. It never merges anything.
It runs on your own HubSpot data, in your browser session, against HubSpot's official API. There is no middle layer holding your records and there is no migration to anywhere. You run it, you get the result, you carry on with your day.
It is a CSV, which is the point. HubSpot will happily show you the numbers on a screen you cannot do anything with. This gives you the file, and the file goes wherever you need it.
The column names stay the same run to run, so if you build a Power BI report or a Sheets formula on top of it, re-running next month will not break what you built.
It will not touch anything you did not ask it to. It does not store your API key, it does not keep a copy of your data, and where an action cannot be reversed you get told that before you press the button, not after.
No. The key is held in memory for the length of the run and is gone when the tab closes. It is never written to our database and never appears in a log. You can revoke it in HubSpot the moment you are done and nothing here breaks.
It is a plain CSV, so anything that reads a CSV will read it. Open it in Excel or Google Sheets, pull it into Power BI or Looker Studio, or load it into a warehouse table. The headers are clean and they do not change between runs, so a scheduled refresh will not break on you.
It streams the results as they arrive rather than holding everything in memory, and it respects HubSpot's rate limits instead of hammering the API. Large accounts take longer, but they finish.
Yes, and you should. Every run starts with a preview of the exact records involved, and a CSV backup you can keep. Nothing is written until you say so.
Read the tool's own note above, because it differs by action. Where a change cannot be undone we say so plainly on the button itself rather than in the small print.
That is the whole question, and we do not have a good answer either. It is a gap that has been open for years, it is on the forums, and it never gets shipped. So we shipped it.