Gym renewals and trial follow-up
Follows up every trial, renews members before they lapse and wins back the quiet ones. For: Gyms, studios, coaches.
The problem
Trial leads are never followed up, renewals are remembered too late, and members who stop coming leave without anyone noticing.
How it works
Built from: whatsapp, razorpay, gsheets, claude.
- whatsapp: Trial, renewal and win-back messages
- razorpay: Renewal links and instalments
- gsheets: Members, plans and attendance
- claude: Personalises the message to each member
flowchart LR
C(["Your customer"]) <-->|"asks, pays, gets updates"| APP["Your app<br/>Member app: plan, classes, attendance and renewals"]
APP --> L{{"Your logic<br/>the rules that are yours"}}
subgraph EX["Apps that already exist: APIs and MCP servers"]
A0["WhatsApp<br/>Trial, renewal and win-back messages"]
A1["Razorpay<br/>Renewal links and instalments"]
A2["Google Sheets<br/>Members, plans and attendance"]
A3["Claude (AI)<br/>Personalises the message to each member"]
end
L --> A0
L --> A1
L --> A2
L --> A3
L --> DB[("What it keeps<br/>Leads and trials, Members and plans, Attendance")]
L --> OWN["Admin dashboard<br/>Member health board: active, at risk, lapsed"]
classDef yours fill:#1691D6,stroke:#0a5f95,color:#fff
classDef ext fill:#E6F3FB,stroke:#1691D6,color:#12112E
class APP,L,DB,OWN yours
class A0,A1,A2,A3,A4 extThe logic
- When trial booked: Send a reminder and directions, then follow up the same day
- When trial attended: Offer the best-fit plan with a payment link
- When plan ends in 7 days: Send a renewal link with a small incentive
- When no visit for 14 days: Send a friendly check-in
- When lapsed for 30 days: Send a win-back offer, once
flowchart LR
subgraph R0["Rule 1"]
direction TB
W0{{"When: Trial booked"}} --> T0["Then: Send a reminder and directions, then follow up the same day"]
end
subgraph R1["Rule 2"]
direction TB
W1{{"When: Trial attended"}} --> T1["Then: Offer the best-fit plan with a payment link"]
end
subgraph R2["Rule 3"]
direction TB
W2{{"When: Plan ends in 7 days"}} --> T2["Then: Send a renewal link with a small incentive"]
end
subgraph R3["Rule 4"]
direction TB
W3{{"When: No visit for 14 days"}} --> T3["Then: Send a friendly check-in"]
end
subgraph R4["Rule 5"]
direction TB
W4{{"When: Lapsed for 30 days"}} --> T4["Then: Send a win-back offer, once"]
end
S(["Start"]) --> R0 --> R1 --> R2 --> R3 --> R4 --> E(["Done and logged"])
classDef when fill:#E6F3FB,stroke:#1691D6,color:#12112E
classDef then fill:#1691D6,stroke:#0a5f95,color:#fff
classDef end1 fill:#12112E,stroke:#12112E,color:#fff
class W0,W1,W2,W3,W4 when
class T0,T1,T2,T3,T4 then
class S,E end1What can be developed
- Mobile app: Member app: plan, classes, attendance and renewals
- Website: Trial booking page
- Admin dashboard: Member health board: active, at risk, lapsed; Plan and offer setup
- AI and automation: Writes win-back messages using the member's history; Answers timing and plan questions
The money (illustrative example)
The customer pays ₹2499 per gym, per month. API and hosting costs: WhatsApp messages ₹450, AI messages ₹300, Hosting ₹150, together ₹900. Net profit ₹1599.
sankey-beta Customer pays,WhatsApp messages,450 Customer pays,AI messages,300 Customer pays,Hosting,150 Customer pays,Net profit,1599
Watch out for
- Offers should be capped so you do not train members to wait for discounts.
- Respect opt-outs strictly.