Daily churn and downgrade watchlist for customer success

By General Input

Every weekday morning, get a ranked list of accounts that churned or downgraded overnight, with follow-up tasks already assigned to their owners.

Integrations

  • ChartMogul
  • HubSpot
  • Slack Bot

Type

Agentic Task

Categories

  • Customer Support
  • Sales

Every weekday at 8:03am, build a ranked churn and downgrade watchlist for our customer success team and deliver it as HubSpot tasks plus a single Slack summary. Use a cron trigger. ChartMogul does not emit outgoing webhooks and is not available as a polling source, so the schedule is the trigger and the workflow pulls the data itself. Do not write this as a 'when a customer churns in ChartMogul' event trigger.

Start with ChartMogul List Activities to pull every MRR-affecting activity from the previous 24 hours. Keep only the churn and contraction events, and discard new business, expansion and reactivation. Contraction means a downgrade rather than a full cancellation, and it matters as much as churn because it is the earlier warning signal, so do not narrow this to cancellations only.

If there are no churn or contraction events in that window, stop the run without posting anything. Do not send an empty digest or a 'nothing to report' message. The channel stays quiet on clean days so that any message in it means something real happened.

For each affected account, enrich it in ChartMogul. Use Search Customers by Email when the activity gives you a customer email address, and fall back to List Customers when it does not. Capture current MRR, lifetime value and the plan name for each account.

Then find the matching CRM record. Use HubSpot Search Companies against the account name or domain, and use HubSpot Search Contacts against the customer email when the company lookup returns nothing or is ambiguous. Read the record owner off whichever match you land on.

Create a same-day follow-up task for that owner with HubSpot Create Task. Assign it to the owner you found, set the due date to today, and put the lost MRR amount in the task subject so the size of the loss is visible in a task list without opening it, for example 'Churn follow-up: Acme Corp, $840 MRR lost'. Associate the task with the company record you matched. If no owner or no CRM record can be found for an account, skip the task for that one and mark it as unassigned in the Slack summary rather than failing the whole run.

Finish with one consolidated Slack message using the Slack Bot Send a Message operation to the customer success channel. Rank the accounts by MRR at risk, highest first. For each account give the name, whether it churned or contracted, the MRR lost, its current MRR, lifetime value, plan and the task owner. Open the message with the total MRR lost overnight and the number of accounts affected. Flag any account whose lost MRR is above our high-value threshold of $500 so the worst cases stand out. Post exactly one message covering every account, never one message per account.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery boardLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromLinkedIn Ads budget pacing dashboard for every client account