Builds That Work Get the Daily Build

Appointment confirmation and reminders: reschedule branch, 5 AM morning-of email and a same-day booking guard

Source-checked YouTube

Aaron's V4 appointment workflow. It confirms by text and email, sends a reschedule-specific message, reminds 2 days, the morning of, 47 minutes and 5 minutes before, and nudges the rep to log the outcome. A 'tomorrow' check keeps same-day bookers from getting day-before messages after their call.

Source: Aaron Delezenski (ClickLaunch), YouTube, 2026-10-15

1What it does

Aaron's V4 appointment workflow. It confirms by text and email, sends a reschedule-specific message, reminds 2 days, the morning of, 47 minutes and 5 minutes before, and nudges the rep to log the outcome. A 'tomorrow' check keeps same-day bookers from getting day-before messages after their call.

2Who it is for

Industry
Any local business
Platform
HighLevel
Category
Booking
Tools used
HighLevel WorkflowsCalendarsIf/ElseOpportunitiesInternal notification

3How it works

Every step, in order, is in Workflow at a glance, pinned on the right as you scroll.

Workflow at a glanceHighLevel workflow
  1. 01 Trigger

    Appointment status is confirmed (normal event, one specific calendar).

  2. 02 Action

    Remove the contact from the Canceled / No Show workflow (the step is also named for your New Leads workflow; add yours there) and add the tag 'appt booked'.

  3. 03 Action + wait

    If/Else: appointment rescheduled is true. Rescheduled branch: push the owner '🔁 {{contact.name}} rescheduled', remove the tag 'day before confirmed', remove the contact from Day Before Appt Confirmation, add the tag 'rescheduled', send the 'you're all set, your new time is' SMS and the 'Reschedule Confirmed' email, then Go To the 2-days-before wait.

  4. 04 Action

    Not rescheduled: find the opportunity in the pipeline and update it to Appointment Booked, or create it in Appointment Booked if none is found.

  5. 05 Action

    Push the owner 'New Booked Call: {{contact.name}}', then send the confirmation SMS and the confirmation email (meeting link, add-to-calendar links, reschedule and cancel links).

  6. 06 Action + wait

    Wait until 2 days before the appointment (skip messages if that time has passed), then email 'See you in 2 days'.

  7. 07 Action + wait

    Wait until 24 hours before with 'continue to next action' on, then If/Else: appointment start date is tomorrow.

  8. 08 Action

    Tomorrow branch: Add to Workflow 'Day Before Appt Confirmation' with pass input trigger parameters on.

  9. 09 Action + wait

    Wait until 5:00 AM (all 7 days), email the rep 'Appt Today with {{contact.name}}', then email the lead the '🚨Appointment Reminder' with the meeting link.

  10. 10 Action + wait

    Wait until 47 minutes before and text 'Starting soon, see you at {{appointment.only_start_time}}.' Wait until 5 minutes before and text the meeting link.

  11. 11 Action + wait

    Wait until the start time, then remove the tag 'day before confirmed' and remove the contact from Day Before Appt Confirmation.

  12. 12 Action + wait

    Wait until 30 minutes after the start and text the contact owner to update the call outcome. Wait until 2 hours after and text a second nudge.

  13. 13 Action + wait

    Same-day bookings take the None branch of the tomorrow check and Go To the 47-minute wait, skipping the day-before confirmation and both morning-of emails.

Trigger
Appointment status is confirmed (normal event, one specific calendar).
AI step
None. Native HighLevel workflow actions only.

Every message, in order

Follow the lead, owner and system steps. Select a message to read the full copy. Spacing is not proportional to time.

Booked far enough ahead to reach the 2-day reminder. The tomorrow branch adds the separate confirmation workflow.

Late bookings skip any 47-minute or 5-minute reminder whose wait time has passed. The day-before reply workflow runs separately; a NO reply can cancel the appointment and stop reminders.

Default scenario: Maria (far ahead). Expand a step to read its full copy.

At booking or reschedule · system · Rescheduled
Appointment rescheduled is true selects the reschedule confirmations. Otherwise, find or create the opportunity in Appointment Booked.
At booking · owner · Push Notification

Subject: New Booked Call: {{contact.name}}

