← Back to home

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

CriteriaPointsWhy
zo_login_count_7d > 3+10Active this week
zo_feature_usage_30d > 10+20Power user behavior
zo_feature_usage_30d > 25+15Heavy usage, likely team need
zo_invites_sent > 0+25Viral behavior, strong intent

How to set this up in HubSpot

  1. 1. Go to Settings > Properties > Lead Scoring
  2. 2. Add positive criteria using the Zoody-synced properties above
  3. 3. Set your PQL threshold (e.g., score > 40 = sales-ready)
  4. 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

  1. Trigger: zo_last_active_at is more than 14 days ago
  2. Branch: If zo_login_count_7d = 0, proceed (confirmed inactive)
  3. Action 1: Send "We miss you" re-engagement email with a personalized CTA based on their last feature used
  4. Action 2: Wait 3 days. If still inactive, create a task for the CS owner
  5. Action 3: Update a property like zo_churn_risk = "high" so it appears in dashboards and reports
Zoody signals shortcut: You can also configure this as a Zoody Signal in the dashboard. Signals evaluate conditions automatically and can set HubSpot properties, log timeline events, and send Slack alerts without building a separate HubSpot workflow.

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

  1. Trigger: zo_api_calls_30d > 10,000 OR zo_company_usage_30d > 500
  2. Action 1: Set zo_expansion_ready = "true" on the company record
  3. Action 2: Create a deal in your expansion pipeline
  4. 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

  1. Trigger: Contact created date is 7 days ago
  2. Branch 1: If zo_first_integration_at is unknown (empty), send "Complete your setup" email with integration guide
  3. Branch 2: If zo_first_report_at is unknown, send "See your first insights" email
  4. 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

PQL

Product Qualified Lead

Fires when logins_7d > 5 AND features_used > 3. Sets zo_pql_score and logs a timeline event.

Churn

Churn Risk

Fires when logins_7d < 1 AND last active > 14 days ago. Sets zo_churn_risk and sends a Slack alert.

Expansion

Expansion Ready

Fires when seats_used_pct > 80 OR api_calls_30d > 10,000. Sets zo_expansion_ready and logs a timeline event.

Champion

Champion Identified

Fires when logins_30d > 20 AND features_used > 5. Sets zo_champion for advocacy programs.


Getting started

  1. 1.Send events from your product
  2. 2.Configure mappings to sync data into HubSpot properties
  3. 3.Use the examples on this page to build lead scoring, workflows, and reports
  4. 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.