A full read-only audit of the appointment show sequence, the kinks we found, the copy and safety net we built, and exactly what's left before it goes live.
Booking on any Strategy Session calendar drops the lead into a tagged, opportunity-tracked reminder track timed to the appointment:
All three report emails told leads to download the guide — but the button was just placeholder text ([DOWNLOAD GUIDE]) with no link behind it. The entire purpose of the sequence was broken. Fixed: real clickable buttons wired in the build (pending the live URL).
Emails 2, 3 and 4 all read TOMORROW — including the one that fires 10 minutes before the call. Your rewritten copy gives every email a distinct, timing-accurate subject.
The appointment waits are set to skip if the appointment disappears. So a lead who cancelled would have the remaining reminders collapse and fire back-to-back — "starts in an hour" + "join here" within seconds. Cancel and reschedule are both enabled on the calendar, so this was reachable. We built a Cancel Stop workflow to catch it.
The biggest catch wasn't in the sequence — it was in our own deploy method. The appointment trigger type won't arm through the API; it publishes "live" but never enrolls anyone. We proved this on a throwaway workflow, not at launch. The fix: the final Publish happens in the GHL UI, which arms the trigger reliably.
Audited every node, trigger, wait, merge tag and link. Verified the calendar group, meeting-link source, and opportunity routing end to end.
Your rewritten copy for 4 emails + 4 SMS is loaded into a one-command script, with the real guide button wired into Emails 1–3 and every subject corrected. Dry-run verified — writes cleanly, leaves the workflow in draft for your review.
New workflow REV | Strategy Session | Cancel Stop built and saved: when an appointment is cancelled on the Strategy Session group, it removes the lead from the Show Sequence so the reminders stop. Action is built; trigger is pre-filled and waiting on a UI publish to arm.
Discovered and worked around the silent-trigger gotcha. Split the launch so the proven part (writing copy) runs via script and the risky part (arming the trigger) happens with one reliable click in the UI.
{{appointment.meeting_location}} resolves to the auto-generated Google Meet link.first_name, user.name and meeting_location are all well-formed and resolvable.The one remaining blank. This is the live link the three download buttons point to. Nothing else is waiting on anything.
Paste the URL into the script and run it — all 8 messages, 3 buttons and corrected subjects land in the workflow. It stays in draft, untouched and ready for your review.
Open REV | Strategy Session | Cancel Stop, confirm the trigger reads Appointment Status = Cancelled on the Strategy Session group, and hit Publish. Do this before the sequence goes live so the safety net is up before the first booking.
Open the Show Sequence, read the emails and SMS in the builder, and hit Publish. This arms the booking trigger and the sequence goes live. One real test booking end-to-end is the final confidence check.