Workflow 1: Trial Signup and First Booking Push
Trigger. Submission of the Trial Signup form, from the website, a paid ad landing page, or the front desk.
Conditions and branches.
- If the email or phone matches an existing member, branch out: notify the front desk and do not start a trial. Existing members signing up for trials is more common than you would think.
- If the record matches a previous expired trial, tag repeat-trial and notify the membership advisor. The copy for a second trial is different and should be handled by a human.
- If SMS Consent is false, run the email-only variant of every step below.
- If the signup came in outside staffed hours, the immediate SMS still sends (it is transactional confirmation) but the booking suggestion names the next day's classes.
Actions in order.
- Create the contact. Write Trial Start Date as today, Trial End Date as today plus 14 days, Visit Count zero, Engagement Band No Show, Total Trial Touches zero. Apply trial-active and trial-no-show.
- Create the Trial Conversion opportunity at Trial Signed Up. Assign Coach and Advisor by round robin.
- Write SMS Consent, SMS Consent Date, SMS Consent Source and Marketing Consent from the form.
- Wait 2 minutes, then SMS: “Hi [First Name]. You are in, trial runs to [Trial End Date]. Easiest first step is picking a class: [First Session Booking link]. [Next class matching their stated preferred time] has space. Any questions, just reply here.”
- Wait 10 minutes, then email: what to expect on a first visit, where to park, what to wear, the coach's name and photo, the Pre-Participation Check link, and the booking link again.
- Wait 4 hours. If no class booked, SMS once: “[First Name]: want me to just book you in? Tell me a day and a rough time and I will sort it.” BO handles the reply and books.
- Wait until 09:00 the next day. If still no booking, send the Goal Setting Session offer by email: “Not sure where to start? 30 minutes with [Coach] first, then pick classes afterwards: [link]”
- On any booking, move the opportunity to First Visit Booked, increment Classes Booked Count, and start the reminder sequence: email 24 hours before, SMS 2 hours before with the time, address and coach name.
Stop and exit. Exits on first check-in (Workflow 3 takes over), on booking for the booking-push steps, at day 3 with no visit (Workflow 2 takes over), or on any opt-out keyword.
Workflow 2: Never Attended Intervention
Trigger. Scheduled, daily at 10:00. Selects trials with Visit Count of zero and Trial Start Date 3 or more days ago.
Conditions and branches.
- Skip anyone carrying trial-suppress-automation or do-not-contact.
- Branch A: booked but did not attend. Classes Booked Count is 1 or more. This person intended to come and something stopped them; the message is about rebooking, not about starting.
- Branch B: never booked. Classes Booked Count is zero. The barrier is choosing, not showing up.
- If Trial Days Remaining is 7 or fewer, compress every wait below by half. A no-show with a week left needs a faster hand.
Branch A actions.
- Move the opportunity to Never Attended, keep trial-no-show, apply books-but-no-shows if Classes No Showed Count is 2 or more.
- Create a task on the Assigned Coach to make an actual phone call today. This is the single highest-value human action in the build. The task brief carries what the member wrote at signup in their own words.
- SMS: “[First Name]: you had Tuesday booked and did not make it, which happens. Nothing lost, your trial still runs to [Trial End Date]. Want me to put you in for something easier to get to? Reply with a day.”
- Wait 1 day. If no booking and the call was not logged, SMS the coach a reminder about the task.
- Wait 2 days. If no booking, email with a short, specific list of the three quietest classes in the week and a one-click book link for each. Choice paralysis is the usual cause.
- Wait 3 days. If no booking, offer the Come Back In 15-minute slot: “If a full class feels like a lot, come in for 15 minutes with [Coach] and have a look around first: [link]”
- Wait 3 days. If still nothing, send one honest message: “[First Name]: I will stop messaging after this. Your trial runs to [Trial End Date] and the door is open if you want it. If the timing is just wrong, reply NOT NOW and I will leave you be.”
Branch B actions.
- Move the opportunity to Never Attended.
- Create the same coach call task.
- SMS: “[First Name]: you have not picked a class yet and I suspect that is the hard part. Tell me what day and roughly what time works and I will book it for you. That is the whole job done.”
- Wait 1 day. If no booking, email the Goal Setting Session offer as the alternative entry point, framed as a conversation rather than a workout.
- Wait 2 days, then SMS with two specific named options: “Two that suit beginners: [class] on [day] at [time], or [class] on [day] at [time]. Reply 1 or 2 and you are booked.” A binary choice converts far better than a link.
- Wait 3 days. Offer the Come Back In slot.
- Wait 3 days. Send the same honest closing message.
Stop and exit. Both branches exit immediately on any check-in event, on any booking (which hands back to the reminder sequence), on NOT NOW (which suppresses until 3 days before expiry), or on any opt-out keyword. Exits at trial expiry into Workflow 7.
Workflow 3: Check-In Ingestion and Band Recalculation
Trigger. Inbound webhook on the check-in endpoint. Payload: member identifier, timestamp, class or visit type.
Conditions and branches.
- If no contact matches the identifier, log to the internal channel and stop. Do not create a contact from a check-in.
- If the contact carries member-converted, exit. This workflow is trial-only.
- Branch on the resulting Visit Count: 1 is At Risk, 2 to 3 is Engaged, 4 or more is Highly Engaged.
- Branch on whether this is the first visit, which triggers the feedback sequence.
Actions in order.
- Increment Visit Count. Write Last Visit Date and, if blank, First Visit Date.
- Set Days Since Last Visit to zero.
- Recalculate Engagement Band from Visit Count.
- Swap the band tag: remove whichever of trial-no-show, trial-at-risk, trial-engaged, trial-highly-engaged is present, apply the correct one.
- Move the opportunity to the matching stage: Attended Once, Engaged or Highly Engaged.
- Recalculate Favorite Class Type from the most frequent class type in the visit history.
- Cancel any running stall or no-show sequence. A check-in cancels every chase in the build.
- First visit branch only: wait 2 hours, then send the First Visit Feedback question by SMS: “[First Name]: how was that? Reply 1 (loved it), 2 (fine, hard work) or 3 (not for me).”
- On answer 1: reply from the coach's name with a specific next-class suggestion matching Favorite Class Type, and book on reply.
- On answer 2: reply “That is exactly right for a first one. The second is easier: everyone says so. Want me to book it?” and offer the Goal Setting Session.
- On answer 3: apply trial-suppress-automation, create a same-day task on the Assigned Coach to call, and send no further automated messages. A member telling you it was not for them deserves a person, not a sequence.
- On no answer within 24 hours, send nothing further on this thread. The stall workflow will pick them up if needed.
Stop and exit. Runs to completion per check-in. The feedback branch exits on answer or after 24 hours.
Workflow 4: Stall Detection and Momentum Nudge
Trigger. Scheduled, daily at 11:00. Also triggered by the nightly recalculation that writes Days Since Last Visit.
Conditions and branches.
- Skip anyone with trial-suppress-automation, do-not-contact, a future booking already in place, or Total Trial Touches at the cap.
- Branch A: one-and-done stall. Visit Count is 1 and Days Since Last Visit is 3 or more. The 72-hour window after a first visit is where most trials are won or lost.
- Branch B: engaged stall. Visit Count is 2 or more and Days Since Last Visit is 4 or more. Someone who was coming has stopped.
- Branch C: booked ahead. Days Since Last Visit is high but a future class is booked. Send nothing except the ordinary class reminder.
Branch A actions.
- Move the opportunity to Attended Once, Stalled.
- SMS: “[First Name]: the second session is the one that decides it, and it is always easier than the first. [Specific class] on [day] at [time], or [alternative]? Reply 1 or 2 and I will book it.”
- Wait 2 days. If no booking, email from the Assigned Coach with the Goal Setting Session offer and a short note about what they would work on, written in general terms with no reference to anything on the Pre-Participation Check.
- Wait 2 days. If no booking, SMS once more with a different pair of named class options.
- Wait 3 days. Create a task on the Assigned Coach to call.
- Stop messaging after the coach task. Three nudges and a call is the limit.
Branch B actions.
- Keep the opportunity at its current engaged stage: do not demote someone who has been coming. Apply trial-stalled.
- SMS: “[First Name]: missed you this week. [Favorite Class Type] on [day] at [time] if you fancy it: [link]”
- Wait 3 days. If no check-in, notify the Assigned Advisor rather than sending another message. An engaged member going quiet is a conversion risk and warrants a person, especially with the trial clock running.
- Wait 2 days. If still nothing and Trial Days Remaining is 5 or fewer, hand straight to Workflow 6's countdown rather than continuing to nudge.
Stop and exit. Every branch exits on a check-in or a booking. Exits at trial expiry.
Workflow 5: Engaged Member Conversion Ask
Trigger. Two triggers: Visit Count reaching 3, or Trial Days Remaining falling to 6 with Visit Count of 2 or more. Whichever fires first.
Conditions and branches.
- Skip if Membership Conversation Held is already true, or if offer-presented is applied.
- Branch A: Highly Engaged (Visit Count 4 or more). Lead with the human call; this person is ready and a self-serve link undersells it.
- Branch B: Engaged (Visit Count 2 to 3). Lead with the booking offer and include the self-serve option.
- If the member has had a Goal Setting Session, route the Membership Conversation to the same coach rather than a round-robin advisor. Continuity converts.
Branch A actions.
- Create a task on the Assigned Advisor to call today, with Visit Count, Favorite Class Type, the member's own signup words and their attendance pattern on the brief.
- SMS: “[First Name]: [Visit Count] sessions in [days] days, that is a proper start. [Advisor] would like 20 minutes to sort out what happens after [Trial End Date]: [Membership Conversation link]”
- On booking, apply trial-suppress-automation immediately, move the opportunity to Conversion Call Booked, and send the advisor a brief 60 minutes before. Nothing else goes out while a human conversation is pending.
- Wait 2 days. If no booking and no call logged, email from the advisor with the membership summary, what it includes, and a direct link to join. Still no figures in the SMS channel.
- Wait 2 days. If no booking, SMS once: “[First Name]: trial ends [Trial End Date]. Quickest route is 20 minutes with [Advisor]: [link]. Or if you would rather just get on with it: [join link]”
- Hand to Workflow 6 at Trial Days Remaining of 3.
Branch B actions.
- SMS: “[First Name]: good to see you in. Trial ends [Trial End Date]. [Advisor] can talk through the options in 20 minutes: [link]”
- Wait 1 day. Email with the membership summary and both routes: book a conversation or join directly.
- Wait 3 days. If no booking and no join, create an advisor task to call.
- Hand to Workflow 6 at Trial Days Remaining of 3.
Post-conversation branch. On submission of the Membership Conversation Outcome form:
- Move the opportunity to Offer Presented, stamp Offer Presented Date, apply offer-presented, write Objection Raised.
- Objection Price: apply objection-price. One email from the advisor outlining the alternative plan structures, and one SMS 2 days later. No discount offered by automation. That is a human decision.
- Objection Time: apply objection-time. One SMS the next morning naming the classes that fit the constraint they actually described, plus the advisor's email with the flexible option.
- Objection Wants To Think: apply objection-thinking. Nothing for 3 days, then one message: “[First Name]. No pressure at all, just flagging that the trial ends [Trial End Date]. [Advisor]”
- Objection Health Reason Stated: apply trial-suppress-automation, route to the Assigned Coach, send nothing automated at all.
- In every objection branch, cap follow-up at two messages and then hand to the advisor.
Stop and exit. Exits on conversion, on an explicit decline, at trial expiry, or on opt-out. The suppression tag halts every other workflow while this one is live.
Workflow 6: Trial Countdown
Trigger. Scheduled, daily at 09:00. Selects active trials where Trial Days Remaining is 3, 2, 1 or 0.
Conditions and branches.
- Skip anyone with trial-suppress-automation, a booked Membership Conversation, or member-converted.
- Branch A: Visit Count 2 or more. They have had value; the message is about continuing.
- Branch B: Visit Count 1. The message is about using what is left.
- Branch C: Visit Count zero. One message only, and it is honest.
- One message per day maximum, no exceptions, regardless of how many branches technically match.
Branch A actions.
- Day 3 remaining, SMS: “[First Name]: three days left on the trial. [Visit Count] sessions in so far. Want to keep going? 20 minutes with [Advisor]: [link], or join here: [join link]”
- Day 2 remaining, email from the advisor: the membership summary, what happens to their bookings if they join, and the direct join link.
- Day 1 remaining, SMS: “Last day of the trial tomorrow, [First Name]. If you want to carry on without a break: [join link]. If you have questions, reply and [Advisor] will call.”
- Day 0, SMS in the morning: “Trial ends today. [join link] keeps everything running as it is.”
Branch B actions.
- Day 3 remaining, SMS: “[First Name]: three days left and plenty of classes still open. [Specific class] on [day]? Reply YES and I will book it.” Use the remaining days rather than selling.
- Day 2 remaining, SMS with two named class options and one-tap booking.
- Day 1 remaining, email: the membership options plus the honest line that a one-session trial is not much to judge on, and an offer of a conversation.
- Day 0, nothing. Let it expire and pick them up in Workflow 7.
Branch C actions.
- Day 2 remaining, one SMS: “[First Name]. Your trial ends [Trial End Date] and you have not managed to get in. No judgment. If you want, reply and I will extend it or just start it again when it suits you better.”
- Nothing else. A member who never attended does not need a countdown.
Stop and exit. Exits on conversion, on a booked conversation, on opt-out, or at expiry.
Workflow 7: Expiry, Exit Survey and Win-Back
Trigger. Scheduled, daily at 08:00. Selects trials where Trial End Date was yesterday and the contact is not member-converted.
Conditions and branches.
- Branch A: win-back eligible. Visit Count 1 or more. They came, they know what it is, they are worth keeping warm.
- Branch B: never attended. Visit Count zero. A different and shorter path.
- If your policy includes a grace period, hold the stage change for the grace days and keep access live.
Branch A actions.
- Move the opportunity to Trial Expired, Not Converted. Swap trial-active for trial-expired, apply win-back-eligible.
- Wait 1 day, then send the Trial Exit Survey by SMS: one question, “[First Name]. Genuinely useful to know: what stopped you joining? Reply 1 cost, 2 timing, 3 not the right fit, 4 something else.”
- Write Objection Raised from the answer. Route answer 4 to a human; route answer 3 to a short, graceful close and no further marketing.
- Wait 5 days, then move to Win-Back Nurture.
- Monthly thereafter, send one email only: a genuinely useful piece of content, a new class on the timetable, a change to the schedule. No countdown urgency, no fake deadlines.
- At 90 days, send one SMS: “[First Name]. The timetable has changed a fair bit since you were in. Worth another look? [link]”
- At 180 days with no engagement, reduce to quarterly email and remove from SMS entirely.
- If they ever re-engage (click, reply, or book) notify the membership advisor and pause the nurture for a human conversation.
Branch B actions.
- Move to Trial Expired, Not Converted, no win-back tag.
- Send one SMS: “[First Name]: your trial has run out and you did not get the chance to use it, which is a shame. If you want it restarted at a better time, reply RESTART.”
- On RESTART, notify the front desk to set up a new trial manually. Never auto-restart a trial; it needs a human to check it is genuine.
- If no reply in 7 days, move to Lost with reason Unreachable, remove from SMS, and keep on a quarterly email list only if Marketing Consent is true.
Stop and exit. Exits on conversion at any point, on opt-out, or at the retention cut-off set by your data policy.
Workflow 8: Conversion, Onboarding Handoff and First Payment
Trigger. Stripe payment-succeeded webhook for a membership product, or the advisor marking the Membership Conversation Outcome form as converted.
Conditions and branches.
- If the payment fails rather than succeeds, branch to the recovery path immediately. A failed first payment on a converting trial is far more common than on an established member, and it is easily lost.
- Branch on Conversion Source for internal reporting: Self Serve Link, Membership Conversation, Front Desk or Coach Ask.
Actions in order.
- Move the opportunity to Converted. Swap trial-active for member-converted. Remove every trial band tag and trial-suppress-automation.
- Cancel every running trial workflow for this contact. One stray countdown message after someone has paid undoes a good conversion.
- Write Conversion Source and the conversion date.
- SMS within 2 minutes: “Welcome in properly, [First Name]. Nothing changes with your bookings: just keep coming. [Coach] will be in touch about setting the next few weeks up.”
- Email the full welcome: membership details, how to book, how to pause or cancel (state this plainly, hiding it costs more in churn than it ever saves), and the coach's contact.
- Create a task on the Assigned Coach to make contact within 2 days.
- Notify the internal channel with the conversion source and visit count, so the team can see which route is working.
- Wait 7 days, then send a one-question check-in: “First week as a member: anything we should sort out?”
- Wait 23 days, then enroll in the ordinary member retention program. The trial build hands off cleanly at 30 days.
Failed payment branch.
- Do not move the opportunity to Converted. Hold it at Offer Presented and apply payment-failed.
- Within 5 minutes, SMS: “[First Name]: the payment did not go through, almost always a card thing rather than anything you did. Try again here: [link]. Or reply and [Advisor] will sort it with you.”
- Wait 4 hours. If unpaid, notify the advisor to call.
- Wait 1 day, retry the charge automatically, and send one more message on failure.
- Wait 2 days. If still unpaid, create a task and stop automated retries. Keep trial access live during this window if your policy allows, losing a converted member to a card expiry is the most avoidable loss in the build.
Stop and exit. Converted path exits at the 30-day handoff. Failed payment path exits on successful payment or on the advisor closing the task.