1. Waitlist Capture and Early Access
Trigger: waitlist form submitted, or an inquiry arrives while signups are closed.
- Action 1, immediate: create the contact, apply challenge-waitlist, open an opportunity at Interest - Waitlist, record the source.
- Action 2, immediate: confirm. "You're on the list, {{first_name}}. The next {{challenge_name}} starts {{cohort_start_date}} and waitlist gets first pick of places. I'll message you the moment signups open. Nothing else in between." Then honor that: no drip, no nurture, no weekly emails. The promise of a quiet list is why the list converts.
- Action 3, scheduled: 14 days before signups open, send early access to the whole waitlist. "{{first_name}}, waitlist access to {{challenge_name}} is open for the next 72 hours before it goes public. {{challenge_page_link}}"
- Action 4, wait 48 hours: if not registered, one reminder with the remaining time in the exclusive window.
- Action 5, on public open: one further message to the non-registered remainder, then remove challenge-waitlist and hand to the standard campaign audience.
- Action 6, after the cohort fills: anyone still unregistered stays as a contact and is re-added to the waitlist for the following intake, with one message confirming it. A full cohort should never mean a lost contact.
Exit: registered, or rolled to the next cohort's waitlist, or STOP received.
2. Registration and Abandoned Checkout Recovery
This is the highest-return workflow in the build. In most challenges a significant share of registrations never complete payment, and almost none of them are ever contacted.
Trigger: Challenge Signup form submitted.
- Action 1, immediate: create or update the contact, write Participant Goal, Cohort Name, Referred By and the source. Apply challenge-registered and the cohort tag. Open the opportunity at Registered - Unpaid.
- Action 2, immediate: if payment completed on the same step, route straight to workflow 3 and stop here.
- Action 3, wait 20 minutes, no payment: SMS. "Hi {{first_name}}, BO from {{business_name}}, your place in {{challenge_name}} isn't held until checkout's done. Takes a minute and the link picks up where you left off: {{checkout_link}}"
- Action 4, wait 3 hours: email with subject "Your place in {{challenge_name}} isn't confirmed yet", restating the dates, what is included and the seat cap, with the same link.
- Action 5, wait 1 day: SMS offering a human. "Still want in, {{first_name}}? If something's in the way (a question, a date clash) reply here and I'll get it sorted. If the timing's wrong, no problem, just say."
- Action 6, wait 2 days: task for a coach to call. By this point a human conversation converts considerably better than a fourth message.
- Action 7, 72 hours before the start date: final SMS to anyone still unpaid, naming the real deadline. "{{first_name}}, last call: {{challenge_name}} starts {{cohort_start_date}} and baseline sessions are nearly full. {{checkout_link}}"
- Action 8, at the start date: move remaining unpaid registrations to Dropped Out with Dropout Reason = never paid, apply next-cohort-nurture, and remove them from the active cohort tag so they do not receive the daily cadence.
Exit: payment received, declined explicitly, start date passed, or STOP received.
3. Payment, Readiness Gate and Baseline Capture
Trigger: payment-succeeded event for a challenge product.
- Action 1, immediate: move to Paid - Not Onboarded, apply challenge-paid, write the consent tags from the signup form: photo-consent-yes and marketing-use-consent-yes applied only where each was separately and explicitly given. Apply baseline-missing.
- Action 2, immediate: send receipt, the Readiness and Waiver form and the Baseline Session booking link together. "You're in, {{first_name}}. {{challenge_name}} runs {{cohort_start_date}} to {{cohort_end_date}}. Two things before we start: this form, and your 20-minute baseline session. Book it here: {{baseline_link}}"
- Action 3, wait 24 hours: branch. No form, no booking: send both links again, one message. Form done, no booking: booking link only. Booking done, no form: form only, with a plain note that it must be complete before the first session.
- Action 4, wait 72 hours: if either is still outstanding, task a coach to call. Both are gates, so neither can be allowed to drift.
- Action 5, hard gate: if Readiness Form Complete is not yes at 24 hours before the baseline session, notify the coach so they collect it at the door rather than proceeding without it.
- Action 6, baseline reminders: 24 hours and 2 hours before, with what to bring and what the session involves, so nobody arrives surprised by the measurements.
- Action 7, on baseline completed: write Baseline Captured = yes, remove baseline-missing, move to Onboarded, and confirm the kickoff time.
- Action 8, 48 hours before the start date: for anyone still carrying baseline-missing, notify the owner by name and create an urgent call task. A participant who starts without a baseline cannot produce results, so this is treated as an operational failure and escalated, not messaged.
Exit: baseline captured and kickoff confirmed, or refunded and moved to Dropped Out.
4. Kickoff and Daily Cohort Cadence
Trigger: Cohort Start Date arrives.
Conditions: contact must carry challenge-paid and the cohort tag, with Readiness Form Complete = yes.
- Action 1, start date: move to Active - Week 1, apply challenge-active, set Challenge Day Number = 1, grant access to the cohort hub.
- Action 2, start date morning: SMS. "Day 1, {{first_name}}. You said you wanted {{participant_goal}}, that's what the next six weeks are for. Today's task and the full schedule are here: {{cohort_hub_link}}"
- Action 3, daily at the set morning hour: increment Challenge Day Number, send that day's prompt by SMS and post the same prompt to the cohort feed. Content is keyed to the day number, not the date, so the whole library is reusable across every future cohort without editing.
- Action 4, weekly on day 1 of each challenge week: email the longer weekly content. The focus, the sessions, the one thing to concentrate on.
- Action 5, suppression rules: skip the daily send for anyone carrying an active escalation or chase tag, anyone who has opted out of SMS (they get the cohort feed and email instead), and anyone moved to Dropped Out. Never allow the daily prompt and a chase message to land in the same morning.
- Action 6, team branch: where Team Name is set, the daily prompt includes the team's own standing or shared target rather than individual comparisons, and no individual's measurements or results are ever named.
- Action 7, final day: remove challenge-active, stop the daily cadence, and hand to workflow 8.
Exit: cohort end date, drop-out, or STOP received (which moves the cadence to email).
5. Weekly Check-In, Stage Progression and Inactivity Rescue
Trigger: scheduled weekly on the cohort's check-in day; plus a daily inactivity evaluation.
- Action 1, weekly: send the Weekly Check-In. "End of week {{challenge_week}}, {{first_name}}, four quick questions so {{coach_name}} knows how it's actually going: {{checkin_link}}"
- Action 2, on submission: increment Check-Ins Logged, write Last Activity Date, advance the opportunity to the next Active - Week stage, and surface the answers on the coach's cohort dashboard.
- Action 3, no submission after 24 hours: one reminder, then stop. The attendance signal matters more than the form, so this is not chased hard.
- Action 4, daily inactivity evaluation: if Last Activity Date (the later of the last attended session and the last check-in) is more than 4 days ago, send one SMS. "Haven't seen you in a few days, {{first_name}}. Week {{challenge_week}} is usually where it gets hard: completely normal. What would make this week easier?"
- Action 5, at 7 days inactive: apply challenge-inactive-7d and challenge-at-risk, move the opportunity to At Risk - Inactive, and create a same-day coach task to call, not message. One phone call in week two recovers more of a cohort than any sequence; this is the step most challenges skip.
- Action 6, at 14 days inactive with no coach contact logged: notify the owner. Send one message offering a graceful exit as well as a return, because a participant who feels trapped tells people about it. "{{first_name}}, no judgment either way. If this cohort isn't going to work out, tell me and I'll sort it. If you want back in, {{coach_name}} will help you pick it up from where you are."
- Action 7, on return: remove the at-risk tags, return the opportunity to the correct Active - Week stage for the current date, and notify the coach so the return is acknowledged in person.
- Action 8, on explicit drop-out: move to Dropped Out, send the one-question Dropout Exit form, write Dropout Reason, stop all cohort messaging, and apply next-cohort-nurture unless the reason indicates otherwise.
Exit: cohort ends, participant drops out, or STOP received.
6. Mid-Point Review and Course Correction
Trigger: start of challenge week 3.
- Action 1, immediate: send the Mid-Point Review form with the Mid-Point Check booking link. "Halfway, {{first_name}}. Three questions, then grab 15 minutes with {{coach_name}} to adjust the back half: {{midpoint_link}}"
- Action 2, wait 2 days: if no booking, one reminder naming the remaining slots.
- Action 3, wait 4 days: for anyone with neither a form nor a booking, a coach task to catch them at their next session in person. The mid-point conversation is the most important retention moment in the campaign and should not be allowed to be optional.
- Action 4, branch on review answers. Where the participant reports the schedule as the problem, BO offers alternative session times. Where they report the program as too hard or too easy, the answer goes to the coach as a priority note and the coach responds: BO makes no programming suggestion of any kind. Where they mention discomfort, pain, illness or any condition, the thread stops immediately, a suppression tag is applied, and the coaching lead is notified with the message quoted in full.
- Action 5, on mid-point attended: log it, write Last Activity Date, and send a short confirmation of whatever was agreed, in the coach's words rather than a template.
- Action 6, immediate for low engagement: where Sessions Attended is below the halfway expectation, mark the mid-point task as priority with the numbers attached, so the coach goes into the conversation knowing.
Exit: mid-point completed, or week 4 begins.
7. Week Five: Final Measurement Booking and Conversion Window
Two jobs run together here, and the sequencing (week five, not week six) is the single most important decision in the build.
Trigger: start of challenge week 5.
- Action 1, immediate: apply final-missing, and send the Final Measurement booking link. "{{first_name}}, week 5. Book your final measurement now while the slots are open. They're in the last three days and they do fill: {{final_measurement_link}}"
- Action 2, immediate, separately: offer the Next Steps Consult. "Separately: you've put five weeks into {{participant_goal}}. Worth 20 minutes with {{coach_name}} to talk about what happens after the challenge finishes. What to carry on with, what to change. No obligation, and it's easier to have now than after you've stopped coming in: {{next_steps_link}}" Write Conversion Offer Made = today. No figure appears in this or any other automated message.
- Action 3, wait 2 days: if the final measurement is unbooked, one reminder; at 4 days, a coach task to book it with them in person at a session.
- Action 4, wait 3 days: if no consult is booked, email from the coach referencing the participant's own check-in history (sessions attended, weeks completed, their stated goal) and the consult link again.
- Action 5, week 6, day 2: for anyone with no consult booked, a coach task to have the conversation face to face at a session. The in-person ask inside the final week converts better than every message in this workflow combined.
- Action 6, final measurement reminders: 24 hours and 2 hours before, with what to bring so the conditions match the baseline.
- Action 7, on final measurement completed: write Final Captured = yes, remove final-missing, and generate the participant's own before-and-after summary: their data only.
- Action 8, on consult attended: the coach records Conversion Outcome. Joined moves the opportunity to Converted - Member and writes Membership Start Date. Declined moves it to Not Converted and applies next-cohort-nurture. Undecided schedules one follow-up task for three days after results day and no further automated chase.
Exit: both booked and attended, or the cohort end date passes (which hands any final-missing participant to workflow 8 as Completed - No Final Data).
8. Results Day, Reviews, Non-Converted Nurture and Cohort Close-Out
Trigger: Cohort End Date arrives.
- Action 1, immediate: branch on Final Captured. Yes moves the opportunity to Completed - Results Captured; no moves it to Completed - No Final Data and adds the name to the owner's close-out report as a process failure to fix in the next cohort. Apply challenge-completed in both cases.
- Action 2, results day: send each participant their own summary. "{{first_name}}, six weeks done. Here's your own before and after, {{sessions_attended}} sessions, {{check_ins_logged}} check-ins. You came in wanting {{participant_goal}}." Their data and nobody else's. No comparison to other participants, no cohort averages, no claim about what the numbers mean.
- Action 3, wait 1 day: email the Final Capture and Feedback form, including the separate, explicit question about sharing their story or images publicly. A yes here, and only a yes here, applies marketing-use-consent-yes: completing the challenge is not consent to be marketed with.
- Action 4, wait 3 days: request a review, routed to the business's chosen platform. "If the last six weeks were worth it, {{first_name}}, a couple of lines would genuinely help other people decide: {{review_link}}" Send once. Suppress for anyone who dropped out or raised a complaint.
- Action 5, wait 3 days, non-converted branch: for Not Converted, one message that closes the loop properly and does not push. "No worries at all, {{first_name}}, you finished it, which is the part that counts. I'll let you know when the next one opens and otherwise leave you to it." Then stop; they sit on next-cohort-nurture until workflow 1 contacts them at the next waitlist opening.
- Action 6, converted branch, wait 7 days: hand Converted - Member contacts to the standard member onboarding, and set a review task at 90 and 180 days so challenge-sourced retention is measured rather than assumed.
- Action 7, referral branch: where Referred By is set, notify and thank the referrer per the business's referral program, and record the referral against the next cohort's source reporting.
- Action 8, wait 10 days: send the owner the close-out report. Registrations by source, registration-to-paid and recovery rates, baseline and final capture rates, attendance and check-in rate by week with the drop-off week identified, completion rate, drop-out reasons, conversion rate, referrals and reviews. Then create a task to clone the pipeline, funnel and workflow set with the next cohort's dates. The close-out report and the clone task are what turn this from a campaign into an asset.
Exit: cohort closed out, report delivered, next cohort cloned; participants exit to member onboarding, to next-cohort-nurture, or on STOP.