GoHighLevel Appointment Reminder Workflow: Before & After
Build a GoHighLevel appointment reminder workflow that cuts no-shows: triggers, wait steps, cancel checks and a before-and-after setup walkthrough.
· GoHighLevel · Automation · Small Business · Workflows
GoHighLevel Appointment Reminder Workflow: Before & After
A GoHighLevel appointment reminder workflow is the cheapest fix most service businesses never finish. You already pay for the calendar. You already have the contact's phone and email. Yet people still forget, still turn up on the wrong day, or still cancel by simply not showing. This guide walks through a before-and-after picture of the same booking system: the messy "we send a reminder sometimes" version, and the clean version where GoHighLevel confirms, reminds, handles cancellations and follows up on no-shows by itself. You will get the exact triggers, the wait settings, the checks that stop wrong messages, and a checklist you can copy.
I build these systems for small businesses and agencies. The story below is a typical, made-up scenario that blends problems I see over and over in setups. It is not a client, and there are no invented results in it. The settings and features come from GoHighLevel's own help documentation, linked in the sources at the end.
TL;DR
- A GoHighLevel appointment reminder workflow uses a booking trigger, then Wait steps set to "An upcoming appointment or booking", so each reminder fires relative to the appointment time, not the booking time.
- Use the Appointment Status trigger (New or Confirmed) for reminders, and separate workflows for Cancelled and No-show statuses.
- Before every reminder, check the appointment is still active, or pick the Wait option that skips outbound messages when the date has passed.
- Keep calendar notifications and workflow reminders from doubling up. Pick one place to own each message.
- Add a no-show recovery path and a short post-visit follow-up. That is where the "after" picture really pays off.
- Want it built and tested for you? DM me "audit" or visit yousufmesalm.com.
Key definitions
GoHighLevel (HighLevel): An all-in-one CRM and marketing platform used by small businesses and agencies. It includes calendars, a conversations inbox, pipelines and a workflow builder.
Workflow: An automation in GoHighLevel's Automation tab. It starts with a trigger and runs actions one after another.
Trigger: The event that enrolls a contact into a workflow. For reminders, the main ones are Appointment Status and Customer Booked Appointment.
Wait action: A step that pauses the workflow. The "An upcoming appointment or booking" option pauses until a set time before, at, or after the appointment.
Appointment status: The state of a booking. GoHighLevel's Appointment Status trigger supports New, Confirmed, Cancelled, Showed, No-show and Invalid.
Calendar notifications: Built-in messages set on the calendar itself (booked, cancelled, rescheduled, reminder, follow-up), separate from workflows.
No-show: A booked appointment the client does not attend.
What is a GoHighLevel appointment reminder workflow?
A GoHighLevel appointment reminder workflow is an automation that starts when someone books, then sends confirmation and reminder messages at set times before the appointment. It uses an Appointment Status or Customer Booked Appointment trigger, Wait steps tied to the appointment time, and SMS or email actions, with checks so cancelled bookings get no reminders.
Think of it as a polite assistant who never forgets. The moment a booking lands, it says "you're booked". A day before, it says "see you tomorrow". An hour before, it gives the address or meeting link. If the client cancels, it stops talking about the appointment and offers a new time instead.
The important word is workflow. GoHighLevel also has built-in calendar notifications, and for some simple businesses those are enough. A workflow gives you more control: different messages for different calendars, internal alerts for your team, branching when something changes, and follow-ups after the visit.
The "before" picture: what does a broken reminder setup look like?
A broken reminder setup usually means reminders that fire at the wrong time, reach people who already cancelled, or never send at all. It often has duplicate messages from both calendar notifications and workflows, no plan for no-shows, and nobody on the team who knows which automation is sending what.
Here is the made-up scenario. Picture a small home-services company with three technicians and one office manager. They moved to GoHighLevel six months ago. The booking calendar works. Leads book online. On paper, everything is automated.
In practice, this is what happens in a normal week:
- The 23-hour problem. Someone built the reminder as "wait 23 hours, then send a text". That counts from the moment of booking, not from the appointment. A client who books two weeks ahead gets a "see you tomorrow" message thirteen days early. A client who books for this afternoon gets their reminder tomorrow, after the visit.
- Ghost reminders. A client cancels on Monday. On Wednesday they still get "Reminder: your appointment is tomorrow at 10." They call the office, confused and a bit annoyed.
- Double messages. The calendar's own reminder notification is on, and the workflow also sends a reminder. Clients get two near-identical texts within minutes.
- Silence after a no-show. When someone does not show, nothing happens. The technician drives back, the slot is wasted, and nobody follows up. The lead quietly goes cold.
- Nobody owns it. The office manager is not sure which workflow sends which message. Changing a single sentence means opening five workflows to find it.
None of this is dramatic. That is exactly why it survives for months. Each issue looks small. Together, they make the business look disorganised and leak booked revenue every week.
Why do appointment reminders matter for a small business?
Appointment reminders matter because a booked slot that goes empty is time you cannot sell again. A reminder helps the client remember, gives them an easy way to reschedule instead of vanishing, and lets your team plan the day. GoHighLevel itself lists reduced no-shows and better follow-ups as core benefits of its appointment triggers.
I will not quote a magic "no-shows drop by X%" number here, because it depends on your industry, your clients and your messages. What I can say from building these systems is simple: when a reminder is clear, arrives at a sensible time, and includes a one-tap way to reschedule, the conversation changes. People who would have disappeared now reply "can we move it to Thursday?" A moved appointment is far better than a lost one.
There is also a quieter benefit. Your team stops doing manual reminder calls. That time goes back to serving clients, quoting jobs and answering real questions.
Which GoHighLevel trigger should start your reminder workflow?
For most businesses, the Appointment Status trigger filtered to New or Confirmed is the best starting point, because it fires for any booking whether the client booked online or your team added it. Customer Booked Appointment only fires when the customer books themselves through a booking link, and it does not support recurring appointments.
Here is how the two compare, based on GoHighLevel's help articles:
| Trigger | Fires when | Good for | Watch out for |
|---|---|---|---|
| Appointment Status | An appointment is created or its status changes (New, Confirmed, Cancelled, Showed, No-show, Invalid) | Reminders for all bookings, cancellation and no-show workflows | Choose the right status filter, or one workflow will catch everything |
| Customer Booked Appointment | A customer books via a booking link without team involvement | Self-serve booking flows, online booking campaigns | Regular appointments only, not recurring ones; staff-created bookings do not trigger it |
The Appointment Status trigger also has two settings worth knowing:
- Event Type filter: Any, Normal (non-recurring) or Recurring. If you run weekly sessions, decide whether recurring bookings get the same reminders.
- Enrollment: Contact only (the default), Contact and Guests, or Guests only. For group bookings, "Contact and Guests" means each attendee runs through the workflow separately.
You can also filter by calendar. Use that. A sales call and an on-site visit need very different reminder messages.
How do Wait steps time reminders before the appointment?
In GoHighLevel, the Wait action has an option called "An upcoming appointment or booking". You pick Appointment / Calendar Event, then choose Before, At the scheduled time, or After, and set the offset in days, hours and minutes. Each wait resolves against that contact's appointment time, so every booking gets reminders at the right moment.
This one setting fixes the "23-hour problem" from the before picture. Instead of counting from when the workflow started, the workflow sleeps until, say, 24 hours before the appointment start.
The Wait step also asks: "If this date has already passed". Your choices, per GoHighLevel's documentation, are:
- Continue to next action
- Go to specific step
- Exit contact from automation
- Skip all outbound communication actions till next wait or event start date action
The last option is the hidden hero. Imagine someone books at 3 pm for 5 pm the same day. The "24 hours before" moment is already in the past. With the skip option, the workflow quietly skips the 24-hour reminder and moves on to the next wait (for example, "1 hour before"), instead of firing a confusing "see you tomorrow" message.
Other Wait types exist too: a set period of time, a specific date and time, a recurring schedule, and more. For reminders, the appointment-based wait is the one you want.
The "after" picture: what does a clean reminder system look like?
A clean reminder system is a small set of clearly named workflows, each with one job: confirm and remind, handle cancellations, recover no-shows, and follow up after the visit. Every reminder is timed from the appointment, checked against the current status, and written once, so changing a message takes one edit.
Back to our made-up home-services company. Here is the same week, rebuilt:
- Booking: The client books. Within a minute they get a confirmation with the date, time, address and a reschedule link.
- 24 hours before: A short reminder arrives at a sensible hour with a "reply C to confirm or use this link to reschedule" line.
- 1 hour before: For on-site jobs, the client gets a heads-up. The technician gets an internal notification with the job details.
- Cancellation: The client cancels on Monday. Their reminders stop. Instead they get one message offering to rebook.
- No-show: If the technician marks the job as No-show, the client gets a friendly "we missed you" message with a link to pick a new time, and the office manager gets a task to call if there is no reply.
- After the visit: Status set to Showed triggers a thank-you and, a few days later, a review request.
The workflows are named like this:
APPT | Confirm + Reminders | On-site visitsAPPT | Cancelled | Rebook offerAPPT | No-show | RecoveryAPPT | Showed | Thank you + review
Anyone on the team can open the Workflows list and understand what runs. That clarity is half the value.
How do you build a GoHighLevel appointment reminder workflow step by step?
Create a workflow with the Appointment Status trigger filtered to your calendar and the New or Confirmed status, send a confirmation, then add appointment-based Wait steps for 24 hours and 1 hour before, each followed by a reminder. Add cancellation and no-show workflows, test with a real booking, then publish.
Below is the setup breakdown I follow. Menu names can shift a little as GoHighLevel updates its interface, but the building blocks are documented.
Step 1: Decide where each message lives
Before touching the builder, write a tiny table: message, channel, timing, owner. For example:
| Message | Channel | Timing | Lives in |
|---|---|---|---|
| Booking confirmation | Email + SMS | Immediately | Workflow 1 |
| Reminder | SMS | 24 hours before | Workflow 1 |
| Reminder | SMS | 1 hour before | Workflow 1 |
| Rebook offer | SMS | On cancellation | Workflow 2 |
| We missed you | SMS + Email | On no-show | Workflow 3 |
| Thank you + review | After Showed | Workflow 4 |
Then open each calendar's notification settings and switch off anything that duplicates this table. GoHighLevel calendars have their own notification types (booked unconfirmed, booked confirmed, cancellation, reschedule, reminder, follow-up). If the calendar's reminder is on and your workflow also reminds, clients get both.
There is one good reason to keep a calendar notification: GoHighLevel notes that applicable calendar notification emails can bypass email DND so important appointment information still arrives, while marketing emails still honour DND. If you rely on email for critical details, test how your setup behaves before you switch the calendar email off.
Step 2: Start from the recipe (optional)
GoHighLevel offers a workflow recipe called Appointment Confirmation + Reminder. In Automation, create a workflow, choose Recipe, and pick it. It is a fine starting skeleton. Rename it, change the messages, and check every wait step against the steps below. Do not publish a recipe without reading every action.
Step 3: Add the trigger
- Go to Automation → Workflows → Create Workflow.
- Click Add New Trigger and choose Appointment Status.
- Name it clearly, for example "On-site visit booked".
- Add filters: the specific calendar, and Appointment Status is New (or Confirmed, if you only remind confirmed bookings).
- Choose the enrollment: Contact only for one-to-one bookings, Contact and Guests for group bookings.
- Decide on the Event Type filter if you run recurring appointments.
Step 4: Send the confirmation
Add an SMS action, an Email action, or both. Use appointment merge fields for the date, time, location and links. GoHighLevel supports fields such as {{appointment.reschedule_link}} and {{appointment.cancellation_link}}. Its documentation notes that these come out blank if the message is not connected to an appointment, which is another reason to trigger from an appointment event rather than a tag.
If you use a video meeting location, send yourself a test booking and check that the meeting link actually appears in the confirmation. If it comes out empty, a short Wait (a minute or two) before the first message gives the booking data time to settle. It is a tiny step that prevents a confirmation with a blank link.
Step 5: Add the 24-hour reminder
- Add a Wait action.
- Choose An upcoming appointment or booking → Appointment / Calendar Event.
- Set Before, 1 day (or 24 hours).
- Under "If this date has already passed", choose Skip all outbound communication actions till next wait or event start date action.
- Add the reminder message after the wait.
Step 6: Add a status check before each reminder
This is the step that kills ghost reminders. Right before each reminder, add an If/Else branch that checks the appointment is still active (for example, status is not Cancelled or Invalid). If it fails, end the branch.
As a second safety net, build Workflow 2 (cancellations) so that when the status becomes Cancelled, it removes the contact from the reminder workflow. Belt and braces: one check inside, one removal from outside.
Step 7: Add the 1-hour reminder
Repeat Step 5 with Before, 1 hour, then the status check, then the message. For on-site work, this is a good place to add an internal notification to the assigned team member as well.
Step 8: Build the cancellation workflow
- New workflow, trigger Appointment Status, filter Cancelled, same calendar.
- Remove the contact from the reminder workflow.
- Send one short message: "No problem, here's a link to pick a new time."
- Optionally create a task for your team if they do not rebook within a couple of days.
Keep it to one message. Nobody wants a guilt-trip sequence after cancelling.
Step 9: Build the no-show recovery workflow
- New workflow, trigger Appointment Status, filter No-show.
- Wait a short, human amount of time (for example, 30 minutes).
- Send a friendly "We missed you today. Want to pick a new time?" message with the booking link.
- Wait a day. If there is still no reply, create a task for a team member to call.
This only works if your team actually marks no-shows. Make it part of the end-of-day routine, or it never fires.
Step 10: Build the post-visit follow-up
- Trigger Appointment Status, filter Showed.
- Send a thank-you message.
- Wait a few days, then ask for a review or offer the next booking.
Calendar notifications also include a follow-up type you can time after the appointment. Again, pick one home for it.
Step 11: Test like a client
Book a real test appointment with your own phone and email for about 25 hours from now. Watch every message arrive. Then book another one for 30 minutes from now and confirm the 24-hour reminder is skipped. Cancel one test booking and confirm the reminders stop. Mark one as No-show and confirm the recovery message lands. Only then publish all four workflows.
Step 12: Check workflow settings
Look at the workflow settings for re-entry. If a client can book more than once, they need to be able to enter the reminder workflow again for each new booking. Also confirm the time zone on the calendar and the business profile, so "10 am" means the same 10 am for you and the client.
What should your reminder messages say?
A good reminder says who it is from, what the appointment is, when and where it is, and how to change it, in two or three short lines. It sounds like a person, not a system. It gives one clear action, such as replying to confirm or tapping a reschedule link, and never pushes a sales offer.
Here are simple templates you can adapt. Replace the brackets with your merge fields.
Confirmation:
Hi [first name], you're booked with [business] on [date] at [time]. Address: [location]. Need to change it? [reschedule link]
24 hours before:
Hi [first name], quick reminder: [service] tomorrow at [time]. Reply C to confirm, or reschedule here: [reschedule link]
1 hour before:
See you in an hour, [first name]. [Technician name] is on the way to [location].
Cancellation:
No problem, [first name]. Your appointment is cancelled. When you're ready, pick a new time here: [booking link]
No-show:
Hi [first name], we missed you today. No stress. Want to grab another time? [booking link]
A few rules I follow when writing these:
- Short beats clever. People read reminders on a lock screen.
- Name the business in the first line. An unknown number with no name looks like spam.
- One link per message. More links mean more confusion.
- No marketing in reminders. A reminder that turns into a promotion trains people to ignore your reminders.
- Respect quiet hours. If a reminder would land late at night, move it earlier.
Which channel works best: SMS, email or both?
For most small businesses, SMS works best for short time-sensitive reminders, and email works best for confirmations with details like addresses, preparation notes and links. Using both for the confirmation and SMS for the day-before and hour-before reminders is a sensible default. GoHighLevel calendar notifications support email, in-app, SMS and other messaging channels.
A few practical points:
- SMS costs money per message in GoHighLevel, through its phone system. Two or three reminders per booking is usually fine; ten is not. My GoHighLevel pricing breakdown explains how usage charges add up.
- Email is better for detail. Parking instructions, what to bring, a map link.
- Consent matters. Only text people who have agreed to receive messages, and follow your local rules. Your booking form should make that clear.
- Internal alerts count too. The team member doing the appointment should get a notification, not just the client.
How does this compare to Zapier or HubSpot reminders?
If your bookings already live in GoHighLevel, native workflows are simpler and cheaper than adding Zapier. Zapier's Delay Until step can hold a Zap until a set time, but it caps delays at about one month and only runs if the Zap stays on. HubSpot's meetings tool allows up to three reminder emails per scheduling page.
Here is a plain comparison based on each vendor's documentation:
| GoHighLevel workflows | Zapier with Delay | HubSpot meetings reminders | |
|---|---|---|---|
| Timing relative to appointment | Yes, Wait "An upcoming appointment or booking" | Yes, Delay Until with a mapped date/time | Yes, set weeks/days/hours/minutes before |
| How many reminders | As many as you add | As many steps as you add | Up to three reminder emails |
| Handles cancellations | Status trigger + checks | You build it with extra Zaps or filters | Depends on your setup |
| Extra cost | Messaging usage | Zapier tasks for actions (Delay itself does not count as a task) | Included with meetings tool; customising text needs a Sales or Service seat |
| Limits to know | Re-entry, time zones | Max hold of 30 days; Zap must be on; past dates release depending on your setting | Reminders go to invitees on the original booking |
When Zapier makes sense: your bookings live in another tool (say, a dedicated scheduling app) and you want reminders sent from a different system. Watch the 30-day limit. A booking made five weeks ahead will not hold in a single Delay step. Zapier's help also notes that a Delay Until value in the past releases immediately, so map your dates carefully. I cover more Zapier gotchas in my Zapier audit checklist.
When HubSpot makes sense: your sales team books meetings from HubSpot and you mainly need email reminders. HubSpot's docs note reminder emails are sent from the organiser's email address and only to the contacts on the invite at the time of booking. If you are weighing a move between the two platforms, see my HubSpot to GoHighLevel migration opinions.
When n8n makes sense: you need custom logic across several systems, want to self-host, or need detailed error handling. You can see how I think about reliability in the n8n reliability demo.
For a wider view, read GoHighLevel vs Zapier for small business.
What are the most common reminder workflow mistakes?
The most common mistakes are timing reminders from the booking instead of the appointment, sending reminders after a cancellation, duplicating calendar notifications and workflow messages, forgetting time zones and re-entry settings, and having no plan for no-shows. Each one is quick to fix once you know where to look.
Here is my opinionated list, from most to least painful:
- Plain time delays. "Wait 23 hours" is not a reminder. Use the appointment-based wait.
- No cancellation check. Ghost reminders make you look careless. Add the If/Else check and the removal workflow.
- Two systems talking at once. Calendar reminders plus workflow reminders equals double texts. Decide on one owner per message.
- Wrong trigger. Using Customer Booked Appointment and then wondering why staff-created bookings get no reminders.
- Catch-all status filter. An Appointment Status trigger without a status filter fires on every change. Your "reminder" workflow then runs on cancellations too.
- Time zone mismatch. The calendar is set to one zone and the account to another. Reminders arrive an hour off.
- Re-entry off. Repeat clients never get reminders after their first visit.
- Nobody marks no-shows. The recovery workflow exists but never fires.
- Untested links. A blank reschedule link is worse than none. Test with a real booking.
- Messy names. "Workflow copy (3)" helps nobody. Name by purpose.
How do you measure if your reminder workflow is working?
Measure it with simple weekly numbers from your own calendar: how many appointments were booked, how many were cancelled or rescheduled in advance, how many were marked No-show, and how many no-shows rebooked. Compare a few weeks before the change with a few weeks after. Also check workflow execution logs for errors.
You do not need a fancy dashboard to start. A simple weekly note works:
- Booked this week
- Cancelled or rescheduled ahead of time
- No-shows
- No-shows who rebooked
- Messages that failed to send (check the workflow's execution history)
The shape you want to see is more advance reschedules and fewer silent no-shows. A cancellation two days ahead is a good outcome: you can refill the slot. A no-show is the expensive one.
Two cautions. First, give it a few weeks; one week is noise. Second, if your team does not mark statuses consistently, your numbers will lie. Fix the habit before trusting the report.
Before and after: the full comparison
Here is the whole picture on one page, using our made-up home-services company.
| Before | After | |
|---|---|---|
| Reminder timing | "Wait 23 hours" from booking | Wait until 24h and 1h before the appointment |
| Same-day bookings | Get a "tomorrow" reminder after the visit | 24h reminder skipped automatically |
| Cancellations | Still get reminders | Reminders stop; one rebook offer |
| Duplicate messages | Calendar + workflow both send | One owner per message |
| No-shows | Nothing happens | Friendly recovery + team task |
| After the visit | Nothing | Thank you + review request |
| Team clarity | Five unnamed workflows | Four workflows named by purpose |
| Changing a message | Hunt through workflows | One edit in one place |
Notice what did not change: the calendar, the booking page, the contact list. The "after" version uses features the business already had. That is the point of this kind of work. It is rarely about buying something new. It is about wiring what you have properly.
Checklist: your GoHighLevel appointment reminder workflow
Copy this into your task tool and tick items off:
- List every appointment message, its channel, its timing and which system sends it
- Turn off calendar notifications that duplicate workflow messages
- Use the Appointment Status trigger, filtered by calendar and status
- Send a confirmation with date, time, location and reschedule link
- Check meeting links appear in a test confirmation
- Add a Wait "An upcoming appointment or booking", 24 hours before
- Set "if date has passed" to skip outbound messages
- Add a status check before each reminder
- Add a 1-hour-before reminder and a team notification
- Build the Cancelled workflow: remove from reminders, send one rebook offer
- Build the No-show workflow: friendly message, then a team task
- Build the Showed workflow: thank you, then review request
- Check re-entry and time zone settings
- Test with real bookings: far ahead, same day, cancelled, no-show
- Name every workflow by purpose
- Review weekly numbers for a month
FAQ
Does GoHighLevel have built-in appointment reminders?
Yes. GoHighLevel calendars have built-in notifications, including reminder and follow-up types timed around the appointment, sent by email and other channels. Workflows give more control, such as branching, team tasks and no-show recovery. Use one or the other for each message to avoid duplicates.
Which trigger should I use for appointment reminders in GoHighLevel?
Use the Appointment Status trigger filtered to your calendar and the New or Confirmed status. It fires for bookings made by clients and by your team. Customer Booked Appointment only fires when a customer books through a booking link, and it does not support recurring appointments.
How do I stop reminders going out after a client cancels?
Add an If/Else check before each reminder so only active appointments get messages, and build a separate Appointment Status workflow for the Cancelled status that removes the contact from the reminder workflow. Test it by cancelling a real test booking.
What happens if someone books less than 24 hours ahead?
The 24-hour Wait date is already in the past. In the Wait step, choose "Skip all outbound communication actions till next wait or event start date action". The workflow then skips that reminder and continues to the next wait, such as the 1-hour reminder.
How many reminders should I send per appointment?
For most businesses, a confirmation plus two reminders (about a day before and an hour before) is enough. More messages add cost and annoyance. For bookings made weeks ahead, an extra reminder a few days before can help. Test what suits your clients.
Can I use Zapier for appointment reminders instead?
Yes, with the Delay Until step mapped to the appointment time. It works best when bookings live outside GoHighLevel. Zapier holds delays for a maximum of 30 days, and the Zap must stay on for delayed steps to run. If your calendar is in GoHighLevel, native workflows are simpler.
Do reminder workflows work for agencies managing client accounts?
Yes. Agencies often build a clean reminder setup once, then reuse it across client sub-accounts with each client's calendars, messages and time zone. Name workflows consistently so every account looks the same, and test each account with a real booking before handing it over.
What should I do about no-shows?
Build a No-show workflow: wait a short time, send a friendly message with a booking link, and if there is no reply, create a task for your team to call. It only works if your team marks no-shows in the calendar, so make that part of the daily routine.
Want your reminder system built and tested?
If your reminders fire at odd times, reach people who cancelled, or simply do not exist yet, I can help. I set up and test GoHighLevel, Zapier, n8n and HubSpot automations for small businesses and agencies, using the tools you already pay for.
Start here: DM me the word "audit" on LinkedIn, or visit yousufmesalm.com. I will look at your booking flow and tell you what to fix first.
See working demos (these are demos, not client projects):
Packages:
- $399: WhatsApp booking bot, delivered in 7 days
- $599: WhatsApp AI + GoHighLevel or HubSpot integration, delivered in 14 days
- $899: Full automation system
Care plans to keep everything running after launch: $80, $130 or $200 per month.
Related reading:
- Lead response time: why fast replies win deals
- GoHighLevel Social Planner workflows for agencies
- GoHighLevel pricing 2026: the real monthly cost
Sources
- HighLevel Support: Workflow Trigger - Appointment Status
- HighLevel Support: Workflow Trigger - Customer Booked Appointment
- HighLevel Support: Workflow Wait Action Setup and Options
- HighLevel Support: Calendars & Services: SMS, Email & In-App Notifications
- HighLevel Support: How to Set Up a Booking Calendar in HighLevel
- Zapier Help: Add delays to Zap workflows
- Zapier Help: Common Problems with Delay
- HubSpot Knowledge Base: Create scheduling pages with the meetings tool
- HubSpot Knowledge Base: Turn on meeting reminders by default