Branch Workflows Using Outputs from HubSpot’s Default Actions
Most users treat HubSpot workflow actions as endpoints (e.g. “send email” → done). This hack reframes them as decision inputs by branching based on the outcomes of those actions.
Why This Matters
- Turns static workflows into feedback-driven systems
- Enables real automation control (not just execution)
- Works perfectly with hidden fields + governor logic
Core Idea
Use default HubSpot action outputs (email activity, task status, property updates, etc.) to control downstream workflow paths.
Step-by-Step Implementation
Step 1: Identify Action Outputs You Can Use
Key HubSpot actions that generate usable signals:
- Marketing email sent
- Opened
- Clicked
- Bounced
- Sales email / sequence
- Replied
- Task created
- Completed / Not completed
- Property set
- Value change confirmation
- Ad interaction / page view
- Engagement signals
Step 2: Build Initial Action
Example:
- Send marketing email
Action: Send Email → "Demo Offer Email"
Step 3: Add Delay for Signal Collection
You must allow time for the action to produce data.
Delay: 2 days
Step 4: Branch on Action Output
Add If/Then Branch
Example: Email Engagement Branching
IF contact has clicked link in email "Demo Offer Email"
→ High intent path
ELSE IF contact has opened email
→ Medium intent path
ELSE
→ Low intent path
→ High intent path
ELSE IF contact has opened email
→ Medium intent path
ELSE
→ Low intent path
Step 5: Define Controlled Paths
High Intent
- Notify sales rep
- Create deal
- Fast-track workflow
- Create deal
- Fast-track workflow
Medium Intent
- Send follow-up email
- Add to nurture sequence
- Add to nurture sequence
Low Intent
- Reduce frequency
- Change messaging angle
- Possibly pause automation
- Change messaging angle
- Possibly pause automation
Step 6: Combine with Hidden Fields (Advanced Control)
Example:
IF lead_source_detail = "LinkedIn_Campaign_A"
AND email_click = true
→ Route to enterprise sales team
IF lead_source_detail = "Organic"
AND no engagement
→ Add to long-term nurture
AND email_click = true
→ Route to enterprise sales team
IF lead_source_detail = "Organic"
AND no engagement
→ Add to long-term nurture
Step 7: Combine with Governor (Critical)
Before branching, enforce:
IF automation_governor_status != "Allow"
→ Exit workflow
→ Exit workflow
Advanced Use Cases
1. Task Completion Routing
Create task: "Call lead"
Delay: 2 days
IF task completed
→ Move to next stage
ELSE
→ Reassign task or escalate
Delay: 2 days
IF task completed
→ Move to next stage
ELSE
→ Reassign task or escalate
2. Form Submission Validation Loop
Set property: lead_status = "Pending"
IF property updated successfully
→ Continue
ELSE
→ Trigger correction workflow
IF property updated successfully
→ Continue
ELSE
→ Trigger correction workflow
3. Multi-Touch Email Logic
Email 1 sent
↓
IF no open → resend with new subject
IF open but no click → send different CTA
IF click → sales follow-up
↓
IF no open → resend with new subject
IF open but no click → send different CTA
IF click → sales follow-up
Key Design Principle
Every action should produce a signal. Every signal should drive a decision.
Common Mistake to Avoid
- ❌ Linear workflows: Action → Action → Action
- ✅ Controlled workflows: Action → Signal → Branch → Action
Positioning for Your Hack
You now have:
1. Hidden Fields
→ Control input
2. Automation Governor
→ Control execution
3. Action Output Branching
→ Control decision-making
4. Behavior Throttling
→ Control timing & intensity
