The Workflow Library

Library / Data quality / data-quality-048

Bulk property cleanup via scheduled recurring workflow

Data qualityContactData Hub ProfessionalIntermediate~40 min to buildalso needs Marketing Hub ProfessionalFull spec

This spec is filed under Data Hub Professional, and one of its steps belongs to another subscription: add to static list needs Marketing Hub Professional. Both are required to build it as written.

Outcome. A defined set of common formatting problems, stray whitespace, inconsistent casing, stale placeholder values, gets swept and corrected across the active contact database on a fixed schedule, instead of relying only on point-in-time fixes at creation that miss records edited outside HubSpot's own forms.

Workflow map Enrollment, branches and actions at a glance data-quality-048
flowchart TD
    A[Weekly scheduled sweep of active contacts] --> B[Custom code: trim, case-normalize, check placeholders]
    B --> C[Set Last cleanup pass date]
    C --> D{Changes made?}
    D -->|yes| E[Set cleaned field values]
    B --> F{Placeholder flagged?}
    F -->|yes| G[Add to placeholder review list + create task]
action or delay branch public on every spec, paid or not

When to use it, when not to

  • UseUse it as ongoing maintenance once you already have event-based normalization running on new and edited records, data-quality-003 through data-quality-005 for example, but still see drift creeping in from bulk imports, API writes, or edits that do not pass through the properties your event-based workflows watch.
  • UseUse it as a complement to, not a replacement for, the one-time retroactive pass in data-quality-031. That fiche is for a single deliberate backfill when a rule changes; this fiche is a standing recurring job that keeps running indefinitely.
  • SkipDo not use it if your only source of dirty data is form submissions already covered by event-based workflows. A recurring full-database sweep spends execution allowance checking records that are already clean on every single run.
  • SkipDo not use it with a schedule tighter than your actual data-drift rate. If new dirty data only appears from a monthly batch import, a daily sweep wastes executions rechecking records that have not changed since the last pass.
The preview ends here. Six sections are in the library. counted, not blurred
PrerequisitesEvery property with its label, internal name, type and options, plus the assets the workflow needs before you start.4 items
EnrollmentThe trigger, the criteria exactly as they are ticked in the UI, the re-enrollment rule and the suppression list.4 parts
StepsEach action in order with its parameters, its branches and its delays, written as you tick them.10 numbered actions
Known pitfallsTraps seen in production, each with what breaks and what to do instead.4 pitfalls
Test plan, variants and build specHow to prove it works in a test portal, where to look when it does not, the variants for other objects or tiers, and the YAML build spec.3 variants, 3 sections
FilesThe properties JSON creates the fields in one API call, the workflow JSON documents the build, and the custom coded action ships as a ready-to-paste .js file.PDF, Markdown, JSON, code
Install1 click. The installer creates the properties this spec declares and the workflow itself, switched off, then opens a task for the prerequisites that are assets rather than properties, such as a team, a static list or a marketing email. What it created is listed on the install page.1 click, switched off
Unlock the full library, 149 EUR

or the data quality pack, 39 EUR

One-time, excl. VAT. 30-day refund, no questions asked. Founding prices until 31 October, then 199 and 59 EUR. Includes every spec added later, up to the full 500, and the one-click installer on the full library. Building on client portals? The agency licence at 449 EUR covers unlimited client portals.