A gym can use AI automation to chase failed payments with a short, polite message ladder over about two weeks, to sort freeze requests into policy categories for staff to approve, and to send win-back texts timed to how long a member has been away. The AI writes and sorts; a person decides money and exceptions.
Consent and tone decide whether this helps or harms. A kindly worded text to someone whose card expired saves the membership. The same text sent at 11pm, three days in a row, to a member who has just had a bereavement ends it. Build the pause rules before the clever wording.
One design, three flows
Failed payments, freeze requests and lapsed members look like three jobs, but they share a pattern. Something happens in your member system, a rule decides which message fits, an AI step writes the wording from a small set of facts, and a person watches the exceptions. Build the first flow properly and the other two reuse most of it.
If you have not yet decided whether a machine should touch freezes at all, read Should AI Handle Membership Freezes and Cancellations? first. This tutorial assumes you have said yes to drafting and no to deciding.
Failed payments: a four-message ladder
Start with what your payment processor already does. Stripe Billing, for example, can retry failed subscription payments automatically with Smart Retries, which uses AI to pick retry times from signals such as how many devices have recently presented the card; Stripe's recommended default is eight tries within two weeks, which is why the ladder below runs for a fortnight. It does not retry when there is no payment method on file or when the issuer returns a hard decline such as a lost or stolen card. Other processors vary, so check what yours retries before you add messages on top. The member-facing messages cover the gap where a retry will not work: expired cards, closed accounts and blocked payments.
| When | Channel | Purpose | Tone |
|---|---|---|---|
| Day 0, within an hour of the failure | Say what happened and give the update link | Neutral, no blame | |
| Day 3, if still unpaid | Text | Short nudge with the same link | Friendly |
| Day 7 | Email and text | Explain what happens to access and give a way to talk to a person | Clear, calm |
| Day 14 | Phone call task for staff | A human conversation: card change, freeze, or cancellation | Personal |
Notice that the last rung is a task for a person, not a fourth text. Members who ignore three messages rarely respond to a fourth; they respond to a reception team who ask whether money is tight.
Here is what the AI step receives and what you would want back. The prompt carries the facts and the rules; the numbers come from the member system, never from the AI.
Write a text message from a gym to a member whose membership payment failed.
Use only these facts. Do not invent amounts, dates or consequences.
Rules:
- Under 280 characters. One link. No exclamation marks, no capitals for emphasis.
- Do not say or imply the member is irresponsible, late or in debt.
- Say a person can help if they reply.
- End with "Reply STOP to opt out".
Facts:
first_name: {{first_name}}
gym_name: {{gym_name}}
day_number: 3
update_link: {{update_link}}
Hi [first name], a quick note from [gym name]: your last membership payment didn't go
through, which is usually an expired card. You can update it here: example.com/pay.
Reply if you'd like a hand. Reply STOP to opt out.
That sample output is illustrative. What you would fix: "usually an expired card" is a guess about the cause. Safer to say "it didn't go through, which can happen for lots of reasons", because the cause might be a bank block or an overdrawn account and the member will feel judged if you guess wrong.
Freeze requests: intake, sort, draft, approve
Freeze requests arrive by email, chat, in person and in the app. Pull them into one web form, even if reception fills it in on the member's behalf. The form asks for name, membership number, start date, expected return date and a reason from a short list (travel, injury or health, money, work, other). Do not ask for medical details; "health" is enough, and you may need to store the answer with care under data-protection law.
The automation then does four things:
- Looks the member up and adds three facts: contract type, months remaining, and whether a freeze was used in the last 12 months.
- Asks the AI step to classify the request against your written policy, which you paste into the prompt, and to return a category and a draft reply.
- Creates a task for staff in your help desk, sheet or CRM with the member, the category and the draft.
- Sends nothing to the member until a staff member approves.
Here is a filled-in policy table the AI can work from. Yours will differ, and the amounts below are illustrative.
| Reason | Allowed length | Evidence | Fee | Staff action |
|---|---|---|---|---|
| Travel | Up to 2 months, once a year | None | $5 a month | Approve if allowance unused |
| Injury or health | Up to 6 months | A note, if the member offers one | None | Approve and diarise a check-in |
| Money worries | Up to 2 months | None | $5 a month | Call first, offer a cheaper plan too |
| Work or family | Up to 3 months | None | $5 a month | Approve if allowance unused |
| Unclear | n/a | n/a | n/a | Reply asking one question |
A request such as "I broke my wrist and can't train for about three months, can I pause?" is classified as injury, three months, no fee, and the draft reads along the lines of "Sorry to hear about your wrist, [first name]. We can freeze your membership for three months with no charge. Your next payment would restart on [date]. Let us know when you're ready to come back and we'll help you ease in." The staff member checks the restart date against the system and sends it.
A second example shows why the person stays. "Money's tight, can I just stop paying till March?" is classified as money, and the draft offers the two-month freeze. The staff note says "call first". The member's real question might be a cancellation or a cheaper tier, and a three-line phone call finds out in a minute.
A third case is the unclear one: "Hi can you sort my membership out". The AI's best output is a single question, "Happy to help. Do you want to pause it, change it or cancel?", not a guess. Build that route deliberately, because otherwise the model invents a request.
Win-back texts: when to send and what to say
A lapsed member is anyone who has stopped coming or paying. The timing matters more than the wording, and each stage needs a different purpose.
| Stage | Trigger | Message idea | Offer |
|---|---|---|---|
| Quiet | No check-in for 21 days, still paying | A friendly "we haven't seen you" with one class to try | None |
| Just left | Membership ended 14 days ago | Ask what got in the way, one-question reply | None |
| Cooling | 60 days since leaving | News: a new class or timetable change | A free guest pass |
| Long gone | 120 to 180 days | An easy way back with a rejoin option | Small joining-fee waiver |
Three stage-specific example texts, all illustrative:
- Quiet: "Hi [first name], it's been a few weeks. The Thursday 6.30 class has space if you fancy an easy session back. No pressure."
- Just left: "Hi [first name], sorry to see you go. One question if you have a second: was it the price, the timetable or something else? Your answer helps us improve."
- Long gone: "Hi [first name], we've added early-morning classes since you last visited. If you'd like to come back, we'll waive the joining fee until the end of the month."
The AI step is useful here because it can personalise from attendance data: the class the member used most, the time of day they came, the instructor they booked. Pass those as fields and tell the AI to mention at most one. Overpersonalising ("we noticed you've not been since 14 March") feels like surveillance. For the wider retention picture see what AI churn prediction can do for a small gym.
Handling the replies that come back
Every message you send invites an answer, and the replies are where the automation either earns trust or loses it. A second, small AI step can read each inbound reply and sort it into a handful of buckets so that staff see the urgent ones first. It should never answer on its own in the first month.
| Reply says | Bucket | What happens |
|---|---|---|
| "Just paid, sorry!" | Paid | Check the payment, stop the ladder, no reply needed |
| "Can I pause instead?" | Freeze | Feeds the freeze intake; staff reply |
| "Cancel me please" | Cancellation | Task to staff the same day; the contract terms apply, not the AI's view |
| "I'm struggling to pay this month" | Sensitive | A named person calls; no template at all |
| "STOP" | Opt-out | Remove from marketing flows immediately |
| Anything else | Unclear | Goes to reception untouched |
The "sensitive" bucket matters more than the rest. A member who mentions money, health or a bereavement should never be handled by a template. Give the classifier an explicit instruction to prefer "sensitive" over "unclear" when it is in doubt, and have the notification itself say "call, do not text". The cost of a phone call is two minutes; the cost of a canned reply to someone in distress can be a public complaint.
A short prompt for the classifier looks like this:
Classify this reply from a gym member into exactly one bucket:
paid, freeze, cancel, sensitive, stop, unclear.
Choose "sensitive" if the member mentions money trouble, illness, bereavement or
distress, even in passing. Choose "stop" for STOP, unsubscribe or "leave me alone".
Return only the bucket name.
Reply: {{reply_text}}
Because the AI returns a single word, the next step is a simple Paths or router branch, which is cheap and easy to debug. Test the classifier on twenty real or invented replies before trusting it, and keep a log of any it gets wrong; two or three edge cases usually justify an extra line in the prompt.
One more example comes from a gym that runs both a monthly and a 12-month plan. A member on the 12-month contract asks to freeze, and the policy allows a freeze only on the monthly plan. The AI's draft, written from the contract-type field, says so politely and offers the staff-reviewed alternatives (a transfer to a monthly plan, or a conversation with the manager). If the contract type is missing from the data, the draft says a manager will reply rather than guessing. Missing-data behaviour is worth testing on purpose, because members with older or imported records are the ones most likely to hit it.
Building it in Zapier or Make
The trigger depends on your gym software. Some send webhooks for events such as "payment failed" or "membership frozen"; others can only export a daily list. Check which yours does before choosing a tool. If it only exports, a scheduled run that reads a Google Sheet of failed payments each morning is perfectly adequate; payment chasing does not need to be instant.
A Zapier build for the failed-payment flow runs like this: webhook trigger (not available on Zapier Free), a filter that stops the flow if the member is on a freeze, an AI by Zapier step to draft the day-appropriate message, a text or email action, and a CRM note. That is about four to eight tasks a message depending on the AI tier, and a task is counted for each successful action step. A 300-member gym with 12 failures a month sending up to four messages each is about 50 messages, so a few hundred tasks. Make costs less per run and starts from about $9 a month for 5,000 credits. Free tiers (Zapier Free is 100 tasks a month with two-step Zaps) are too small and too slow for this, so budget for an entry paid plan.
Text sending is a separate cost from the automation tool: a messaging provider charges per message, and rates vary by provider and destination. Get a quote for your own volume rather than assuming a price, and note that some gym platforms include a few texts in the subscription.
Start small if the whole build feels large. Switch on only the day-0 email and the day-14 call task in week one, measure how many payments clear after the email, and add the text and the freeze form in weeks two and three. A gym that launches everything at once cannot tell which message did the work, and cannot tell which one upset somebody.
Consent and tone checks before anything goes live
Treat this list as a gate. If any line is unticked, keep the flow in draft mode.
- Consent per channel. Email, text and WhatsApp consent are separate. Record when and how each was given. Texts about a payment on an existing contract are usually treated differently from marketing texts, so ask a solicitor how your rules classify each message, and keep win-back messages in the marketing category.
- Opt-out works at once. Replying STOP must remove the member from every marketing flow, not only the one that sent it.
- Quiet hours. No messages before 8am or after 8pm in the member's time zone. Add a delay step to enforce it.
- Frequency cap. A member never receives more than one message a day across all flows, and no more than two a week.
- Mutual exclusion. A member in a freeze receives no win-back; a member with an open payment problem receives no promotion.
- Language check. The prompt bans blame, threats of debt collection, medical assumptions and urgency tricks. Read ten drafts aloud and ask whether you would be comfortable receiving them.
- Human exit. Every message offers a reply route, and replies go to a staffed inbox, not to a void.
A 300-member gym, worked through
These figures are illustrative; swap in yours. A gym has 300 members on a $45 monthly plan. In a typical month 4% of payments fail: 12 members, $540 of billings. Before the flow, reception sends the odd email and about half of the failures eventually sort themselves out by retry or by the member noticing, leaving roughly 6 members and $270 unresolved, of whom perhaps half drift away.
After the flow, every failure gets the day-0 email, and members still unpaid get the later messages and a call at day 14. Say the gym recovers four of the six it would have lost. That is about $180 a month and, if a member stays for another 10 months on average, $1,800 of future billings. Do not take those recovered figures as a promise: they depend on your member mix, and the only honest number is the one you measure over three months from your own data.
The costs: an entry paid automation plan, about $9 to $30 a month; AI drafting, which at a few thousand tokens a message on a mid-priced model is pennies; and text fees. Staff time is about 20 minutes a week for freeze approvals and the day-14 calls. Even on cautious assumptions the flow pays for itself if it saves one membership a quarter.
Checking it works
- Test with your own phone and email and a dummy member in every state: failed payment, frozen, lapsed, opted out.
- Track four numbers monthly: failed payments, recovered within 14 days, freeze requests approved, and win-back replies. Compare with the three months before the flow.
- Sample ten sent messages each fortnight. Look for wrong names, wrong amounts and a tone you would not use at the desk.
- Read the replies. Angry or confused replies are the cheapest feedback you will get. Change the wording within a week.
- Look for silent failures. Zapier pauses a Zap automatically if 95% of its runs error over seven days, so a changed field name in your gym software can stop messages without anyone noticing.
If the gym already uses a booking system with built-in reminders, compare it with this approach in built-in AI or a separate tool before paying twice, and read the automation mistakes that raise churn before switching anything on.
Gym message automation: common questions
Should AI decide whether a freeze is approved?
No. Let the AI sort the request and draft the reply, but a staff member applies your freeze policy and approves. A wrong automatic yes costs revenue, and a wrong automatic no can lose a member who was only asking for help.
How many failed-payment messages is too many?
Three or four over about two weeks is a sensible ceiling. Stop the moment the payment clears or the member replies. Beyond that, move to a phone call from a person, because a fifth text rarely recovers money and often ends a membership.
Can I text members who have not opted in?
Check the consent rules that apply to your members and your messaging provider. Collect opt-in for texts separately from the contract tick-box, record when and how it was given, and honour STOP at once. If unsure, use email for the first nudge and ask a solicitor.
Do I need a gym platform with built-in automation?
Not always. Many platforms send some reminders already. A general tool such as Zapier or Make helps when you want custom wording, a freeze form, or a win-back timetable the platform lacks. Check what your software exports or sends to a webhook before you build.
Further reads
- Can AI Write a Gym Membership Freeze Policy? What to Check First — Writing the freeze policy the AI sorts against.
- Gym Membership Price Increase Letter: Draft and Test It With AI — Price-rise letters, another message members read closely.
- Automated Check-Ins for Gym Members: What to Send and When — Check-in messages that come before any payment problem.
- Best AI Chatbot for a Gym: Website, Instagram and WhatsApp Compared — Chatbots for enquiries rather than member accounts.
- AI for Car Washes: Membership Marketing and Churn Messages — Turn a member export into segments, then draft win-back texts, cancellation-reason replies and plan offers for repeat single-wash customers.
- Boxing Gym Software Checklist: Memberships, Class Caps and AI Help — What a small boxing gym should test in membership and booking software, with class-cap sums, two named platforms and AI-drafted reminders and replies.
- ChatGPT Apps for Fitness Studios: Seven Jobs and Their Limits — Seven fitness-studio jobs for ChatGPT's connected apps, the permission to set for each, and the steps that stay with you.
- CrossFit Marketing Automation Checklist: The Two Weeks After a Free Trial — Day-by-day checklist for the 14 days after a free trial: automated messages, personal coach touches, stop rules and the numbers to read at day 14.
- CrossFit Marketing Automation Strategies: On-Ramp Courses and Win-Backs — Eight automations for a foundations course and lapsed members, in build order, with the trigger each one needs, sample wording and the numbers.
- Fitness Studio Emails: Welcome, Waitlist and Lapsed-Member Sequences — Three studio email sequences written in full with AI: welcome, waitlist and lapsed-member, with send timings, trigger rules and what to measure.
- AI for Climbing Gyms: Induction Bookings and Membership Churn — How a climbing gym can draft induction replies and lapsing-member check-ins with AI, using visit counts and a rules file, while safety stays with instructors.
- AI for Gym Owners: Five Jobs to Hand Over First and Two to Keep — Enquiry replies, trial follow-up, class messages, posts and drop-off nudges go to AI first. Injuries, billing disputes and cancellations stay with a person.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Stripe Billing documentation on Smart Retries, Zapier and Make pricing and help pages (October 2026).