aibrevoBook a call

GoHighLevel Appointment Reminders and No-Show Workflow

GoHighLevel appointment reminders run from a workflow that starts on the booking, sends a confirmation, then reminders timed before the appointment with a Wait Step, and checks the appointment status before each send. No-show recovery must be a second workflow, because a status change to No Show removes the contact from the first.

Part of the guide: GoHighLevel automation

Key takeaways

  • Use two workflows, not one. HighLevel's appointment scenarios article says a status change from New, Confirmed or Showed to Cancelled, Invalid or No Show removes the contact from the running workflow, so no-show recovery needs its own Appointment Status trigger.
  • Time reminders with the Wait Step option 'an upcoming appointment or booking', set to a duration before the scheduled time. If that time has already passed, choose to skip outbound messages rather than send a stale reminder.
  • Customer Booked Appointment fires only when the customer self-books through a booking link. Appointments your team books manually do not fire it, so use the Appointment Status trigger if staff also book.
  • A rescheduled appointment is treated as a new one and the contact re-enters from the start, per HighLevel, which can double reminders unless the first run exits cleanly.
  • Reminder cadence has no official HighLevel default to copy. Two to three touches are common; test your own cadence and read your no-show count, using the illustrative arithmetic here only as a template.

How do you build appointment reminders in GoHighLevel?

Trigger on the booking, send a confirmation, then use a Wait Step timed to the appointment before each reminder. HighLevel’s Wait action has a type called ‘an upcoming appointment or booking’ (Appointment/Calendar Event, Service Booking or Invoice Due Date) with the option to proceed at the scheduled time or a set duration before or after it. That is the whole mechanism; the rest is choosing the trigger, the cadence and the exits.

Reminder workflow, in order

  1. Create the calendar first. See the calendar and booking setup guide.
  2. In Automation, Workflows, create a workflow (or start from HighLevel’s Appointment Confirmation + Reminder recipe) and add the appointment trigger, filtered to the calendar.
  3. Add Send SMS and Send Email for the confirmation.
  4. Add a Wait Step: ‘an upcoming appointment or booking’, proceed 24 hours before.
  5. Add an If Else on appointment status so a cancelled booking exits.
  6. Add the reminder SMS. Repeat steps 4 to 6 for the same-day reminder.
  7. On the Settings tab, set the Time Window and Stop on Response, then test and Publish.

Which trigger should start the workflow?

Use Appointment Status if staff ever book appointments; use Customer Booked Appointment only for self-service booking. HighLevel’s Customer Booked Appointment article (modified April 6, 2026) says the trigger fires when a customer books through a booking link, does not fire for manually booked appointments, and does not support recurring appointments.

Trigger Fires on Misses
Customer Booked Appointment Customer self-books Staff-booked, recurring
Appointment Status Status changes: New, Confirmed, Cancelled, Showed, No-show, Invalid Services v2 bookings, which have a separate Service Booking trigger

The Appointment Status trigger (modified April 6, 2026) adds filters for event type, status, tag, calendar, calendar group and Modified By (API, Customer, User or Workflow). Both can enroll the contact only, contact and guests, or guests only.

What reminder cadence works?

There is no official HighLevel cadence. Practitioner guides disagree, with examples ranging from a day plus an hour before, to a day plus two hours, to two days, a day and two hours, so treat any cadence as a starting hypothesis. A reasonable start for most service businesses is three touches: an immediate confirmation, one the day before, one a few hours before.

Illustrative reminder cadence: touches per booking, by lead time (illustrative)

Booked 5+ days out
3
Booked 1 to 4 days out
3
Booked same day
2

Illustrative design, not data. Same-day bookings skip the day-before reminder because that wait time is already past. Checked against the Wait action options on 2026-10-13.

The same-day row matters. If a booking is made inside the 24-hour window, the ‘before’ wait time has already passed. HighLevel’s wait options for a past date are: continue to the next action, exit the contact, go to a specific step, or skip outbound communication until the next wait or event-date action. Choose skip, or you send a ‘24 hours until your appointment’ text to someone whose appointment is in two hours.

Which calendar and workflow settings change the results?

Four settings decide whether reminders arrive on time and only once.

