Fill tomorrow's empty GoHighLevel slots before they go to waste
Every weekday afternoon, we spot tomorrow's open appointment times, pick the warm leads worth calling in, and offer each one a personal note.
Every weekday at 2pm, check my GoHighLevel calendar for tomorrow's unbooked capacity and try to fill it before the day goes to waste.
Start by pulling tomorrow's availability. Use GoHighLevel Calendars: Get Calendars to find the booking calendar I use for client appointments, then Calendars: Get Free Slots for that calendar across tomorrow's date range in my local timezone. Count the genuinely open slots. If fewer than two slots are open, stop right there and send nothing at all, no messages and no Slack post. One stray gap is not worth pestering anyone over.
If there is meaningful empty capacity, find people worth offering it to. Use Contacts: Search Contacts to pull warm leads, meaning people who showed real interest but never booked: recent inquiries, form fills, and opportunities that stalled before a meeting was ever set. Then screen them before contacting anyone. Use Contacts: Get Appointments for Contact and skip anyone who already has an upcoming appointment, and use Contacts: Get All Notes to skip anyone carrying one of this workflow's outreach notes from the last seven days. Nobody should get pestered twice in the same week.
From whoever survives that screen, pick the handful who are the best fit for tomorrow's specific times, usually three to five people, not everyone who technically qualifies. Weigh how recently they engaged, what they originally asked about, and whether the open times plausibly suit them. Judgement matters more than volume here, and four well aimed notes beat twenty generic ones.
Message each person individually with Conversations: Send a new message. Offer two or three of the specific open times, and write every message from scratch in my voice, referencing what that person actually asked about. Vary the wording from person to person. These must not read as one template with the name swapped out, since some of these people know each other.
Log what was offered on each contact with Contacts: Create Note, recording the date, the exact times offered, and the channel used, so a later run can see it and skip them. If a note from this workflow already exists for the current week, update that one with Contacts: Update Note rather than stacking up a second.
Finish by posting a summary to Slack with the Slack Bot Send a Message action. Show which of tomorrow's slots are still open, who was contacted, and what times each person was offered, so whoever owns the calendar can see the remaining gaps and work them by hand if they want. Keep it short and scannable.
What does this prompt do?
- Checks tomorrow's booking calendar each weekday afternoon and works out how much of the day is still unsold.
- Finds warm leads who showed interest but never booked, skipping anyone already on the calendar or contacted in the last week.
- Sends each person a short, individually written note offering two or three of the specific times that are open.
- Posts a Slack summary showing which slots are still free, who was contacted, and what they were offered.
What do I need to use this?
- A GoHighLevel account with the calendar you take bookings on
- Contacts in GoHighLevel with a phone number or email so messages can actually reach them
- A Slack workspace where the daily summary should be posted
How can I customize it?
- Change when it runs or how far ahead it looks, for example checking two days out instead of one.
- Raise or lower the minimum number of open slots before it contacts anyone, and how many people it reaches per run.
- Adjust who counts as a warm lead, and how long someone stays off the list after being messaged.
FAQs
What happens if my calendar is already full?
Will everyone get the same copy-pasted message?
Could the same person get pestered over and over?
Does it book the appointment for them?
Can I review the messages before they go out?
Related templates
See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.
One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.
Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.
Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.
Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.
A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.
Stop letting tomorrow's open slots go unsold.
Put this to work and let your calendar quietly fill its own gaps every afternoon.