Introduction
What churnhook does and how the recovery flow works.
What churnhook does
churnhook recovers the revenue your Stripe subscriptions lose, in three ways:
- Failed payments — when an invoice can't be charged, an email sequence follows up until it's paid, then stops on its own.
- Scheduled cancellations — when a still-live subscription is set to end at period close, a Leaving sequence can start before that date and try to keep them.
- Voluntary cancellations — Stripe’s Customer Portal collects why they leave. A Leaving sequence can keep them; a win-back can start after they go. Those reasons show up in Exit surveys and can split a sequence.
Everything runs on your own Stripe account, through Stripe Connect. churnhook reads your customers and subscriptions, reacts to Stripe events, and never writes anything without your action.
The recovery flow
- You connect Stripe — a two-click OAuth, test mode first if you'd rather start there.
- A recovery event fires — a failed invoice starts Unpaid, a scheduled cancel starts Leaving, a hard cancel can start Win-back, once that flow is Active in Recovery and a sequence you own is Active for that flow. Catalog examples never send. Events that already happened before you connected are not replayed automatically: Enroll starts the live sequence for those customers once you're on Premium.
- The customer gets an email on your brand, from your own domain once you verify it in Email branding. Every email links to a page hosted by churnhook — updating a card, confirming they'll stay, claiming an offer, or confirming a pause, depending on the case.
- The goal is met when the invoice is paid (Unpaid), when the customer confirms they're staying or undoes their cancellation (Leaving), or when they pay the Win-back Checkout.
Where things live
The product menu is grouped by job:
| In the menu | What you do there |
|---|---|
| Overview | Track what's been recovered, and current exposure on each flow |
| To handle → Unpaid | Act on failed payments: retry, send a payment link, enroll |
| To handle → Leaving | See who scheduled a cancel, open the Customer Portal, enroll |
| To handle → Win-back | Reach canceled subscriptions still in a win-back window |
| Activity → Runs | Follow every sequence execution, stop or retry it |
| Automations → Sequences | Compose the emails and waits |
| Automations → Templates | Write the emails, with customer variables |
| Cancellations → Exit surveys | Understand why customers leave |
| Settings | General, Churnhook, Billing, Stripe, Email |
| Simulation | A demo lab, if you're an owner on Stripe test mode |
