> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clustr-ai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Completeness and the weekly email

> How CRM Cleaning measures your CRM and the one summary it emails every week, with highlights when the data looks wrong

## Completeness

**Overview ▸ Completeness** shows how complete your CRM is, field by field. It is counted over every
record Clustr has synced, not a sample, so it does not depend on how far the last scan
got.

| Contacts | Companies |
| - | - |
| Job title | Industry |
| LinkedIn URL | Employee count |
| Phone number (phone or mobile) | Country |
| Work email | LinkedIn URL |
| Owner | Domain |

A work email is one on a company domain: an address at Gmail, Outlook or a placeholder
domain does not count.

Each field shows how many records have it, out of how many, as a percentage. Beside it
you see the figure from about a week ago and a weekly trend: one point per week, for the
last 12 weeks by default and up to 52. The number of open duplicate groups sits beside
them. A snapshot is taken once a day.

Under the trend, fields that enrichment can fill have an **Enrich all** button with
the credits left this month. See [Enrich all](https://docs.clustr-ai.com/crm-cleaning/enrichment.md#enrich-all).

### Incomplete fields in the findings report

Every scan also reports each required field that some records are missing, for example
"8,140 companies have no industry". These appear in the
[findings report](https://docs.clustr-ai.com/crm-cleaning/queue-and-findings.md#findings), one row per field, with a
few example records. They are a report, not a fix. Configure them with **Configure** on
**Incomplete records** in the checks list.

The required fields can be changed in settings. By default they are:

| Contacts | Companies |
| - | - |
| Full name, email, job title, phone, company name | Name, domain, industry, website |

You can also require a contact's LinkedIn URL, or a company's employee count or LinkedIn
URL.

## The health score

Each full scan also computes a health score from 0 to 100. It weighs the open issues of
each kind against the number of records scanned: missing owners and incomplete records
weigh the most, unformatted fields the least. [Unusable values](https://docs.clustr-ai.com/crm-cleaning/queue-and-findings.md#findings)
count as incomplete records. A CRM with no open issues scores 100. The score of the
latest full scan goes up as you apply or dismiss its changes, without a new scan. A scan
that could not read your whole CRM leaves the score as it was.

The app shows completeness, not this score, because completeness is counted over every
record. The score is still available from
[`GET /api/crm/cleaning/health`](https://docs.clustr-ai.com/crm-cleaning/api#health-completeness-and-summary) and
the `get_crm_health_score` MCP tool, with its trend over the last 30 scans. Writes that
failed are reported beside the score, never folded into it: a broken connection is not
dirty data.

## The weekly summary email

CRM Cleaning sends one summary email a week, plus an immediate email only when changes
fail to write to your CRM. Every Monday from 07:00 UTC, it emails a summary of the last
seven days.

**What it says**

* How many changes were made, how many fields were filled, how many duplicates were
  merged, and how many changes are waiting for you.
* "Worth a look", when something about the data itself looks off this week: unusually
  many new duplicates, or a field getting emptier. See
  [Weekly summary highlights](#weekly-summary-highlights).
* About how much manual work that saved, for example "About 3.5 hours of manual cleanup
  saved this week." The estimate counts half a minute per formatting fix, 2 minutes per
  field filled, 3 minutes per merge, 1 minute per company link, and half a minute for
  anything else.
* What Clustr did, by kind: merges first, then fills, then fixes.
* How complete your CRM is now against a week earlier, for the main fields.
* Changes that could not be saved to your CRM, with the reason your CRM gave.
* What is waiting for your decision: the total, how much is new since the last email,
  and the three biggest groups.
* "Ready to run on its own": up to two checks your team always accepts, with a
  suggestion to [switch them to Do it](https://docs.clustr-ai.com/crm-cleaning/settings.md#suggestions-to-switch-to-do-it).

One button opens the queue.

**Who gets it**

* The recipients set in CRM Cleaning settings.
* When none are set, the workspace admins. The email then says so in its footer, so an
  admin knows to name someone else.

**When it is not sent**

* The scan schedule is off. The weekly email and the failure alert only run while the
  schedule is on.
* Nothing happened: no change was made, nothing is waiting, nothing failed, and there
  is nothing worth a look. A week with only a highlight still sends the summary.
* There is no recipient and no admin.

### Failure alerts

If changes start failing to reach your CRM, an alert goes out without waiting for
Monday. It is the only CRM Cleaning email outside the weekly summary. Clustr checks
every hour and sends an alert when the number of failures in the last 14 days, or their
main cause, has changed since the last alert. Its subject reads like "12 CRM changes
could not be saved". Open **Review** to see the failed changes and
[retry them](https://docs.clustr-ai.com/crm-cleaning/history.md#failed-and-conflict) once the cause is fixed.

## Weekly summary highlights

Two checks watch the data itself rather than what Clustr changed. When one finds
something, the weekly summary gets a short "Worth a look" section. Neither sends an
email of its own. Both are on by default. When the summary has nothing else to say, its
subject reads like "Your CRM this week: 1 thing worth a look".

### Many new duplicates

Shown when 25 or more new groups of possible duplicates were found in the summary's
week, for example "42 new groups of possible duplicates this week, about 4 times your
usual week. An import or an integration may be creating them." A group counts once,
however many records it holds, and a group already open is not counted again when a
later scan sees it.

The week must also bring at least three times your usual week, averaged over the four
weeks before, so a CRM that always gets this many new duplicates is not told about it.
A jump like this usually means an import, a form or an integration is creating the same
records twice.

It is held while Clustr is still finding the duplicates your CRM already had: after your
first scan, after a release that widened duplicate matching, and after you change your
match rules or turn a duplicate check on or off. A week only counts once a scan that
started after the change began at least two days before the week did.

You can change the 25 with `alerts.duplicate_spike_threshold` over the
[API](https://docs.clustr-ai.com/crm-cleaning/api.md#replace-settings).

### A field getting emptier

Shown when the share of records with a tracked [completeness](#completeness) field is at
least 5 points lower than a week earlier, for example "Contacts with a job title fell
from 61% to 52% this week." Fewer records must also have the field than a week ago, so
an import that only adds records without it does not count. It only covers contacts or
companies when there are at least 100 of them, both now and a week ago.

This usually means an integration or an import is writing blank values over real ones.
If the number of contacts or companies itself fell by more than half, Clustr says
nothing about that object: the record count changed, not the values.

### Turn them off

Use the two switches under **CRM Cleaning ▸ Settings ▸ Weekly summary highlights**.
See [Weekly summary highlights](https://docs.clustr-ai.com/crm-cleaning/settings.md#weekly-summary-highlights).

### Read the same numbers yourself

**Overview ▸ What we did** shows the same figures as the email, for the last 7 or 30
days: fixes, fields filled, merges, and what is waiting. Over the API they come from
[`GET /api/crm/cleaning/summary`](https://docs.clustr-ai.com/crm-cleaning/api#health-completeness-and-summary),
time saved included (`minutesSaved`, `hoursSaved`, `timeSavedText`), and from your
assistant with `get_crm_cleaning_summary`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.