Win back Systeme.io customers after a cancel or refund
When a Systeme.io sale is cancelled or refunded, draft a personalized win-back email, open a follow-up task for your rep, and ping the team in Slack.
Build an agent workflow that runs a save-the-customer playbook every time a Systeme.io sale is cancelled (either a refund or a cancelled subscription).
Trigger: the Systeme.io outgoing webhook for the 'Sale cancelled' event. The payload identifies the contact and the sale that was cancelled.
When the webhook fires, the agent should:
1. Call systemeio Get Contact for the buyer to pull their full profile, tags, and custom fields.
2. Call systemeio List Enrollments filtered to that contact to see which courses they had access to, plus systemeio List Subscriptions for that contact to pull their full subscription history (start dates, plans, prior cancellations).
3. From those signals (tag patterns, courses owned, length of subscription, prior cancellations, whether they were on a trial or annual plan, recency of activity), classify the most likely reason for churn. Common buckets: price, fit, completed the program, never engaged, support issue, switched tools. Pick the one best supported by the data and note your reasoning.
4. Draft a personalized win-back email in my Gmail using gmail Create a Draft. The email should:
- Be addressed to the cancelled customer by first name.
- Reference the specific course, program, or plan they were in (use the data, do not invent).
- Acknowledge what likely went wrong based on the churn classification (tactfully, without putting words in their mouth).
- Offer one clear next step appropriate to the reason (a short call, a discount, a different plan, a refund follow-up, etc.).
- Stay tactful, human, and specific. No generic 'we miss you' copy. Keep it under 150 words.
Important: leave it as a draft. Do NOT send it. I want to review and send manually.
5. Create a follow-up task in HubSpot using hubspot Create Task, assigned to the contact's owning rep (or to me if no owner is set). The task subject should be 'Save-the-customer follow-up: <customer name>'. The task body should include a one-paragraph history (what they bought, how long they stayed, which tags they had, the churn classification) and a recommended next step. Set the due date to 2 business days out and priority to high.
6. Post a brief heads-up in Slack using slack Send a Message in the channel I pick during setup (default: #customer-saves). One or two lines: customer name, what they cancelled, the churn classification, and a link to the HubSpot task. Keep it short, this is just an FYI.
Tone for everything: tactful, specific, never accusatory. The goal is a real shot at winning the customer back, not a form letter.
Additional information
What does this prompt do?
- Fires the moment a Systeme.io sale is cancelled or refunded, so no churn slips through unnoticed.
- Looks up the customer's tags, course enrollments, and subscription history to figure out the most likely reason they left.
- Drafts a tactful, personalized win-back email in your Gmail (left as a draft, never auto-sent) so you can review and send it yourself.
- Creates a follow-up task in HubSpot for the right rep with a short customer summary and a recommended next step.
- Posts a quick heads-up in Slack so the team knows a save is in motion.
What do I need to use this?
- A Systeme.io account with a public API key.
- A connected Gmail account for the draft to land in.
- A HubSpot account where the follow-up task should be created, plus the owning rep's user.
- A Slack workspace and a channel for the team heads-up.
How can I customize it?
- Choose which Slack channel gets the save heads-up.
- Pick who the HubSpot follow-up task is assigned to (the contact's owner, your CS lead, or a shared queue).
- Tune the tone of the win-back email or add a specific offer like a discount or a free month.
- Decide whether to act on every cancellation or skip refunds under a certain dollar amount.
Frequently asked questions
Does this send the email automatically?
What if the cancelled customer doesn't have any tags or course history?
Will this work for both subscription cancellations and one-off refunds?
Can I assign the HubSpot task to a specific rep instead of the contact owner?
What if the same customer cancels and resubscribes multiple times?
Turn every refund into a second chance.
Connect Systeme.io, Gmail, HubSpot, and Slack once, and Geni runs this save-the-customer playbook every time a sale is cancelled.