Duplicates and dirty data devalue any CRM. Five records for one client is five histories, none of them complete; a wrong phone is a lost contact; a typo in a company name is a report you cannot trust. That is why data-quality care in the product is not a separate button but a mandatory part of every action: the agent, an uploaded spreadsheet and a bulk edit all pass through the same checking order.
Why this matters
A neat base is not aesthetics, it is money. Deals get lost to duplicates (the client “already exists”, but their card is empty), mailings go to people twice, source reports lie. But nobody wants to turn cleaning into manual work either: that is exactly why duplicate search and normalization are automatic here, while decisions are made by the human through a command to the agent.
Mandatory duplicate search
On creating or changing a record the product always looks for matches — by email address, phone, company requisites and domain, all normalized to one form. If a similar record already exists, you are honestly told so: either the record will be attached to the existing one, or a warning appears with the list of matches found. A second record for the same person will not appear “silently”.
An important rule: duplicate search never merges records by itself. A match is only a proposal; the decision is made by the human.
The review queue
The matches found land in the Duplicates section — a review queue with three states: Pending, Not duplicates, merged. For every pair it is visible how alike it is (an exact or a fuzzy match — the names spelled slightly differently, for example) and by exactly which trait the records matched. This frees you from the main fear — “they merged who knows what”: the reason is always named.
Side-by-side comparison
Before deciding anything, both (or more) records are shown next to each other: fields, status, requisites, communication channels, history. The full card of each record can be opened from the queue. Fuzzy matches — when the names merely coincide, for example — the product deliberately requires a human confirmation: two different people with the same name happen all the time.
Merging with undo
Merging is an explicit action you entrust to the agent. First a preview of what will come out is shown, and only then is the merge executed: one operation, no “half-done” states. Where each value moved is recorded field by field — so it can be sorted out afterwards. If the merge turns out to be a mistake, it can be undone within 30 days: the records become separate again with their former values.
One honest reservation: the undo “un-pulls” the records back but does not rewind time. Notes and changes that appeared on the surviving record after the merge stay with it — that is already its own history, and rewriting it is not allowed.
Normalization
Even when there are no duplicates, data can be written inconsistently: phones in different formats, names with extra spaces, company names with and without the “LLC” legal form, dates in different shapes. For this there is normalization — a set of understandable rules the agent applies to the selected records: write the phone in one format, the email address canonically, remove extra spaces, write “Romashka LLC” uniformly.
It is arranged carefully and therefore safely:
- First the example, then the deed. First the agent shows the list “which value changes to which”, writing nothing. You look and decide.
- Undo within 7 days. The run can be cancelled — every changed value returns to its former form, except the ones somebody else managed to correct afterwards (the correction stays, and that is honestly noted).
- Nothing is spoiled silently. If a value cannot be normalized safely (the number is too short to be real, for example), it is not “fixed” at random but marked as needing a manual decision. The list of such values is precisely the worklist for the human, not a loss.
- A repeated run spoils nothing. A rule applied twice changes nothing the second time.
- The import does not dirty things again. The enabled rules apply to uploaded data too, so an uploaded spreadsheet lands in the base in a neat form right away.
The home screen has a data-quality report: the share of phones not in one format, the duplicate rate and other indicators — with the trend visible. It is an honest way to see that the cleaning is moving along.
Verification and enrichment
Data about a counterparty can be verified and enriched — and still always know where a value came from. Verification marks the record “passed” or “failed”, and if the official requisites disagree with what you have written, the product shows the concrete discrepancy: which field, what you have, what the official source says.
Enriched fields keep their provenance: the agent filled it in, not a human, from which source, with what confidence and when. Thanks to this the card shows what is verified and what is assumed — and solid data can be separated from guesses. And there is a rule that protects your manual work from loss: a value typed by a human is not overwritten by enrichment — the product skips such a field and reports which one it skipped.
Enrichment also has sensible limits: a fresh check is not requested again until its expiry term has passed, and the amount of work per run is bounded. These are honest limits that are not hidden.
Retention terms and personal-data deletion
Deleted records lie in the trash for 90 days, after which they disappear for good. That is ordinary cleaning — and it must not be confused with the deletion of personal data on request. The latter is a separate action that erases the data irrecoverably, together with the linked history, and cannot be restored from the trash. If a person asks to delete their data, you entrust it to the agent and receive a clear report.
Who decides
The interface shows the duplicates queue, the record comparison and the preview of an upcoming merge — but does not perform the merge itself. The decision is framed as a command to the agent: in the queue every pair already has a ready phrase prepared, which can be copied or sent to the chat with one press. This keeps the product’s main rule: the interface shows, the human decides, the agent works.