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.

Agentic Task
HubSpotCrustdataSlackCustomer SupportSalesDaily DigestsNotifications & AlertsResearch & Monitoring
PromptCreate

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.

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.

FAQs

Will this work with HubSpot's free tier?
Yes. As long as you can sign in and see your customer companies and create tasks, the sweep runs the same way.
How do we choose which accounts count as customers?
By default we read HubSpot companies marked as customers. If that field is not how your team tracks them, you can point the sweep at your Closed Won deals instead and we will use each deal's associated company.
Will my CSMs get a HubSpot task on every account?
No. Only red accounts create a task. Yellow accounts stay in the Slack digest as awareness only so your CSMs are not buried in follow-ups every Monday.
What does this cost to run each week in Crustdata?
Crustdata charges per company looked up. The sweep only enriches your current customer list, not your full CRM, so the cost scales with how many customers you have.
Who does the follow-up task get assigned to?
The HubSpot task is associated with the company and assigned to the deal owner, so it lands with the CSM or AE who already owns the relationship.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Provision customer entitlements in DynamoDB when a deal is won

When a HubSpot deal hits Closed Won, the customer's plan, seats and renewal dates land in your DynamoDB accounts table, with a Slack note showing what changed.

HubSpot
Amazon DynamoDB
Slack Bot
Agentic Task

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.