A cancel flow is the set of screens your customers see when they try to cancel — a short survey, one or more retention offers, a feedback prompt, and a final confirmation. Instead of letting people cancel in a single click, a flow gives you a chance to understand why they're leaving and to win them back. This article walks you through creating your first flow from start to finish.
Before you start
Anyone with an Owner, Admin, or Member role can create and edit flows; Viewers can look but not change. You can build and save a flow at any time, but you'll need a connected Stripe payment gateway before you can take it live — set it up under Integrations first if you haven't already.
Step 1: Open the Flows page
From the sidebar, go to Flows. The page shows Your flows (everything you've created, with its Live, Paused, or Draft status) and Templates (pre-built starting points you can preview and adapt). If you don't have any flows yet, you'll see a "No flows yet" panel with a Create your first flow button.
Step 2: Create the flow
Click Create your first flow (or the New flow card if you already have flows). A New cancellation flow dialog opens. Fill it in:
Choose a Flow type:
Widget — a pop-up that appears in your own app when a customer clicks cancel.
Page — a dedicated hosted cancel page at its own URL, which your team redirects customers to instead of embedding a widget.
Enter a Flow name (for example, "Main cancel flow"). Names must be unique among flows of the same type.
Optionally add a short Description to remind yourself what this flow is for.
Click Create flow.
The flow is created as a Draft with a sensible set of starter steps already in place, and you're taken straight into the flow builder to fine-tune it.
💡 Prefer a head start?
In the Templates area you can Preview a template to see how it behaves, then click Use template to create a new flow already filled in with that template's steps and copy.
Step 3: Configure the flow
The builder is organized into sections you expand one at a time. Work through them in order:
Trigger — decide what kicks off the flow: a Cancel button click, or a Downgrade attempt.
Audience — choose who sees this flow. You can target Everyone, a Specific segment defined by conditions, or Everyone else. You must pick an audience before the flow can go live.
Content — the screens customers move through. For a widget flow this includes the Survey (reasons for leaving), the Offer step (your retention offers), an optional Feedback prompt, and the final Confirmation screen. For a page flow, you edit the Page layout and the Questions shown instead.
Behaviour — what happens when a customer goes through with cancelling: cancel automatically in Stripe, send an email, or hand off via webhook. You can also set whether cancellation takes effect at period end or immediately.
Publishing — final review before the flow goes live.
Every offer needs valid settings (a discount needs a percentage, a "Book a call" offer needs a calendar link, and so on), and the Confirmation step needs a button label. You can preview the widget at any point without affecting what customers see.
Step 4: Save your work
Click Save in the builder to store your changes. Saving on its own does not make the flow visible to customers — a saved flow stays a Draft until you publish it. If you navigate away with unsaved changes, you'll be warned before they're discarded.
Step 5: Take the flow live
When you're ready, click Go live. churn.io checks a few things before publishing:
All required steps and offers are configured correctly.
An audience has been selected.
Stripe is connected for your business.
You're within your plan's limit for active flows.
No other live flow already targets the same audience.
If everything passes, the flow becomes Live and starts showing to matching customers. If a check fails, you'll see a message explaining exactly what to fix.
⚠️ One live flow per audience
Only one live flow can target a given audience at a time. If a flow with the same audience type is already live, pause it first — otherwise going live is blocked.
A live flow can be paused at any time with the Pause button, which immediately stops showing it to customers without deleting any of your configuration. Editing and saving a flow that's already live applies your changes right away, so you'll be asked to confirm before those updates reach your customers.
Managing flows later
Back on the Flows page, each flow card lets you reopen the builder, rename it, Duplicate it (the copy is created as a Draft), pause or resume it, or delete it. Deleting a flow is permanent, so duplicate first if you want a backup.
