Skip to main content
CRM Cleaning scans your connected CRM for data-quality issues — duplicate records, missing associations, formatting problems, incomplete fields, and (on HubSpot) lifecycle-stage anomalies. Not every fix is possible on every provider: what a detector can do depends on what write APIs the provider itself exposes. Clustr never hides this. A finding your CRM can’t act on is always labeled report-only rather than shown the same way as a finding you can apply — and the tables below tell you which is which for your provider before you run a scan. You can also read this live for your own tenant from GET /api/crm/cleaning/capabilities, which returns the same information this page documents.
This page is checked against Clustr’s cleaning engine in CI — the tables below cannot go stale without breaking a build.

Provider capability matrix

These are the three CRM-write capabilities CRM Cleaning’s detectors depend on.
  • Record merge — a real API to merge two records into one, keeping a single survivor.
  • Associations — a graph/association write model (e.g. linking a contact to its company).
  • Lifecycle stages — a HubSpot-style lifecycle-stage / deal-pipeline model. Attio has no equivalent concept; Salesforce’s Stage/Status fields model something different, not a drop-in substitute.

Detector actionability by provider

  • Full — findings can be applied directly from the review queue.
  • Flag only — the detector runs and findings are shown, but they’re report-only: there’s no write API on this provider to apply them, so you’ll need to fix them in your CRM directly.
  • Skipped — the detector doesn’t run at all: this provider has no equivalent of the concept it checks (e.g. lifecycle stages on Attio), so a finding would have nothing real to point at.
  • Mixed (duplicate detection only) — duplicate clusters are always flagged for review on every provider. Turning a cluster into a merge additionally requires record-merge capability, so on Salesforce and Attio the cluster is visible but the one-click merge action isn’t offered.
Missing associations are actionable on every connected provider today — Attio and Salesforce both added association writes after CRM Cleaning first shipped HubSpot-only. Record merge and lifecycle stages remain HubSpot-only: Attio has no lifecycle-stage concept to build against, and record merge on Salesforce/Attio is tracked separately and only prioritized if a customer needs it.