# Route cancelled Recharge subscribers into Klaviyo win-back lists

> When a Recharge subscription is cancelled, sort the customer into the right Klaviyo win-back audience and flag big spenders for a personal call.

- Workflow type: agent
- Services: Recharge, Klaviyo, Slack Bot
- Categories: Marketing
- Published: 2026-08-09

## What it does

- Picks up every subscription cancellation the moment it happens and reads the reason the customer gave.
- Builds a quick picture of that customer: how long they subscribed, how many orders they placed, how much they spent in total, and which product they dropped.
- Sends them to the win-back audience that matches their reason, so price objections, too much product, and quality complaints each get their own follow-up instead of one blanket discount.
- Posts a short summary to your retention channel and calls out high value cancellations so someone can reach out personally before the automated emails start.

## What you'll need

- A Recharge store where you manage your subscriptions
- A Klaviyo account with the win-back audiences already created, for example one for price, one for frequency, and one for feedback
- A Slack workspace with a retention channel where the summaries should land
- A rough idea of what counts as a high value customer for you, in total lifetime spend

## Prompt

Trigger this workflow with a webhook from Recharge subscribed to the subscription/cancelled topic on API version 2021-11. Every time a subscriber cancels, the payload gives me the cancelled subscription, including the customer id, the product that was cancelled, and the cancellation reason. Recharge sends both a free text reason and a reason code, so read both.

Start by building a picture of who just churned. Use Recharge Get Customer with the customer id from the payload to get their email, their name, and the date they became a customer. Use Recharge List Subscriptions filtered to that customer to confirm which product was cancelled and whether they still have any other active subscriptions. Use Recharge List Orders filtered to that customer to count how many orders they have received and to sum their lifetime spend. Recharge returns money as decimal strings in the store currency, so convert before adding. From the customer creation date and the cancellation date, work out tenure in whole months.

Now pick the win-back audience from the cancellation reason. Reasons are loosely worded free text plus a reason code, so interpret the meaning rather than matching exact strings. Price objections such as "too expensive", "costs too much", or "cannot afford it right now" go to the discount win-back list. Volume and pacing complaints such as "too much product", "still have plenty left", or "shipments come too often" go to the lower frequency list, because the fix there is a longer interval and not a discount. Quality, fit, and experience complaints such as "did not like the taste", "it did not work for me", or delivery and service problems go to the feedback list, where a human should hear the detail before any offer goes out. If the reason is blank or genuinely unclear, use the general win-back list and say so in the summary rather than guessing.

Write what you learned onto the customer's Klaviyo profile with Klaviyo Create or Update Profile (Upsert), matching on their email. Set churn properties for the raw cancellation reason, the segment you chose, tenure in months, order count, lifetime value, the cancelled product name, and the cancellation date. Then place them on the chosen audience with Klaviyo Add Profiles to List.

Only segment and tag in Klaviyo. Do not send any email from this workflow. The merchant already owns their win-back flows in Klaviyo and those flows trigger off list membership, so this workflow is done once the profile is enriched and sitting on the right list.

Finally, post a short summary to the retention channel with the Slack Bot Send a Message operation. Include the customer name and email, the product they cancelled, the reason in their own words, tenure in months, order count, lifetime value, and which audience they landed on. If lifetime value is above the high value threshold, lead the message with a clear flag saying a human should reach out personally before the automated sequence runs, so the team has a chance to save the relationship with a real conversation. If the customer still has other active subscriptions, label it as a partial cancellation so nobody sends a win-back offer to a current subscriber.

Let me configure the Klaviyo list ids for the discount, lower frequency, feedback, and general win-back segments, the Slack channel to post retention summaries into, and the lifetime value threshold that counts as high value.

## How to customize

- Change which reason maps to which audience, or add more segments such as seasonal shoppers or customers who would rather pause than cancel
- Set the lifetime spend threshold that marks a cancellation as high value and worth a personal call
- Point the summary at a different Slack channel, or post only the high value cancellations if your volume makes the channel noisy

## FAQ

### Does this send the win-back emails itself?

No. It only sorts people into the right audience and adds the churn details to their profile. The emails stay in the Klaviyo flows you already own, so your team keeps full control of the messaging, the offer, and the timing.

### What happens if the cancellation reason is vague or left blank?

Cancellation reasons are free text, so the agent reads them for meaning instead of matching exact words. Wordings like "too pricey" and "costs too much" land in the same place. If there is no usable reason at all, the customer goes to your general win-back audience and the summary says the reason was missing.

### Will it work if the customer still has other active subscriptions?

Yes. It checks the rest of their subscriptions first, and if they are still an active subscriber it flags the cancellation as partial, so nobody sends a win-back offer to a current customer.

### How does it decide that someone is high value?

From their real order history: how many orders they received and what they spent in total. Anything above the threshold you set gets flagged in Slack for a personal follow-up before the automated sequence runs.

### Do I need to set up the lists in Klaviyo first?

Yes. Create the audiences you want to route people into, then tell the workflow which audience belongs to which reason. Three is a good start: one for price, one for frequency, and one for feedback.

Use this prompt in General Input: https://www.generalinput.com/prompts/route-cancelled-recharge-subscribers-into-klaviyo-win-back-lists