Skip to content

I inherited a HubSpot portal with hundreds of workflows. Where do I start?

39 specsNeeds Professional or higher (per-hub plans: Sales Hub)4 need Enterprise16 need Data Hub Professional on per-hub plans11 also need Marketing Hub Professional on per-hub plans

Short answer

Not with a delete. Start with an inventory: every workflow and its status, every property two workflows both write to, every list nothing uses any more.

Then the data those workflows read, then the lifecycle and pipeline rules they argue over. Suspend and date what looks dead instead of removing it, because a disabled workflow can hold the only copy of a calculation. Most of the inventory needs a custom coded action, so Data Hub Professional.

Read the whole answerShow less

What a spec looks like

Free Lead to MQL lifecycle stage promotion on lead score threshold Contact6 steps Read it in full
The nine sections, and the files

Every spec follows the same nine sections, so a team reads one and knows how to read all of them.

  • Outcome, when to use it and when not to
  • Prerequisites: properties, lists, tiers, with the JSON to create them
  • Enrollment and re-enrollment, then every step with its parameters
  • Known pitfalls, a test plan, variants, and the YAML build spec

PDF, Markdown, properties JSON, workflow JSON, custom code where used. Test plan and known pitfalls in every spec.

Each spec states its minimum tier. The 12 free ones open in full, the others show their public preview.

The 39 specs, in build order

Inventory: what exists and who touched it

Lists every workflow and its status, reports enrollment and errors weekly, and starts a written trail of who changed what.

What each spec doesHide
Disabled workflow inventory and owner nudge (automation hygiene)Contact1 stepData Hub ProfessionalOnce a month, an admin gets a message listing every disabled workflow in the portal, so forgotten or paused automation gets reviewed instead of sitting disabled indefinitely.Weekly digest: workflow enrollment and error summary for admins (automation health)Contact1 stepData Hub EnterpriseOnce a week, the admin team gets one Slack message listing which workflows had errors in the past week, so a broken action gets caught during a routine check instead of only when someone complains a record was missed.EnterpriseAudit property: record owner change log (who owns what, when it changed)Deal4 stepsData Hub ProfessionalEvery time a deal's owner changes, a timeline note records who it changed from and to, and a timestamp property tracks when, so ownership history stays visible without opening property history for every deal.Timeline note logging on critical property change (audit visibility)Deal2 stepsEvery time a defined critical deal property changes, a note logs automatically to the deal's timeline with the new value and a timestamp, giving reporting and finance a visible trail without opening the property history panel.Exclude sandbox and test deals from hygiene reportingDeal4 stepsTest and sandbox deals get tagged and pulled into a dedicated list, so every other hygiene workflow and dashboard in this category can exclude them cleanly instead of every fiche re-inventing its own exclusion logic.Per-hub plans: also Marketing Hub Professional

Conflicts: two workflows writing the same property

Finds shared triggers, then puts a referee on the three fields that get overwritten most: lifecycle stage, deal stage and probability.

What each spec doesHide
Show the 2 other specs in this groupShow fewer

The data underneath: duplicates, gaps, orphans

Cleans what the automation reads, because a workflow branching on a blank field is not a broken workflow, it is a broken record.

What each spec doesHide
Show the 5 other specs in this groupShow fewer

What is still running without an owner

Stale lists, dead integrations, sequences nobody stopped, tasks piling up on a deactivated user, leads sitting unassigned since the handover.

What each spec doesHide
Show the 3 other specs in this groupShow fewer

Lifecycle and pipelines, rebuilt in one place

One workflow owns each transition, with the timestamps and the stuck-record alerts that make the pipeline readable again.

What each spec doesHide
Show the 3 other specs in this groupShow fewer

Governance, so the next person does not inherit this

A completeness score to measure the cleanup, a scheduled sweep, a periodic review with a named owner, and a lock on the records that should stop moving.