Setting Where Why it matters
Time Window Workflow, Settings tab, Communication Settings Pauses SMS and email outside your hours and resumes at the next slot. A same-day reminder can slip past the appointment if the window closes.
Timezone Same section Account Timezone or Contact Timezone for waits and windows; contacts with no timezone fall back to the account’s.
Allow Re-entry Workflow, Settings tab Appointment triggers always allow re-entry per HighLevel, so each new booking starts a run.
Stop on Response Workflow, Settings tab Ends the workflow if the customer replies to a message from it, which is wrong for a confirm-by-reply flow if you need to read the reply. Decide deliberately.

Calendar-side checks (buffer time, minimum notice, per-user sync) are in the calendar setup guide. If external calendars drift, use Google Calendar not syncing. Keep the standing details, such as the address or video link, in custom values.

How do you handle confirmation replies?

Treat a reply as its own small workflow. Trigger on Customer Replied, filter by phrase, and update the appointment. HighLevel’s Customer Replied trigger offers filters including Contains Phrase, Exact Match Phrase, Has Tag, Doesn’t Have Tag, Intent Type, Replied to Workflow and Reply Channel, and fires each time a qualifying message arrives by default.

  1. Word the reminder with one clear instruction: ‘Reply C to confirm.’
  2. Customer Replied trigger, Reply Channel SMS, Replied to Workflow set to the reminder workflow, Contains Phrase ‘C’.
  3. Action: Update Appointment Status to Confirmed. HighLevel says the action updates the triggering appointment, or the contact’s most recent one when the workflow did not start from an appointment event, so test with a contact who has two bookings.
  4. For any other reply, create a task for a person. Do not auto-cancel on a stray word.

A single letter will match unrelated replies, so use Exact Match Phrase where you can, and send the unmatched replies to a human.

How do you recover no-shows without a second reminder loop?

Build a separate workflow on the Appointment Status trigger with the status filter set to No-show. It has to be separate: HighLevel’s appointment scenarios article says a change from New, Confirmed or Showed to Cancelled, Invalid or No Show counts as cancelled and the contact is removed from the workflow, with no further actions performed.

Step Setting
Trigger Appointment Status, status No-show, calendar filter set
Condition If Else: skip if the contact already has a new appointment or is tagged Do Not Contact
Wait Same day or next morning, inside the Time Window
Action Send SMS: no blame, one link to rebook; Add Task for high-value bookings
Wait Wait for the contact to reply, with a timeout
End One follow-up at most; then tag for review

Two caveats from HighLevel’s documentation. First, it defines No-show but does not say how the status gets set, so give someone the job: staff mark it on the appointment, or a workflow uses the Update Appointment Status action. Second, changing a status to Showed or No-show does not push an update to a connected Google, Outlook or iCloud calendar, so do not expect the external calendar to show it.

For a paid or deposit-based booking, add a line about the policy in the message and make the rebooking link carry the same rules. Cancellation fees and notice periods are policy decisions that belong in your Booking rules and terms, not in workflow logic alone.

What is it worth? An illustrative calculation

The value of reminders is the no-shows they prevent times the revenue per slot. The numbers below are invented to show the arithmetic; replace each with your own four-week data.

Input (illustrative) Value
Appointments per month 120
Average value per kept appointment $180
No-show rate before reminders 20% (24 no-shows)
No-show rate after reminders 14% (about 17 no-shows)
No-shows prevented about 7
Revenue recovered about $1,260 per month, before any slots you refill

If your measured drop is smaller, the build still costs a few hours; if your appointments are worth more, it is larger. Do not borrow a percentage reduction from a vendor blog: published ranges mix industries and cadences. Record no-shows for four weeks before launch, then compare.

How do reminders and no-show recovery fail?

Most failures are re-entry, status or timing mistakes.

Symptom Cause Fix
Reminder sent for a cancelled booking No status check, or a second workflow still running Add If Else on status before each send; check Enrollment History
Two reminders after a reschedule Reschedule treated as a new appointment, old run not exited Test a reschedule; confirm the first run exits
Reminder arrives after the appointment Time Window closed, or wrong timezone Check Time Window and timezone on the Settings tab
Staff-booked appointments get nothing Customer Booked Appointment trigger used Switch to Appointment Status
‘Reminder’ arrives minutes after booking Booking inside the window with ‘continue’ selected Choose ‘skip outbound communication’
Reminders go out twice Recipe workflow plus a hand-built one See duplicate messages