{{appointment.start_time}}
At booking · lead · SMS - Confirmation
Hi {{contact.first_name}}, this is {{appointment.user.first_name}} from {{custom_values.company_name}}. Your appointment for {{appointment.start_time}} {{appointment.timezone}} has been confirmed. Please check your email for further details. (Also check your spam folder).
At booking · lead · Email - Confirmation

Subject: Your Appointment Is Confirmed 🎉 but one more thing..

Hello {{contact.first_name}}, Congratulations, your appointment is confirmed! You are booked with {{appointment.user.name}}. Meeting Details: Date/Time: {{appointment.day_of_week}}, {{appointment.only_start_date}} at {{appointment.only_start_time}}. Meeting Link: {{appointment.meeting_location}} To conveniently add your appointment to your Google/iCal/Outlook Calendar, use the following links below: Add To Google Calendar | Add To iCal/Outlook See you then! :-) - {{appointment.user.first_name}} from {{custom_values.company_name}} P.S. I recommend saving or bookmarking this email so you can come back to it for easy reference. (Need to Reschedule or Cancel your appointment, please do so with these links)
2 days before · system · Wait 2 days before
If this time has passed, skip outbound messages until the next wait.
2 days before · lead · Email - 2 Days Before

Subject: See you in 2 days

Hi {{contact.first_name}}, This is just a reminder for your meeting with {{custom_values.company_name}} on {{appointment.start_time}} {{appointment.timezone}}. I look forward to meeting you! - {{appointment.user.first_name}} from {{custom_values.company_name}} Reschedule | Cancel
After Wait 24hrs before · system · Tomorrow
The 24-hour wait continues if its time has passed. Check whether appointment start date is tomorrow. If not, go to Wait 47 mins before.
24 hours before, or immediately if passed · system · Add to Workflow - 2a.2) Day Before Appt Confirmation
Enter Day Before Appt Confirmation with input trigger parameters. Its SMS and reply branches are shown in the next collection build.
5:00 AM, all days · system · Wait - 5:00am Morning of
Wait for the exact 5:00 AM window.
After the 5:00 AM wait · owner · Email - User Notification

Subject: Appt Today with {{contact.name}}

Today I have an appointment with: {{contact.name}} [contact email] [contact phone] At {{appointment.only_start_time}} {{appointment.meeting_location}}
After the 5:00 AM wait · lead · Email - Morning of

Subject: 🚨Appointment Reminder

Hi {{contact.first_name}}, Just wanted to remind you about your meeting today at {{appointment.only_start_time}} {{appointment.timezone}}. Here is the Zoom link we will be using: {{appointment.meeting_location}} I'm excited, I hope you are too! - {{appointment.user.first_name}} from {{custom_values.company_name}} Reschedule | Cancel
47 minutes before · lead · SMS - 47 mins before
Starting soon, see you at {{appointment.only_start_time}}.
5 minutes before · lead · SMS - 5 mins before
We're starting in 5. Here's your link: {{appointment.meeting_location}}
At appointment start · system · Remove from Workflow - 2a.2) Day Before Appt Confirmation
Remove tag 'day before confirmed' and remove from Day Before Appt Confirmation.
30 minutes after start · owner · SMS Notification - Post Call Outcome Reminder
Reminder to update {{contact.name}}'s post call outcome.
2 hours after start · owner · SMS Notification - Post Call Outcome Reminder Followup
Heads up: {{contact.name}}'s post call outcome still isn't updated.

Message copy from Aaron Delezenski's HighLevel export. Contact details removed.

4How it went

Unknown. Aaron walks through the build and three booking scenarios (7 days out, next morning, same day) but reports no show-rate numbers.

Only what the source reports. The source did not report numbers.

5Worth knowing

  • This is V4 of four. V1 is the straight line (confirmation, 2-day email, 24-hour SMS, 47-minute and 5-minute SMS, owner nudges). V2 adds the reschedule branch. V3 adds the 5 AM email and the tomorrow check. V4 moves the day-before text into its own YES/NO workflow.
  • Set the 24-hour wait to 'continue to next action', not 'skip'. With skip, someone who books 5 PM for 9 AM tomorrow misses the day-before and morning-of messages, and a same-day booker can be held until the next morning.
  • The morning-of wait must be earlier than your first bookable slot and on for all 7 days. Aaron uses 5:00 AM and sends an email, not a text, at that hour.
  • Turn on pass input trigger parameters on the Add to Workflow step. Without it the day-before workflow does not know which appointment it is for and the time, user and link come through blank.
  • Workflow settings: allow re-entry on (reschedules and repeat bookings), stop on response off (a 'thanks!' reply should not end the reminders).
  • 47 minutes reads more human than an even hour. The 5-minute link text suits online calls; for a dentist or chiropractor move it to about an hour before so they can drive in.

