Short answer: GoHighLevel calendars can book a repeating series, but the series has a cap on how many repeats it creates, so it ends unless something books again. The workaround that holds up is a rolling window: after each completed visit, a workflow creates or offers the next one, and reminders run off each individual appointment. HighLevel's own ideas board shows open-ended recurrence as in progress, and that is a label, not a date.
What recurring booking does in GoHighLevel today
When a customer books a recurring appointment, the calendar creates a set of appointments at the interval you chose, such as weekly or every two weeks. The number of repeats is fixed at booking time, and there is a limit on how far ahead it goes. That is why the most-voted request on this topic is titled Indefinite Recurring Appointments (No limit on future recurrences).
This matters most for cleaning, lawn care, pool service, therapy-style sessions and memberships. A client who is on a standing Tuesday slot does not think of it as "a series of 12." They think of it as ongoing. When the twelfth visit passes and nobody rebooks, the slot quietly goes back into open inventory and you find out when the client texts asking why nobody showed up.
Why reminders for recurring meetings go wrong
One poster on r/gohighlevel this week asked how to automate reminders for recurring meetings. Their report was that GoHighLevel sends the confirmation email when the recurring appointment is first booked, and they were looking for a way to get reminders for the later visits. That matches a pattern we see often: the workflow is built around the booking event, and a series only has one booking event.
A reminder workflow that starts at booking and waits until 24 hours before the appointment will do that once, for the first visit. Later visits in the series may not trigger it the way you expect. We cannot promise how every account behaves, so the rule is to test it: create a series of three visits a few hours apart on a test contact and watch which ones send. If you see wrong times or repeats after a reschedule, our guides on reminders at the wrong time and duplicate text messages cover the usual causes.
The rolling-window workaround
Instead of trying to book a year of visits up front, book a short block and let a workflow refill it. Here is the pattern we build.
Tag the client. Add a tag like series-active and a custom field for the interval (weekly, biweekly) and the preferred day and time.
Trigger on the visit. Use the Appointment trigger, filtered to your calendar and the Showed status. You can also use a wait step until the appointment end time if your team does not update statuses.
Check the rule. An If/Else step confirms the tag is still on the contact. If it is gone (the client paused or cancelled service), the workflow stops.
Create or offer the next visit. The simple version texts the client a booking link for the next slot. The stronger version books it for them, using a webhook action that calls the HighLevel API's create appointment endpoint for the same calendar, interval and time.
Confirm it. Send one text saying the next visit is booked, with a reply option to move it.
The client always has visits ahead of them, and the series length stops being your problem. If the slot is taken, the workflow should fall back to the booking link rather than fail silently, and it should create a task for a person.
Reminders and no-shows for a series
Build the reminder workflow off the appointment itself, not off the series. The trigger is a booked appointment on that calendar, and the wait step is set relative to that appointment's start time (24 hours before, then two hours before). Then test with a three-visit series and a reschedule of the middle visit, because that is where old and new reminders tend to overlap.
For no-shows, decide the rule before you build it. A standing client who misses one visit usually wants a friendly text, not a cancellation.
Business
Default rule after a no-show
Why
Cleaning, lawn care
Keep the series, text a reschedule link, task to the office
The visit is tied to a location and crew route, so someone needs to look
Therapy-style sessions
Pause the series after two misses in a row
The slot is scarce and a clinician should decide
Memberships, classes
Keep the series, no message
Attendance is the member's choice and the slot is not exclusive
These are starting points, not laws. What matters is that a person picked the rule and the workflow follows it.
One small thing that cuts no-shows across a series: put the appointment's own reschedule and cancel links in every reminder, so a client who cannot make one visit moves it instead of skipping it and the rolling window keeps refilling.
What to do when native open-ended recurrence ships
On the ideas board the request shows in progress with 612 votes and 110 comments as of 2026-09-28. "In progress" is HighLevel's label. It is not a delivery date, and we are not predicting one.
When it does ship, keep the parts of this setup that are about your business: the series tag, the no-show rules, the reminder workflow keyed to each appointment, and the task for a person when a slot conflicts. Retire only the step that creates the next appointment, and run the new feature next to the old workflow on a couple of test contacts before you switch clients over, so nobody gets booked twice.
What we would do first
We would build the reminder workflow off the appointment and test it on a three-visit series before touching anything else, because broken reminders cost you money sooner than a series that ends. Then we would add the rolling window. Our Reminder and No-Show Rescue starts at $950 and covers the reminder and no-show rules. If you also want the rebooking workflow, that is part of our GoHighLevel automation work, scoped at a fixed price.
Certified GoHighLevel Admin and Partner. Koby designs CRM migrations, two-way integrations, billing systems and AI agents for service businesses, and writes from the engagements described on this site.
Published
Frequently asked
Can GoHighLevel do recurring appointments?
Yes, a calendar can book a repeating series for a customer, such as weekly or every two weeks. The series is created with a set number of repeats, so it does not run forever. For open-ended clients you need a rebooking step to keep the calendar filled.
Why are my recurring appointment reminders not sending?
A common cause is a reminder workflow that fires once, when the series is first booked, instead of once per visit. Check that your reminder workflow uses a wait step relative to each appointment time, then test with a series of three visits a few hours apart. If only the first visit reminds, rebuild the reminder off the appointment itself, not the booking event.
How do I make a weekly appointment repeat forever in GoHighLevel?
Today the practical answer is a rolling window. Book a short series, then let a workflow create or offer the next visit each time one is completed. That way the calendar always has upcoming visits and the series never ends silently.
What happens to a recurring series when the customer no-shows?
GoHighLevel marks that one appointment with a status such as no show, and the rest of the series stays on the calendar unless you cancel it. Decide in a workflow whether a no-show pauses the series, sends a reschedule text, or creates a task for your staff.
Keep reading
Speed to lead automation: a five-minute response system you can build in GoHighLevel
How to build a speed to lead system in GoHighLevel that texts, calls, assigns and escalates every new lead inside five minutes, with the exact triggers, wait steps and conditions.
Learn more
Can GoHighLevel Send Automatic Messages to New Instagram Followers?
There is no GoHighLevel trigger for a new Instagram follower, and Meta limits who a business can message first. Here is the workflow that works today.
Learn more
Database reactivation in GoHighLevel: turning thousands of old leads into booked appointments
You have 2,000 or 20,000 old leads sitting in a CRM. How to import them without duplicates, message them differently from new leads, let AI qualify the replies, and route the live ones to a pipeline your team works.
Learn more
Is this happening in your account?
Book a 30-minute call. We look at the account live and tell you what is broken, what we would fix first and what it would cost.