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.
Integrations
GoHighLevel
Slack Bot
Type
Categories
- Sales
- Operations
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 it does
- 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 you’ll need
- 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 to 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.
Use cases
- Meeting Workflows
- Email Automation
- Notifications & Alerts