Stop manually moving contacts through HubSpot lifecycle stages
Manual lifecycle management creates lag, inconsistency, and reporting you can't trust. The automation is straightforward once you've defined the criteria.
I’ve audited enough HubSpot instances to know the pattern: lifecycle stages are technically set up, but half the contacts are in the wrong stage because someone forgot to update them, or because the criteria were never defined clearly enough to automate.
The result is a CRM where MQL means different things depending on which rep touched the record, and pipeline reporting is fiction.
The fix requires two things before you touch any automation: define the criteria for each stage transition in writing, and get sales and marketing to sign off on them together. That conversation is harder than the technical work.
Once you have that, the automation is a series of HubSpot workflows, one per stage transition:
Lead → MQL: Contact has a lead score above threshold AND works at a company that meets ICP firmographic criteria (company size, industry, tech stack). Score threshold set by the enrichment + scoring pipeline, not manually.
MQL → SQL: Contact has booked a meeting OR a rep has manually marked them as qualified after an initial conversation. Two paths, both valid.
SQL → Opportunity: A deal has been created and associated with the contact. HubSpot can do this automatically on meeting completion if you wire it up.
Closed Lost → Re-MQL: This one most teams miss. Set a timer (6 months by default) and re-evaluate closed lost contacts against current ICP criteria. If they now meet the threshold, move them back to MQL automatically and notify the rep.
The last workflow pays for itself. Closed lost is the highest-intent segment in your database. They evaluated you once. The product has changed. The timing has changed. Most teams never go back to them systematically.