Daily Kajabi churn-rescue briefing with Gmail save drafts

Every weekday at 8am, get a Slack triage of Kajabi customers who just churned or had a payment fail, plus a personalized save draft ready to send.

Agentic Task
KajabiGmailSlack BotSalesCustomer SupportDaily DigestsEmail AutomationNotifications & Alerts
PromptCreate

Every weekday at 8am in my timezone, build a Kajabi churn-rescue briefing for my retention team. The goal: surface every customer who churned or whose subscription payment is failing in the last 24 hours, draft a save email for each one in Gmail, and post a single triage thread to Slack so a CSM can review and send.

Step 1: Pull at-risk purchases from Kajabi. Call Kajabi List Purchases filtered to purchases that were deactivated, cancelled, refunded, or have a failing/past-due payment status in the last 24 hours. Deduplicate by customer (one entry per customer, keeping the highest-severity reason).

Step 2: Enrich each at-risk customer. For every customer in the list, call Kajabi Get Customer Details to fetch their name, email, and lifetime offers, and call Kajabi Get Offer Details for the specific offer tied to the failing or cancelled purchase. Estimate lifetime value from their past purchases (sum of paid amounts across their offers).

Step 3: For each at-risk customer, use Gmail Create a Draft to draft a personalized save email from me, addressed to the customer. The email should be short and warm, never discount-led. Name the specific offer they're losing access to, acknowledge what happened (failed payment vs. cancellation vs. refund), ask what changed, and offer two concrete paths: update their payment method, or pause instead of cancel. Sign it from me. Do not send the email — leave it as a draft.

Step 4: Post one Slack Bot Send a Message to a configurable retention channel (default #retention). Format:

• A header line with totals broken out by reason: failed payments, cancellations, refunds.

• One bullet per customer, grouped by reason, sorted highest lifetime value first. Each bullet shows: customer name, offer they're walking away from, lifetime value, suspected reason in plain English (for example, "card declined, 2nd retry"), and a link to the Gmail draft so the CSM can open it, edit, and hit send.

• A closing line with what to do next (review the drafts and send the ones that look right).

Deduping rule: keep a record of which customers were surfaced in yesterday's briefing and skip them in today's. Do not create a duplicate Gmail draft for a customer already drafted in the last 48 hours.

Edge case: if there are zero at-risk customers, still post a short Slack message confirming the check ran and the count is zero, so the team knows the workflow is healthy.

Configurable inputs: the retention Slack channel, the sender name/signature on the email, the at-risk lookback window (default 24 hours), and the timezone for the 8am trigger.

What does this prompt do?

  • Spots Kajabi customers in the last 24 hours who cancelled, were deactivated, or whose subscription payment is failing, so your team sees every at-risk account in one place.
  • Writes a short, warm save email to each customer, named to the specific offer they are losing, with a path to update payment or pause instead of cancel.
  • Posts a single morning thread to your retention Slack channel with totals by reason, the highest lifetime-value customers first, and a link to each Gmail draft so the team can review and hit send.
  • Skips anyone already surfaced the day before so the same customer is not emailed twice.

What do I need to use this?

  • A Kajabi account on the Pro Plan (or the Public API add-on) with permission to read customers, offers, and purchases.
  • A Gmail account for the person who should appear as the sender of the save emails.
  • A Slack workspace with a channel for your retention or customer success team (for example, #retention).
  • Roughly which Slack channel to post in, and the name and signature you want on the outgoing emails.

How can I customize it?

  • Change the send time or the days it runs (for example, 7am Monday through Friday, or seven days a week).
  • Point it at a different Slack channel, or send a DM to one owner instead of a channel post.
  • Tune the email voice and offer: keep it discount-free, add a one-time win-back coupon, or swap pause for a downgrade option.
  • Adjust the at-risk window (last 24 hours by default), the priority order, or the rule that hides repeat customers.

FAQs

Does this actually send the save emails automatically?
No. It creates a Gmail draft for each at-risk customer and links to it from Slack. A human reviews the draft and clicks send, so nothing goes out without you signing off.
Will it email the same customer two days in a row?
No. The briefing remembers who appeared in yesterday's list and skips them, so a customer with a multi-day payment retry only gets one outreach from this workflow.
Do I need to be on a paid Kajabi plan?
Yes. Kajabi's Public API is included with the Pro Plan or available as a paid add-on on other plans. Only account owners or subowners can generate the credentials.
What if no one churned yesterday?
The Slack message still posts so your team knows the check ran. It just reads as a clean day with zero at-risk customers.
Can I change the Slack channel it posts to?
Yes. The channel is a setting on the workflow. Point it at any public or private channel where the retention bot has been added.

Related templates

Review desk for portal forms your team still fills in by hand

Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.

Kernel
Google Sheets
Slack Bot
App
Client-by-client cold email pipeline review for agencies

Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.

Instantly
HubSpot
Slack Bot
App
Audit what Intercom's Fin AI actually resolved before you pay

Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.

Intercom
Google Sheets
Slack Bot
App
One triage console for every Jira service desk queue

Merge your IT, HR and Facilities queues into one list ranked by SLA time left, then reply, change status and escalate without ever opening Jira.

Jira Service Management
Jira
Slack Bot
App
Run your Webflow site translations from one review desk

See every page's translation status at a glance, edit translations side by side with the English, and publish only what your team has actually approved.

Webflow
JigsawStack
Slack Bot
+1
App
Legal contract intake desk your teams use instead of email

One place for sales and ops to request an NDA or vendor agreement, watch its status, and let legal launch the contract in a single click.

Ironclad
Slack Bot
General Input Database
App

Stop losing Kajabi customers to silent payment failures.

Connect Kajabi, Gmail, and Slack once, and Geni runs your churn-rescue briefing every weekday at 8am.