Guide · Staff & services
Any available staff assignment in Microsoft Bookings
Last updated 7 min read8 sources
Microsoft Bookings can assign each booking to whichever staff member is free, so customers pick a time instead of a person. That's the closest thing Bookings has to round-robin, and it's useful for sales demo teams, advice desks and support rotas. This guide shows how to turn it on, explains what Microsoft says about how staff are chosen (and where users see something different), and covers practical ways to spread appointments more evenly with the settings that exist today. Allow about 20 minutes per service.
How assignment works today#
There are two situations where Bookings chooses the staff member for the customer:
- The service doesn't let customers choose a staff member.
- It does, but the customer picks Anyone.
Microsoft's Bookings FAQ describes both cases: "Staff are assigned randomly in these scenarios, out of all staff members available at the time of the appointment being booked." It then adds two limits that matter for any team trying to share work fairly:
Currently there's no way to ensure equal distribution of randomly assigned appointments across all members of the staff, or to cap the number of assigned appointments to each staff member.
The FAQ's suggested fix is manual: rebalance in the Calendar tab after the fact.
There's a known conflict here. Several community threads on Microsoft Q&A, including one where users say "the first person is always assigned" (thread 5054689 (opens in a new tab)) and another asking what the allocation algorithm is (thread 5068211 (opens in a new tab)), report assignment that looks alphabetical. When several people are free, the person highest on the staff list gets the booking. Microsoft's documentation says "randomly". We haven't found a Microsoft statement resolving the difference, so treat the exact behaviour as unconfirmed. Check it against your own data using the monitoring step below. Either way, don't expect an even split.
Step 1: Turn on automatic assignment#
You set this per service. Open Bookings, pick the page under Shared booking pages, select Services, and edit the service.
Option A: customers never choose a person#
- Go to the Assign staff page of the service editor.
- Select the staff who can deliver the service.
- Choose Assign any of your selected staff for an appointment. This books a single person. Don't choose Multiple staff, which books everyone assigned and needs all of them free at once.
- Turn off Allow customers to choose a particular staff for booking.
- Select Save changes.
The FAQ says the same option exists on the Booking page (where it's worded "Allow customers to choose a specific person for the booking"). Changing it there sets the page-wide default. The service-level setting is the one to check if a particular service behaves differently.
With this option off, the staff picker disappears for that service and the customer only picks a slot. A slot is offered if at least one assigned staff member is free.
Option B: customers may choose, with "Anyone" as the default path#
Leave Allow customers to choose a particular staff for booking on. Customers see the staff list and an Anyone option. This suits teams where repeat customers want the same adviser but new customers don't care who they see.
The catch: while staff selection is on, you can't remove Anyone. Community answers and reviews consistently report this, and there's no setting for it in the docs. If "Anyone" is a problem, see removing the Anyone option.
Step 2: Make sure the whole pool is really available#
Assignment only considers people Bookings believes are free. If someone never gets bookings, check this before blaming the assignment logic.
- Events on Microsoft 365 calendar affect availability should be on for each staff member (it's on by default). Microsoft's pages also call it "Events on calendar affect availability" or use "Office 365" in the name. With it on, Outlook meetings block Bookings slots, which prevents double-booking.
- Each person must share free/busy with the organization: Outlook → Share → Calendar → People inside your organization → Can view when I'm busy.
- Use business hours vs custom hours. Unticking it lets you give someone specific days and hours. A day with no hours means they're never offered that day.
- Staff approval. If your admin requires staff to approve before sharing free/busy, people who haven't accepted the invitation aren't bookable.
- External staff added by email can be assigned bookings, but Bookings can't read their calendars. They'll look free even when they're not.
Staff member not bookable walks through the full checklist.
Step 3: Shape the load with the settings you have#
You can't set a quota, but you can control who is in the pool at any moment. That goes a long way.
Use staff hours as your main lever#
Assignment only happens among people free at the chosen time, so hours are the most direct control. If a senior consultant should take roughly half the load of a junior one, give them fewer bookable hours per week in Staff (untick Use business hours, then set the days and times). Split shifts are allowed, so "mornings only on Tuesday and Thursday" is easy to express.
Keep each service's staff list deliberate#
A service's pool is exactly the people ticked on its Assign staff page. Common patterns:
- Put new hires on the simpler services only, then add them to others as they ramp up.
- Remove someone from a service temporarily (for example during a project) instead of hoping assignment skips them.
- Keep specialists off general "intro call" services so their time goes to the work only they can do.
Split services by team or region#
If "fair" means "fair within each team", create one service per team, for example "Demo (UK)" and "Demo (US)", each with its own staff list. Each service has its own link (find it on the service's details), so your website, ads or email campaigns can send each audience to the right pool. Customers who reach the main page see all services unless you hide some with Publishing options.
Let people close their own availability#
Because Outlook events affect availability, a staff member who has had a heavy week can block time in their own Outlook calendar and drop out of the pool for those hours. It's a manual cap, but it works without admin changes. For planned absences, use Add time off in the Bookings Calendar, or a date range set to Not bookable on a service.
Rebalance by hand when needed#
Microsoft's own suggestion is to reassign bookings manually in the Calendar tab of the booking page. If the customer was expecting a particular person, let them know about the change yourself rather than relying on an automatic email.
Step 4: Check the distribution every few weeks#
Bookings has no built-in report of bookings per staff member, but the export gives you what you need.
- On the Bookings home page, select Export, pick a date range and export. The file is tab-separated and covers up to four months per export. Microsoft's FAQ says only Administrator-role staff can download it.
- Open it in Excel and build a PivotTable with Staff in rows and a count of Booking ID or Date & Time in values. Add Service as a filter.
- Compare the split with what you intended, and adjust hours or staff lists.
Our Excel reporting guide covers the import, clean-up and useful pivots in detail. If one person consistently gets far more "Anyone" bookings than the others with similar hours, that matches the alphabetical pattern users report. Reordering who is on which service, or narrowing that person's hours, is the practical fix.
What you can't do natively (as of September 2026)#
- True round-robin (next person in turn), weighted distribution, or priority order.
- A cap on bookings per staff member per day or week. The FAQ says this directly.
- Leaving bookings unassigned for a coordinator to assign later.
- Routing to a person based on a customer's answers, such as company size or region.
- Preselecting a staff member through the page URL. There's no documented parameter; see links to specific staff.
Microsoft's public roadmap had no Bookings items in September 2026, so don't plan around these appearing soon. If fair distribution is a hard requirement, for example because of commission, dedicated scheduling tools that include round-robin may suit you better. The alternatives overview compares them. For many teams, though, careful hours, per-team services and a monthly check of the export get close enough.
Doing this with BookingsXP#
BookingsXP doesn't add round-robin or any assignment logic. Bookings made through the widget follow the same staff rules you set in Microsoft Bookings. What it can help with is page-level targeting: the widget's service and staff attributes preselect a service or staff member, so a regional landing page can open straight on "Demo (UK)", or an account manager's page can open on their own calendar. See embed options. BookingsXP is independent and not affiliated with or endorsed by Microsoft.
Questions people also ask
Sources
- Microsoft Learn: Bookings faq (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Define service offerings (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Add staff (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Staff availability (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Configure service availability (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Reporting info (opens in a new tab) · learn.microsoft.com
- Microsoft Learn (opens in a new tab) · learn.microsoft.com
- Microsoft Learn (opens in a new tab) · learn.microsoft.com