What each spec doesHide
Data completeness score (calculated property across key fields)Contact2 stepsData Hub ProfessionalEvery contact carries a single completeness percentage across the fields your team actually relies on, so segmentation, reporting, and cleanup prioritization stop depending on eyeballing which fields are blank.Data-verified checkbox with periodic review reminderContact4 stepsData Hub ProfessionalContacts marked as verified automatically come back up for review after a fixed interval, instead of a verified checkbox staying checked forever after the one time someone actually checked it.Bulk property cleanup via scheduled recurring workflowContact10 stepsData Hub ProfessionalA 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.Per-hub plans: also Marketing Hub ProfessionalDeal record locked from edits after Closed Won (data integrity)Deal8 stepsSales Hub EnterpriseA key financial field edited on a deal after it closes won gets reverted to its closing value automatically and the change gets flagged for review, so a record that finance already acted on cannot silently drift after the fact.EnterpriseMonthly digest: lifecycle stage funnel movement summary (count per transition)Contact1 stepData Hub ProfessionalOnce a month, an admin gets a message showing how many contacts moved from each lifecycle stage to each other stage that month, so funnel movement is visible as transitions, not just stage totals.

The 3 things that break this, and how the specs stop them

Never delete an inherited workflow. Suspend it and date it

A disabled workflow is not dead weight, it is evidence.

It can hold the only surviving logic behind a field your reports still read, a seasonal campaign that runs every March, or a one-time migration somebody may need to explain. Nothing in HubSpot tells you which. The inventory spec is deliberately written to surface disabled workflows without judging intent, and the list hygiene spec carries the same warning: archiving a list that an active workflow uses in its enrollment or suppression criteria changes that workflow's behaviour without a single error anywhere. Turn it off, rename it with the date you suspended it and your initials, wait a full quarter, then decide.

How the specs stop itShow less

No enrollment in 90 days does not mean nobody needs it

The obvious first cut on a portal with four hundred workflows is the ones that have not enrolled a record since spring.

It is also the cut that breaks a renewal notice nobody thinks about until the contract lapses. Annual reviews, quarter-end snapshots and holiday campaigns all look identical to abandonment on a ninety day window. Worse, a workflow's lastUpdated timestamp moves when an unrelated bulk action touches it, so recency proves nothing either way. Read the enrollment history over twelve months, not three, and check whether the workflow writes a property that appears in a report or a list before you touch it.

How the specs stop itShow less

Two workflows can trigger each other into a loop

The classic pair on an inherited portal: one workflow sets company lifecycle stage from the deal, another corrects contact lifecycle stage when it moves backwards, and each one's write satisfies the other's enrollment trigger.

Both run forever, both look successful in history, and the field flickers between two values all afternoon. Any workflow that edits the same property it enrolls on has this shape, and re-enrollment settings are what decide whether it exits on the second pass. The conflict detection spec finds shared triggers across the portal, but it compares entry conditions only, so a pair that loops through different triggers still has to be traced by hand.

How the specs stop itShow less

What this bundle builds

Somebody left. You got the portal. Four hundred workflows, no documentation, a properties list with three fields that look like they do the same thing, and a sales team already asking why leads stopped arriving on Tuesdays.

This bundle is the audit, in the order an audit actually runs. Five specs take inventory: every workflow and its status in one monthly report, a weekly enrollment and error digest, an owner change log, a timeline note on every critical property edit, and a flag that keeps test records out of the numbers. Six find the conflicts, starting with the report that compares enrollment triggers across the whole portal and ending with referees on the three fields that get overwritten most often. Nine clean the data those workflows read, because most of what looks like broken automation is a branch evaluating a blank field. Seven surface what is still running with nobody behind it: stale lists, failing integration syncs, sequences that never stopped, leads owned by a user who left in March. Seven rebuild the lifecycle and pipeline layer in one place. Five close the gate.

Sales or Marketing Hub Professional for the cleanup, the lifecycle work and the pipeline work. Data Hub Professional for the inventory and detection reports, which is where the custom coded actions live.

Read the restShow less
How the pieces fit together

Inventory before anything else, and resist the urge to fix what the first report shows you. The disabled workflow list, the shared trigger report and the stale list report all take a scheduled run to produce their first useful output, so build all three, then read them together a week later.

