GoHighLevel round robin not distributing appointments evenly

Short answer
GoHighLevel round robin calendars either optimize for availability, where whoever's free gets the booking and higher-priority members come first, or for equal distribution, which counts bookings over the calendar month. One person getting everything usually means availability mode with uneven priorities, staff selection left on, settings that keep returning contacts to the same member, or one member with far more open time.
How to fix it
- Open the team members. Settings > Calendars > your round robin calendar > Meeting Details > Team Members.
- Switch to equal distribution. Optimize for Equal Distribution keeps anyone from getting more than three appointments ahead of another.
- Or match the priorities. In availability mode, medium-priority members only get bookings when no high-priority member is free.
- Turn off staff selection. With Allow Staff Selection on, the member the booker picks gets the appointment, whatever the distribution setting.
- Check the sticky settings. Always Book with Assigned User, and Automatically Assign a Contact's Future Appointments to the Same Team Member, keep sending returning contacts to one person.
- Even out availability. HighLevel says equal distribution works best when members have similar or overlapping availability.
- Check each member's own calendar. Busy events on a member's connected Google or Outlook calendar block their slots.
- Run the troubleshooter. The wrench on the calendar shows why each member's slots are or aren't open.
How to find the cause
First count who actually got the bookings, then work out why.
- Count bookings per person. Go to Calendars > Appointment List View. Filter by the calendar, this month's dates and Assigned user, one member at a time. Equal distribution counts by calendar month, so compare within one month.
- Look at who the bookings came from. If the lopsided bookings are mostly returning contacts, or contacts already assigned to that member, the settings that keep a contact with one person are doing it, not the rotation.
- Open the troubleshooter on a busy day. Click the wrench next to the calendar under Settings > Calendars > Calendar Settings, or Troubleshoot Calendar in the calendar editor. Pick a date and hover over an unavailable slot to see why it can't be booked.
- Check each member's conflict calendars. Under Settings > Calendars > Connections tab > Conflict Calendars, events marked Busy on a connected calendar block that member's slots; Free events don't.
| What you see | What it means | What to do |
|---|---|---|
| One member gets most bookings while others had open slots at the same times | Availability mode, with that member at a higher priority | Switch to equal distribution, or give everyone the same priority |
| The others have far fewer open slots | They're less available, and only free members can be booked | Even out working hours, or accept the imbalance |
| CONFLICT on slots a member thinks are free | A busy event on their connected Google or Outlook calendar | Check that member's conflict calendars |
| ROUND ROBIN on a member's slots | HighLevel's changelog says this marks a member held back by equal distribution after getting three ahead | Nothing: it's the setting working |
| Returning contacts always go to the same person | Always Book with Assigned User, or assigning a contact's future appointments to the same member, is on | Turn those off if every booking should rotate |
| Rescheduled appointments stay with one person | The reschedule preference is Keep Same Appointment Owner | Switch it to Reassign Through Round Robin |
In availability mode, priority decides who gets a slot when several members are free: High first, Medium only when no High member is free, Low as a last resort. One member set to High and the rest left at Medium can look exactly like a broken rotation.
The troubleshooter shows times in your time zone, not the contact's, so allow for that when you compare a slot with what a customer saw.
How to confirm it's fixed
- Book as new contacts. Use the public booking link and book three or four test appointments, each as a different new contact, choosing any available team member. Returning contacts follow the sticky settings, so they don't test the rotation.
- Check who got each one. In Appointment List View, filter by the calendar and by Assigned user.
- Know what a pass looks like. With equal distribution, each booking goes to whoever has the fewest this month, with ties broken by the team order, as long as they're free at that time. Nobody gets more than three ahead of anyone else in the same month.
- In availability mode instead. A pass is each booking going to the highest-priority member free at that time.
- Cancel the test bookings. HighLevel doesn't say whether cancelled appointments count toward the monthly tally, so keep tests few and check again at the end of the month with real bookings.
If the counts look wrong right after a change, remember that adding or removing a member, or switching modes, starts the counts again. Judge the new setting from that day forward.
Common questions
- Why did the counts reset?
- Adding or removing members, or switching modes, resets the monthly counts.
- Can I give one person more bookings on purpose?
- Yes: availability mode with that person at a higher priority.
- Can I see each member's count for the month?
- HighLevel doesn't document a count screen for round robin. Filter Appointment List View by the calendar, this month and each Assigned user in turn, and count.
- One team member never gets any bookings. Why?
- Check they're listed under the calendar's Team Members, that they aren't set to Low in availability mode, and that their slots aren't all blocked by a busy conflict calendar or missing hours. The troubleshooter shows which.
More calendar fixes
GoHighLevel Google Calendar sync not working
Linked calendars receive bookings; conflict calendars block time. Most sync problems are one of those two settings.
GoHighLevel calendar double booking or wrong availability
Double bookings: appointments per slot above 1, or outside events not set as busy conflicts. Wrong slots: hours, staff, buffers or time zones.
GoHighLevel appointment reminders going out at the wrong time
Usually the workflow's time zone, a fixed wait instead of one timed from the appointment, or calendar notifications sending a second copy.
GoHighLevel booking widget not loading on your website
Usually the embed code is in a text block instead of a code block, or the calendar has no bookable times, so the widget looks empty.
GoHighLevel appointment confirmations not sending
Usually the toggle is off for that notification type or channel, or bookings start unconfirmed so the confirmed message never fires.
GoHighLevel Zoom or Google Meet link missing from appointments
Each assigned user has to connect their own Zoom or Google account, the calendar has to use that location, and the message has to include it.
Related fixes
GoHighLevel leads not being assigned to users
Usually the trigger never ran, unassigned-only skipped contacts that had an owner, or the notification ran before the assignment.
Read the fix
Want GoHighLevel set up and running for you?
Book a free 15-minute call. Tell us what you sell and where your leads come from, new account or the one you have, and we'll tell you what we'd set up, how long it takes and what it costs.