Manually updating lifecycle stages for every contact doesn't scale. Automate stage progression based on contact behavior and sales actions.
How lifecycle stages change in workflows
HubSpot workflows change lifecycle stages automatically when contacts meet specific criteria.
Navigate to Automation > Workflows. Create a new workflow. Choose "Contact-based" and "Blank workflow."
Name it: "Auto MQL Progression."
Set enrollment trigger: "Contact is member of list: Auto MQL Qualification" (the list you created in Section 2).
Add action: "Set property value." Select property "Lifecycle stage." Set value to "Marketing Qualified Lead."
Optional: Add delay, then send internal notification to sales team. "Delay for 5 minutes" → "Send internal email notification to contact owner: New MQL ready for outreach."
Click "Review and publish."
Now when contacts meet MQL criteria (join your Auto MQL Qualification list), they automatically progress to MQL stage and sales gets notified.
Automated progression rules
Create workflows for other stage transitions:
Lead → MQL: (Already covered above)
MQL → SQL: Triggered when sales completes discovery call. Enrollment trigger: "Contact's last meeting date is known" AND "Contact's lifecycle stage is MQL." Action: Set lifecycle stage to SQL.
SQL → Opportunity: Triggered when deal is created. Enrollment trigger: "Contact's associated deal pipeline is any of [your pipelines]" AND "Contact's lifecycle stage is SQL." Action: Set lifecycle stage to Opportunity.
Opportunity → Customer: Triggered when deal closes. Enrollment trigger: "Contact's associated deal stage is Closed Won" AND "Contact's lifecycle stage is Opportunity." Action: Set lifecycle stage to Customer.
Create these workflows in Automation > Workflows following the same pattern: enrollment trigger + set property value action.
Preventing backwards movement
Important: HubSpot allows lifecycle stages to move backwards by default. This breaks reporting. A customer shouldn't revert to Lead just because they downloaded another ebook.
Prevent backwards movement in workflows: When setting lifecycle stage property, configure "Only update if current value is earlier in the lifecycle stage order" option.
Navigate to each lifecycle stage workflow. Click the "Set property value" action. Under "Options," toggle on "Only update if current value is earlier in lifecycle stage." This ensures contacts only progress forward, never backwards.
Alternatively, enforce this at account level: Navigate to Settings > Data Management > Properties > Contact Properties > Lifecycle Stage. Under "Property settings," toggle on "Prevent lifecycle stage from moving backwards."
Automation best practices
Test workflows before activating: Enroll yourself as a test contact. Verify the workflow triggers correctly and performs the right actions. Check that notifications send, properties update, and no errors occur.
Monitor workflow performance: Navigate to Automation > Workflows > [Workflow name] > Performance tab. Check enrollment count, completion rate, and any errors. If enrollment count is zero after a week, your enrollment triggers might be wrong.
Don't over-automate: Not every stage transition should be automated. The MQL → SQL transition often benefits from human review. Sales should confirm MQLs before progressing them to SQL. Automate clear-cut transitions (SQL → Opportunity when deal created), but allow manual control for judgment-based transitions.