Conflicts second, because a data cleanup that runs while two workflows are still fighting over lifecycle stage gets overwritten by Friday. Decide which system owns each contested property, write it down, then build the referee. The lifecycle specs and the company sync spec share that one field, so they are built as a set or not at all.

Data third. The normalization pass is the only spec here that enrolls history rather than new records, so export the source list before you run it, since removing records as a progress indicator also destroys your targeting.

Governance last, when you know which gaps this portal actually has. The completeness score is the number you report upward.

What you get
  • 39 specs, from a 15 minute unsubscribe guard to an 80 minute automation health digest, around 23 hours of build in total
  • Each spec as PDF and Markdown, with enrollment criteria, step list, diagram, test plan and the pitfalls written out
  • Properties JSON: 59 property definitions across contacts, deals and companies, including the status flags that stop these workflows re-triggering on their own writes
  • Workflow JSON in Automation API format, switched off on import, so nothing runs before you have read it
  • Custom coded actions: 12, all in the inventory and detection specs, with the API fields to confirm against the live developer docs marked inline
  • Tier stated per spec: 17 Sales Hub Professional, 15 Data Hub Professional, 5 Marketing Hub Professional, 1 Data Hub Enterprise, 1 Sales Hub Enterprise
  • Static lists, review queues and their named owners specified, not left as an exercise
  • Test plans that cover the negative path: the blank field, the record owned by a deactivated user, the workflow that enrolls nothing
  • One click install for Full and Agency buyers
Who it is for, and who should skip it

For the consultant walking into a portal on day one with a fixed number of billable days, and for the admin who took over when the last one left. The first three reports give you something to show in a meeting before you have changed anything.

Be honest about the ceiling. On a portal with several thousand contacts, multiple teams and years of custom objects, this is the instrumentation for an audit, not the audit itself. It finds shared triggers and dead lists. It cannot tell you that finance depends on a field the CRM calls something else. That conversation is human, it takes days, and no spec replaces it. If the portal is small and duplicates are the real problem, take the cleanup bundle instead.

Questions admins ask

How do I audit a HubSpot portal I just inherited?

Inventory first, in writing, before a single change. You want the list of every workflow with its enabled status, the pairs that share an enrollment trigger, the lists nothing references, and the integrations whose sync is failing quietly. That is four scheduled reports and about three hours of build. Only then does it make sense to decide what to suspend, because until you have that inventory every decision is a guess about somebody else's intent.

Can I see which HubSpot workflows are not being used?

Not from the interface in any useful way. The workflow list sorts by status and last updated, which tells you almost nothing on a portal this size. Reading the Automation API through a custom coded action gets you the real picture: status, trigger and enrollment counts across every flow in one report. That is a Data Hub Professional action, and the API response shape has moved before, so the spec marks the fields to confirm against the live developer docs before you rely on them.

How many workflows is too many in one HubSpot portal?

Count is the wrong measure. Four hundred single-purpose workflows with clear names are easier to work with than forty that each do six things. What actually hurts is overlap: two workflows writing the same property, three sending a version of the same notification, a suppression list referenced by one and archived by another. Measure conflicts, not volume, which is why the second component in this bundle exists.

Should I rebuild the automation from scratch instead?

Rarely, and never on the first pass. A rebuild assumes you understand every rule that exists, and on an inherited portal you do not yet. The cheaper route is to freeze new automation, clean the data the current workflows read, put one owner on each contested property, and rebuild only the lifecycle and pipeline layer where conflicts concentrate. Seven specs here cover that layer. If a full rebuild still looks right after those, you will at least know what you are replacing.

Do I need Data Hub Professional to audit a portal?

For the inventory half, yes. Nothing native lists other workflows, reads their status or compares their triggers, so sixteen of these specs sit at Data Hub tier, twelve of them on a custom coded action, and one automation health report needs Enterprise. The other twenty three run on Sales or Marketing Hub Professional, and those are the data cleanup, lifecycle and pipeline specs. A practical order on a portal without Data Hub: build the inventory by hand once, then spend the licence question on the conflict report rather than on the cleanup.

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.

69 EUR89

This bundle
Get this bundle