HubSpot Workflow Examples
Once Zoody syncs product usage data into HubSpot properties, your team can use those properties in lead scoring, workflows, lists, and reports. Here are proven patterns to get started.
Lead scoring with product usage
Product-qualified leads (PQLs) are contacts who demonstrate buying intent through product behavior, not just form fills. Zoody makes this data available as HubSpot properties so you can score leads based on what they actually do.
Example: PQL scoring model
Zoody mappings needed
feature_used > zo_feature_usage_30d (contact, count, 30d)
login > zo_login_count_7d (contact, count, 7d)
invite_sent > zo_invites_sent (contact, count, all time)
HubSpot lead scoring setup
| Criteria | Points | Why |
|---|---|---|
| zo_login_count_7d > 3 | +10 | Active this week |
| zo_feature_usage_30d > 10 | +20 | Power user behavior |
| zo_feature_usage_30d > 25 | +15 | Heavy usage, likely team need |
| zo_invites_sent > 0 | +25 | Viral behavior, strong intent |
How to set this up in HubSpot
- 1. Go to Settings > Properties > Lead Scoring
- 2. Add positive criteria using the Zoody-synced properties above
- 3. Set your PQL threshold (e.g., score > 40 = sales-ready)
- 4. Create a list or workflow that triggers when the score crosses the threshold
Churn risk detection
Catch disengaging users before they churn by triggering workflows when usage drops.
Example: Re-engagement workflow for inactive users
Zoody mappings needed
login > zo_last_active_at (contact, last_timestamp)
login > zo_login_count_7d (contact, count, 7d)
HubSpot workflow
- Trigger: zo_last_active_at is more than 14 days ago
- Branch: If zo_login_count_7d = 0, proceed (confirmed inactive)
- Action 1: Send "We miss you" re-engagement email with a personalized CTA based on their last feature used
- Action 2: Wait 3 days. If still inactive, create a task for the CS owner
- Action 3: Update a property like zo_churn_risk = "high" so it appears in dashboards and reports
Expansion and upsell signals
Surface accounts that are ready for upsell conversations based on actual product usage patterns.
Example: Account hitting usage limits
Zoody mappings needed
feature_used > zo_company_usage_30d (company, count, 30d)
api_call > zo_api_calls_30d (company, count, 30d)
seat_added > zo_seats_used (company, count, all time)
HubSpot workflow
- Trigger: zo_api_calls_30d > 10,000 OR zo_company_usage_30d > 500
- Action 1: Set zo_expansion_ready = "true" on the company record
- Action 2: Create a deal in your expansion pipeline
- Action 3: Notify the account owner via Slack or email with usage context
Onboarding progress tracking
Track whether new users are completing key activation steps and intervene when they stall.
Example: Activation milestone workflow
Zoody mappings needed
first_integration > zo_first_integration_at (contact, last_timestamp)
first_report > zo_first_report_at (contact, last_timestamp)
invite_sent > zo_has_invited (contact, count, all time)
HubSpot workflow
- Trigger: Contact created date is 7 days ago
- Branch 1: If zo_first_integration_at is unknown (empty), send "Complete your setup" email with integration guide
- Branch 2: If zo_first_report_at is unknown, send "See your first insights" email
- Branch 3: If all milestones complete, mark as activated and notify the sales owner
Reports and dashboards
Zoody-synced properties work like any other HubSpot property in reports.
Product engagement by lifecycle stage
Create a HubSpot report grouping contacts by lifecycle stage (subscriber, lead, MQL, SQL, customer) with average zo_feature_usage_30d as the metric. This shows whether your most engaged users are converting through the funnel.
Active vs. inactive customers
Build a list where zo_last_active_at is more than 30 days ago AND lifecycle stage is "Customer." Track the size of this list over time. If it grows, your retention strategy needs attention.
Revenue attributed to product-qualified leads
Filter closed-won deals where the associated contact has zo_feature_usage_30d > 10 at the time of deal creation. Compare close rates and deal sizes between product-qualified and marketing-qualified leads.
Company health overview
Group companies by zo_company_usage_30d ranges (0, 1-10, 11-50, 51-100, 100+). Overlay with deal stage or renewal date to prioritize CS outreach.
Zoody Signals: automation without HubSpot workflows
Signals are rules you configure in the Zoody dashboard that automatically evaluate after each sync. When conditions are met, Zoody takes action directly - no HubSpot workflow needed.
What signals can do
- Set a HubSpot property - e.g., set zo_pql_score = "qualified" when usage exceeds a threshold
- Log a timeline event - add an entry to the contact's HubSpot activity timeline (e.g., "Became PQL")
- Send a Slack notification - alert a channel or DM the record owner when a signal fires
Pre-built signal templates
Product Qualified Lead
Fires when logins_7d > 5 AND features_used > 3. Sets zo_pql_score and logs a timeline event.
Churn Risk
Fires when logins_7d < 1 AND last active > 14 days ago. Sets zo_churn_risk and sends a Slack alert.
Expansion Ready
Fires when seats_used_pct > 80 OR api_calls_30d > 10,000. Sets zo_expansion_ready and logs a timeline event.
Champion Identified
Fires when logins_30d > 20 AND features_used > 5. Sets zo_champion for advocacy programs.
Getting started
- 1.Send events from your product
- 2.Configure mappings to sync data into HubSpot properties
- 3.Use the examples on this page to build lead scoring, workflows, and reports
- 4.Optionally set up Zoody Signals for automated alerts and property updates
Need help designing workflows for your use case? Reach out and we will help you set it up.