Customer Win-Back Workflow: Re-Engage Churned Customers with a Reason
Most win-back email is a discount blasted at everyone who ever cancelled. The workflow segments churned customers by exit reason and value, waits for a trigger that makes a return plausible — a feature they asked for shipped, their season started, a pricing change — and sends a specific message with one approved offer. Reactivations are tracked to the segment and trigger so you learn what actually brings people back.
Written by Max Zeshut
Founder at Agentmelt · Last updated Sep 11, 2026
The problem
Churned customers get one generic “we miss you” email and are then forgotten. Nobody uses the cancellation reason that was recorded. Discounts are offered to people who left for reasons a discount does not fix.
What changes when it runs
Every churned account sits in a segment with a reason and a value, and gets a message only when there is something true to say. Reactivation rate rises because the message is relevant; discount spend falls because it is offered only where price was the reason.
Trigger, then 7 steps
Trigger
Schedule Trigger (weekly) + product/release webhooks
Weekly scan of churned accounts against triggers; release-notes webhook or a manual trigger when a feature ships; seasonal calendar for seasonal businesses.
Build the churned segment
HTTP RequestCancelled and lapsed accounts from billing and CRM with tenure, last plan, revenue, cancellation reason and any exit-survey text.
Classify the reason
Text ClassifierExit reasons normalised into categories — price, missing feature, poor fit, switched to competitor, business closed, unresponsive — from the survey text and support history.
Match triggers to segments
CodeRules: missing-feature churn waits for that feature to ship; price churn waits for a plan change or an annual-discount window; seasonal churn waits for the season; poor-fit and closed-business are excluded.
Draft the message
AI AgentA short, specific message referencing the reason they gave and the thing that changed, with one approved offer from the finance-owned set, in the account owner's voice.
Approve high-value sends
WaitAccounts above a revenue threshold pause for the owner's approval; the rest send automatically within the frequency cap.
Send and route replies
GmailSent from the account owner; replies create a task for them with the account history; unsubscribes are honoured across all lists.
Track reactivation
HubSpotReactivations matched to the message, segment, trigger and offer, so the rules and offers can be tuned quarterly.
Data it touches
- Billing (cancellations, lapsed subscriptions)
- CRM and exit-survey text
- Release notes / product changelog
- Finance-approved offer set
Guardrails
- Excluded segments (business closed, requested no contact, poor fit) never receive win-back messages.
- One win-back message per account per quarter unless they reply.
- Offers come only from the approved set; the agent picks, it never invents a discount.
- High-value accounts require owner approval before sending.
A reason, a trigger, one offer
Win-back works when the message is true: “you left because X was missing; X shipped last week.” That requires knowing why they left (the exit reason, classified), knowing what changed (the trigger), and having something to offer that fits (the approved set). The workflow assembles those three and does nothing when any is missing — which is why the reactivation rate on the messages it does send is several times that of a blast.
Measuring it
Reactivation rate by segment and trigger; revenue reactivated vs discount cost; and the share of churned accounts that never qualified for a message, which tells you whether your triggers are too narrow. Review quarterly and retire triggers that do not convert.
Tools in the stack
| Tool | Role in this workflow |
|---|---|
| n8n | Segmentation, triggers, sending, tracking |
| Claude | Reason classification and message drafts |
| Stripe / Chargebee + HubSpot | Churn data and CRM |
| Gmail / Customer.io | Delivery |
Want this running without building it?
Automation workflow
$197/month
We set up, host and maintain this workflow on n8n and connect it to your tools. Setup included, cancel monthly, you keep the JSON.
Custom build
$2,500–4,000 one-time
Your systems, your rules, your edge cases. A one-off build on Claude and n8n, delivered with documentation and a walkthrough.
Covers up to 5,000 churned accounts and four trigger types. Custom triggers from your own product data are a custom build.
Frequently asked questions
What if we did not record cancellation reasons?
The classifier infers reasons from support history, usage before cancellation and any survey text; accounts with no signal go into an “unknown” segment that gets a lighter, question-led message instead of an offer.
Does it work for e-commerce lapsed customers?
Yes — lapsed is defined by purchase recency per category, and triggers include restocks, new arrivals in a category they bought, and price drops on items they viewed.
Can it pause messaging to a whole segment?
Yes, per segment or per trigger, from the rules sheet, without touching the workflow.
Calculator
Put your own numbers in
Estimate the cost of the current process and what this workflow changes.
The pillar
AI Customer Success Agent
Automate onboarding, monitor customer health scores, identify expansion opportunities, and prevent churn.