6Recipe

Creator's settings Taken from the source as published.

From Aaron's export (V4).
Waits, all relative to the appointment start: 2 days before (skip if passed) | 24 hours before (continue to next action) | exact 5:00 AM, all days | 47 minutes before | 5 minutes before | at start | 30 minutes after | 2 hours after.
If/Else 1: Appointment > Rescheduled is true. If/Else 2: Appointment > Start date is tomorrow.
SMS confirmation: Hi {{contact.first_name}}, this is {{appointment.user.first_name}} from {{custom_values.company_name}}. Your appointment for {{appointment.start_time}} {{appointment.timezone}} has been confirmed. Please check your email for further details. (Also check your spam folder).
SMS reschedule: Hey {{contact.first_name}}, you're all set, your new time is {{appointment.start_time}}. See you then!
SMS 47 min: Starting soon, see you at {{appointment.only_start_time}}.
SMS 5 min: We're starting in 5. Here's your link: {{appointment.meeting_location}}
Owner SMS (30 min after): Reminder to update {{contact.name}}'s post call outcome.
Owner SMS (2 hrs after): Heads up: {{contact.name}}'s post call outcome still isn't updated.

7Source

Open the original YouTube by Aaron Delezenski (ClickLaunch) →

  • Steps checked line by line against Aaron's own HighLevel export of the same sub-account (8 workflows, exported Oct 15, 2026).
  • Chapters: V1 03:20, V2 08:13, V3 12:40, same-day fix 20:16, V4 24:47, pass input trigger parameters 37:00.

Video transcript read on 2026-10-17. Every step checked against Aaron's workflow export for '4. Appt Confirm/Reminders - Reschedule + Morning of + 24hr Confirmation'.

Appointment confirmation and reminders: reschedule branch, 5 AM morning-of email and a same-day booking guard: workflow

  1. 01 Trigger

    Appointment status is confirmed (normal event, one specific calendar).

  2. 02 Action

    Remove the contact from the Canceled / No Show workflow (the step is also named for your New Leads workflow; add yours there) and add the tag 'appt booked'.

  3. 03 Action + wait

    If/Else: appointment rescheduled is true. Rescheduled branch: push the owner '🔁 {{contact.name}} rescheduled', remove the tag 'day before confirmed', remove the contact from Day Before Appt Confirmation, add the tag 'rescheduled', send the 'you're all set, your new time is' SMS and the 'Reschedule Confirmed' email, then Go To the 2-days-before wait.

  4. 04 Action

    Not rescheduled: find the opportunity in the pipeline and update it to Appointment Booked, or create it in Appointment Booked if none is found.

  5. 05 Action

    Push the owner 'New Booked Call: {{contact.name}}', then send the confirmation SMS and the confirmation email (meeting link, add-to-calendar links, reschedule and cancel links).

  6. 06 Action + wait

    Wait until 2 days before the appointment (skip messages if that time has passed), then email 'See you in 2 days'.

  7. 07 Action + wait

    Wait until 24 hours before with 'continue to next action' on, then If/Else: appointment start date is tomorrow.

  8. 08 Action

    Tomorrow branch: Add to Workflow 'Day Before Appt Confirmation' with pass input trigger parameters on.

  9. 09 Action + wait

    Wait until 5:00 AM (all 7 days), email the rep 'Appt Today with {{contact.name}}', then email the lead the '🚨Appointment Reminder' with the meeting link.

  10. 10 Action + wait

    Wait until 47 minutes before and text 'Starting soon, see you at {{appointment.only_start_time}}.' Wait until 5 minutes before and text the meeting link.

  11. 11 Action + wait

    Wait until the start time, then remove the tag 'day before confirmed' and remove the contact from Day Before Appt Confirmation.

  12. 12 Action + wait

    Wait until 30 minutes after the start and text the contact owner to update the call outcome. Wait until 2 hours after and text a second nudge.

  13. 13 Action + wait

    Same-day bookings take the None branch of the tomorrow check and Go To the 47-minute wait, skipping the day-before confirmation and both morning-of emails.