For workflows that never start, use workflow not triggering. Reminders are one of several layers; the others, and the order to build them, are in the GoHighLevel automation guide and the workflow examples. Consent for texting and quiet hours are covered in the compliance guide. If you want the calendar, reminders and recovery built and tested together, see GoHighLevel implementation services.

Sources

  • HighLevel Support, Wait action, modified September 7, 2026. Supports the appointment wait type and past-date options. Checked 2026-10-13.
  • HighLevel Support, Customer Booked Appointment trigger, modified April 6, 2026. Checked 2026-10-13.
  • HighLevel Support, Appointment Status trigger, modified April 6, 2026. Checked 2026-10-13.
  • HighLevel Support, Appointment scenarios in workflow, modified April 21, 2025. Supports cancel, reschedule and no-show behavior. Checked 2026-10-13.
  • HighLevel Support, Update Appointment Status action, via search summary; no full-page read. Verify in your builder. Checked 2026-10-13.
  • HighLevel Support, Customer Replied trigger, via search summary. Checked 2026-10-13.
  • HighLevel Support, Workflow settings overview, modified October 12, 2026. Checked 2026-10-13.
  • Reminder cadence examples come from third-party setup guides found by search (Growwstacks, Growthable, GHL Experts); they disagree, and none is a HighLevel default. Not used for any statistic.

More guides

Related reading

FAQs

How do I set up appointment reminders in GoHighLevel?

Create a workflow with an appointment trigger filtered to the right calendar, send a confirmation, then add Wait Steps using the 'upcoming appointment or booking' option set to a duration before the appointment, each followed by a reminder SMS or email. Add an If Else on appointment status before each send and publish.

Which trigger should an appointment reminder workflow use?

Customer Booked Appointment fires when a customer self-books through a booking link, but not for appointments your team creates manually. The Appointment Status trigger covers status changes such as New, Confirmed, Cancelled, Showed, No-show and Invalid, with filters for calendar and who modified it. Use Appointment Status if staff book too.

How many reminders should I send?

There is no official HighLevel number. Practitioner guides range from two to three reminders, for example a day before and a couple of hours before, plus an immediate confirmation. Start with confirmation, one day-before reminder and one same-day reminder, then adjust against your own no-show rate.

How do I handle customers who reply to confirm or cancel?

Use a Customer Replied trigger with a Contains Phrase filter and the Replied to Workflow filter, then update the appointment status or create a task. HighLevel's Update Appointment Status action updates the triggering appointment, or the contact's most recent one if the workflow was not started by an appointment event.

How do I mark a no-show in GoHighLevel?

Staff can change the appointment status to No-show on the appointment, and a workflow can do it with the Update Appointment Status action. HighLevel's documentation defines the status but does not say how it gets set automatically, so decide who owns it. Marking no-show does not push an update to connected Google or Outlook calendars.

Why did my reminders send for a cancelled appointment?

Usually the reminders sit in a different workflow from the one the cancellation affects, or there is no status check before the send. Cancelling removes the contact from the workflow already running per HighLevel, but a second workflow, or a reminder built on a stale trigger, can keep going. Add an If Else on status.

What happens to reminders when an appointment is rescheduled?

HighLevel treats a change to start or end time as a reschedule that removes the contact from the workflow. The contact re-enters only if the trigger and filters match the new appointment and Allow Re-entry applies; appointment triggers allow multiple entries. Test a reschedule end to end before launch.

Do reminders really reduce no-shows?

Reminders are widely used to reduce no-shows, but published percentage ranges come from vendor compilations with mixed methods, so treat them as directional. Measure your own: record no-shows for four weeks before and after turning reminders on, and compare by appointment type.

Stuck on this? Ask an engineer

Not ready for a call? Send one question about your setup. An engineer replies by email within one business day.

Want a second opinion on your setup?

A free 30-minute call with an engineer. A written read on your current setup, whether or not you hire us.