Every email from the moment a Facebook lead opts in to the moment they're handed off to intake — five sequences, fourteen emails, copy-paste ready. Drop each one into WebinarKit or GoHighLevel using the merge-tag glossary at the bottom of this page.
Fires the moment someone registers — whether they came through the Facebook Lead Form or the /webinar page on the site. WebinarKit handles all four touches automatically. Goal: keep registration commitment warm and reduce no-show rate to under 50%.
{{ title }}, {{ date }}, {{ link }}, {{ replay_link }}, {{ email }}, {{ first_name }}, {{ last_name }}. The {{ date }} tag outputs date AND time as a single combined string — there is no way to isolate the time, day name, or date alone. For join links, use a button block with {{ link }} in the URL field rather than typing it as markdown — the editor URL-encodes the curly braces when wrapped in markdown link syntax.
{{ link }} directly in the button's URL field (no markdown brackets). The plain-text "Join here: {{ link }}" line above works as a backup but the button is cleaner. For the audit URL, plain text is fine (no merge tag, no encoding risk).{{ link }} in the URL field rather than markdown-wrapping the merge tag.{{ link }} directly in the button's URL field (no markdown brackets). The plain-text "Join here: {{ link }}" line above works too, but the button is cleaner and avoids the markdown-link URL-encoding issue where curly braces get mangled to %7B%7Blink%7D%7D.{{ link }} as bare text, no markdown wrapping.For people who attended the live masterclass and didn't book a consultation during the session. They saw the framework — now drive them to the consultation page. Goal: 30–40% of attendees book within 72 hours.
Engaged-Question for personal follow-upFor people who registered but didn't attend the live session. Recover them by offering both paths — the next live session OR a direct consultation. Don't shame, don't push. Acknowledge that life happens. Goal: 15–25% of no-shows rebook for the next session or book a consult directly.
From booking to call. The job here is to keep the appointment warm and reduce no-show rate. Set expectations, lower anxiety, give one small assignment. Goal: 90%+ show-up rate on booked consultations.
The endpoint of this funnel and the start of fulfillment. Payment is collected, package is selected, and the client is about to enter intake. This email confirms the purchase, prevents buyer's remorse, and sets clear expectations for what happens in the next 5–7 business days.
Status-Active-Client at this stage to prevent any marketing emails from reaching them while in production.All the dynamic fields used across the 14 emails, plus deployment notes for plugging this into WebinarKit and GoHighLevel. Use this section as the single source of truth when configuring email templates in either system.
{{contact.first_name}}) when configuring the workflows.WebinarKit → Email Templates section. Triggered automatically on registration. Constrained to the seven native tags above.GHL Workflow 3. Trigger: WebinarKit "right after webinar" webhook fires with attendance status = attended.GHL Workflow 4. Trigger: same webhook, attendance status = no-show.GHL Workflow 5. Trigger: calendar booking on the Masterclass Consultation Calendar.GHL Workflow 7 (new). Trigger: payment received + package tag applied.{{ link }}. The confirmation is the primary anchor (registrants expect the link there and many will save the email or paste it into their calendar). Reminders carry the link as redundancy so a single missed email never blocks attendance.{{ date }} outputs in MST. If left at UTC or another zone, the date string in Email 1.1 will show the wrong time.{{ link }} in the URL field. Do NOT wrap the merge tag in markdown link syntax — the editor URL-encodes the curly braces to %7B%7Blink%7D%7D and the link breaks.{{ date }} tag outputs date AND time as one combined string. There is no way to split them. Send a test email to yourself and inspect the actual format before going live — adjust surrounding copy to read naturally with that exact output.{{ firstname }} instead of {{ first_name }}) can cause the entire email to fail to send. Test every email before going live.Masterclass Consultation Booked firing on booking.{{ date }} actually renders in the test send and adjust surrounding copy if the format reads awkwardly.