HubSpot CRM Data Hygiene
Identify cleanup needs across contacts, companies, deals, and tickets. Follow ../hubspot/SKILL.md for access, URLs, pagination, and write approvals.
Workflow
- Call
get_user_detailsand confirm read access to the requested object types. - Clarify issue classes: missing fields, stale records, duplicate-like records, owner gaps, associations, lifecycle/stage issues, or imports.
- Discover properties with
search_properties: contact email/phone/company/owner/lifecycle; company name/domain/website/owner; deal stage/pipeline/amount/close date; ticket subject/stage/priority/category/owner. - Use
get_propertiesfor enums, thensearch_crm_objectscount queries withNOT_HAS_PROPERTY,HAS_PROPERTY, filters, andassociatedWith. - For duplicate-like checks, prefer strong keys: contact email, company domain/website, phone, or deal name plus associated company. If aggregation is unavailable, sample and say so.
- Fetch examples with
get_crm_objectsonly when current values affect cleanup.
Issue Classes
- Missing routing or identity fields.
- Stale activity, old modified dates, past close dates, or unresolved ticket age.
- Broken associations, inconsistent lifecycle/stage values, or duplicate-like records sharing strong identifiers.
Output
Return coverage, top issues with counts, example URLs, why each issue matters, recommended fix, cleanup backlog, human-review items, and caveats. Do not auto-merge duplicates or overwrite fields. For writes, use the core confirmation table.