How to predict customer churn with AI from HubSpot signals.
Most CSMs learn about churn from the cancellation email. Here's how to catch it two weeks earlier: an AI that reads your HubSpot pipeline daily, watches the signals that actually predict churn, and posts a ranked risk list to Slack every morning.
- Ranked daily churn risk list — no dashboard to check
- Signals blended: usage, support tickets, sentiment, missed check-ins
- Slack alert per account with the story behind the risk score
- Actionable — CSMs open the account and reach out that day
The signal most CSMs are missing
Every churned customer sends signals in the 30-60 days before they cancel. Support tickets tick up, usage flatlines, someone senior stops replying to check-ins, a decision-maker leaves the company on LinkedIn. The signals exist in your systems — HubSpot notes, product analytics, support tickets, calendar patterns. What doesn't exist is anyone actually looking at all those signals together, at the same time, for every account.
This is the shape of problem AI is genuinely good at. A language model reading a day's worth of HubSpot activity across your book of business can pattern-match — 'this account has three signals that historically preceded churn; that one has zero' — in ways a human CSM covering 30 accounts cannot. The output is a ranked list every morning: here are the 5 accounts to reach out to today.
The catch is that most 'AI churn prediction' products score in a black box. They give you a number without telling you why. When a CSM opens the account, all they see is 'risk: 78%' — no story to act on, no thread to pull. The workflow that actually changes retention behavior is one that ranks AND explains: 'high risk because support tickets doubled last month, no reply to your last two check-ins, primary contact updated LinkedIn to a new company.'
That explanation is what makes the daily list actionable. A CSM opening it doesn't need to guess what to say — they see the reason and can craft the outreach around it. That's the difference between 'we have a churn model' and 'we saved 5 accounts this quarter that we would have lost.'
How it works
- 1
1. Connect HubSpot
OAuth. Read-only on contacts, companies, deals, and tickets. The template respects your existing HubSpot access rules.
- 2
2. Pick your risk signals
Defaults cover usage drop, ticket spike, sentiment, and time-since-check-in. Edit the prompt if you have a stronger signal for your business.
- 3
3. Get the daily Slack digest
Every morning, the ranked list posts to Slack. Each entry has the risk score, the reason, and a link to the HubSpot account.
What the daily Slack digest looks like
Sample: morning churn-risk run over 84 active accounts. Claude ranked and posted this to the CSM Slack channel at 8:15 AM.
- You have >30 active accounts on paid subscriptions
- Your HubSpot data actually reflects reality (tickets, contact activity, notes)
- CSMs cover more accounts than they can proactively check on daily
- Retention is a stated priority for the next quarter
- You have <10 accounts — do this manually, you have time
- Your HubSpot data is stale or partial — the AI has nothing to reason over
- You already run a data-warehouse-backed churn model — this is a simpler substitute, not an upgrade
- Your CSMs are already at capacity and can't act on the daily list — surfacing more work doesn't help
Notes from the build
Why plain English, not a black-box score
'Risk: 78%' doesn't tell anyone what to do. 'Support tickets 3x normal, no reply to your check-ins, decision-maker updated LinkedIn' tells the CSM exactly what to reach out about. The reasoning IS the value.
The suggested action is a starting point
'Ping Priya on Slack, not email' is a suggestion drawn from patterns in the data — not a mandate. CSMs override freely. The value is that the CSM starts from a real hypothesis instead of a blank page.
Signals are configurable
The default signals (ticket volume, contact activity, usage flag, LinkedIn changes) fit most B2B SaaS. If your churn indicators are different (e.g. specific product events), edit the prompt to weight those. Takes 10 minutes.
Not a replacement for a real churn model
This workflow is good enough for teams that don't have a data-warehouse-backed model and want to start capturing wins today. It's not a substitute for a proper ML approach at scale.
Churn Risk Detector
Score HubSpot contacts who have gone quiet. High-risk contacts get a Slack alert and a HubSpot task.
See the templateFrequently asked
Does it use ML models under the hood?
No — it uses Claude to reason over the signals in plain English. That's less accurate than a trained model but 100x easier to understand and adjust.
Can it write to HubSpot too?
By default no. If you enable it, the template can add a note or update a health-score custom field.