Weekly churn-risk sweep across your HubSpot customers
Every Monday at 8am, surface the customers showing real churn signals (shrinking headcount, exec exits, falling reviews) before your CSMs hear about it from the customer.
Every Monday at 8am (my local timezone), I want an agent to run a churn-risk sweep across my active HubSpot customers and surface the accounts that look shaky before my CSMs hear about it from the customer. Trigger: cron, weekly on Monday at 8am.
Step 1 — pull the customer list from HubSpot. Use HubSpot Search Companies to fetch active customer accounts (default filter: lifecyclestage = customer). If that filter does not fit my setup, fall back to HubSpot Search Deals filtered to dealstage = Closed Won and resolve each deal's associated company. For each account, keep the company name, domain, HubSpot company id, the open deal id (if any), and the deal owner id so we can route the follow-up task later.
Step 2 — enrich each customer with Crustdata. For every account, call Crustdata Enrich Company by domain and request the headcount, headcount.growth_percent, people, and news field groups so we see recent headcount trend, exec or champion departures, and notable news. On the same account, also call Crustdata Enrich Employee Reviews to pull the overall rating, CEO approval, and the category scores (Glassdoor-style). Important Crustdata details: company enrich uses the growth aliases mom / qoq / six_months / yoy (not the dotted .1m/.3m/.6m used in /company/search), the auth header is `Token <key>` (not Bearer), and `x-api-version: 2025-11-01` is required on every call. Employee reviews costs roughly 1 credit per company, so only enrich the customer list, never the full CRM.
Step 3 — score and bucket each account. Treat as RED any account showing two or more of: negative 3-month or 6-month headcount growth, a recent exec or champion departure in the people group, employee review overall rating that is declining or below 3.0, falling CEO approval, or clearly negative news. Treat as YELLOW any account showing exactly one of those signals. Otherwise GREEN. For every red and yellow account, write one short sentence naming the specific signal (for example, 'Headcount down 8% over the last 3 months and Glassdoor rating dropped to 2.9').
Step 4 — post the digest and file follow-ups. Send one Slack message to a configurable channel (default #cs-churn-watch) using Slack Send a Message, with red accounts at the top (ranked by severity), yellow accounts below, and a green-count summary at the bottom. For every RED account ONLY, call HubSpot Create Task associated with the company (and the open deal, if there is one), assigned to the deal owner, with the risk reason in the body and a due date set to 3 business days from now. Yellow accounts stay in the Slack digest as awareness only — do not create tasks for them so we do not spam the CSMs. Green accounts should not generate noise beyond the summary count.
Make the Slack channel, the red/yellow thresholds, and the customer-source choice (companies vs Closed Won deals) configurable at setup so I can tune them without editing the workflow.
Additional information
What does this prompt do?
- Every Monday at 8am, pulls your active HubSpot customer accounts and checks each one for fresh churn signals.
- Looks for the things customers don't volunteer: shrinking headcount, leadership departures, falling employee reviews, and negative news coverage.
- Sorts the list into red, yellow, and green, with one plain-English sentence per at-risk account explaining the specific signal that tripped it.
- Posts a single ranked digest to a Slack channel and files a follow-up task in HubSpot on every red account, assigned to the deal owner with a 3 business day due date.
What do I need to use this?
- A HubSpot login that can read your customer companies and create tasks.
- A Crustdata account and API key to pull headcount trends, recent news, and employee review scores.
- A Slack workspace and the channel where your CS team should see the weekly digest.
How can I customize it?
- Change the cadence (daily, every other Monday) or move the digest to a different Slack channel.
- Tighten or loosen what counts as red vs yellow, for example only flag headcount drops sharper than 10% or reviews below 3.0.
- Limit the sweep to a specific customer segment, region, or CSM book so each owner only sees their own accounts.
- Swap the customer source from a company filter to Closed Won deals if that matches how your team tracks active customers.
Frequently asked questions
Will this work with HubSpot's free tier?
How do we choose which accounts count as customers?
Will my CSMs get a HubSpot task on every account?
What does this cost to run each week in Crustdata?
Who does the follow-up task get assigned to?
Catch churn before your customers tell you.
Connect HubSpot, Crustdata, and Slack once. Geni runs this every Monday at 8am and only pings your CSMs about accounts that actually look shaky.