Skip to content

List hygiene: unused/stale list archive notification

One of 565 written HubSpot workflow specs, by a collective of independent HubSpot consultants.

Professional

Seat pricing: Professional edition. To build it, a GTM Seat or an Ops Seat (an Ops Seat cannot create marketing emails or sequences). Per-hub plans: Data Hub Professional.

Contact6 stepsUpdated for HubSpot seat pricing
OutcomeMarketing ops gets a periodic report of active and static lists nobody has touched in months, instead of discovering a portal cluttered with hundreds of dead lists during an unrelated audit.
Workflow mapmarketing-ops-023
Scheduled weekly run leads to Custom code: enumerate lists via API. Custom code: enumerate lists via API leads to result_code ok?. result_code ok? leads to Yes, stale_list_count > 0: Send stale list report; Yes, stale_list_count = 0: No notification; No: Notify: check failed. Yes, stale_list_count > 0 Yes, stale_list_count = 0 No Scheduled weekly run Custom code: enumerate lists via API result_code ok? Send stale list report No notification Notify: check failed
Scheduled weekly run leads to Custom code: enumerate lists via API. Custom code: enumerate lists via API leads to result_code ok?. result_code ok? leads to Yes, stale_list_count > 0: Send stale list report; Yes, stale_list_count = 0: No notification; No: Notify: check failed. Scheduled weekly run Custom code: enumerate lists via API result_code ok? Yes, stale_list_count > 0 Send stale list report Yes, stale_list_count = 0 No notification No Notify: check failed

When to use it, when not to

Use it

  • Use once your portal has accumulated enough lists (typically several dozen or more) that finding the ones still in active use has become a real time cost.
  • Use to build the habit of periodic list cleanup before it becomes an emergency ahead of a migration, an audit, or an data quality push.
Read more on when to use itShow less

Skip it

  • Do not use expecting a native HubSpot workflow trigger for this. Lists are not an enrollable record type in the workflow tool; there is no "list is stale" event a standard contact- or deal-based workflow can watch. This fiche uses a scheduled workaround, described below, rather than a native list-based trigger. (check in your portal: confirm current portal version has not added a native list-lifecycle trigger, this has been a recurring feature request)
  • Do not use this fiche to actually delete or archive lists automatically. It reports; a person decides and acts.
Read more on when to skip itShow less

The rest of this spec

Prerequisites · 4 items

Every property with its label, internal name, type and options, plus the assets the workflow needs.

Enrollment · 4 parts

The trigger, the criteria as ticked in the UI, the re-enrollment rule and the suppression list.

Steps · 6 numbered actions

Each action in order with its parameters, branches and delays.

Known pitfalls · 4

Traps seen in production, each with what breaks and what to do instead.

Test plan and UAT script · 4 cases, 3 variants

How to prove it works in a test portal, one case per branch, and a sign-off sheet.

Files · PDF, Markdown, JSON, CSV, code

The properties JSON creates the fields in one call. The workflow JSON documents the build. The custom coded action ships as a ready-to-paste .js file.

Install · 1 click, switched off

The installer creates the properties and the workflow, switched off, then opens a task for what it cannot create. Nothing is deleted, enabled or enrolled.

Unlock all 565 specs, 149 EUR

One-time, excl. VAT. 30-day refund. Installs in 3 portals. Founding price until 30 November.

Read the free Marketing ops spec

Read 12 complete specs before you pay.

One per category, same format as the paid ones. Email only, no card.

We email the link, then a short note when specs change. Nothing else.

149 EUR199

Full library, 565 specs
Get the full library