How to find a time everyone is free in Outlook
Scheduling Assistant shows the grid — here's how to turn multi-person Outlook free/busy into an actual list of open times.
On this page
Outlook's Scheduling Assistant will show you a grid of everyone's busy blocks, and it is genuinely useful — for booking one meeting right now. But it answers a different question than the one people usually have. The grid shows when people are busy. What you usually need is the opposite: a list of when everyone is free, that you can send to someone outside the meeting invite.
Reading the grid by hand
The manual process: open a new meeting, add all attendees, open Scheduling Assistant, and visually scan the columns for stretches where nobody has a block. Then close the fake meeting and type what you found into an email. With four or five attendees across a two-week window, this is slow and error-prone — a single missed tentative block means proposing a time that doesn't work.
Getting a merged list instead
OpenSlot does the intersection for you. Pick the people (it reads the same free/busy data Scheduling Assistant uses), a timezone, and a window, and it returns only the slots where every selected person is simultaneously free:
All times in US/Eastern • Today 07/08 03:30 PM - 04:00 PM 05:00 PM - 05:30 PM • Thursday 07/09 09:30 AM - 10:30 AM 12:00 PM - 01:00 PM 02:30 PM - 03:00 PM
Tentative blocks count as busy by default (toggleable), out-of-office always counts as busy, weekends are excluded unless you want them, and everything is converted to the timezone you choose. Copy the list into an email or Teams message and you're done — no fake meeting required.
How the intersection actually works
Everyone's calendar comes back as one character per time interval, all aligned to the same start instant. The merge is then done interval by interval: a slot survives only if every person's character says free for that same interval. Adjacent survivors are joined into runs, runs shorter than your minimum are dropped, and what is left is grouped by day.
The important part is what happens when the data is incomplete. If someone's response comes back shorter than the window asked for, the missing tail is padded with busy rather than assumed free. That is the difference between a list you can send and one you have to double-check: a partial answer can cost you a slot, but it can never invent one.
Where the grid quietly misleads you
Three things are easy to miss when you read Scheduling Assistant by eye. Tentative and busy can overlap on the same interval, and busy wins — so a block that looks provisional may be firmly taken. Out of office and busy are different statuses that both mean "do not offer this", but they colour differently, and it is easy to scan past one. And every person's free/busy carries their own working hours, which Graph returns alongside the availability — the colleague whose grid looks empty at 8 AM may simply not start until 9.
There is also a hard ceiling most people never hit but some calendars do. When a requested window contains more than 1,000 calendar entries for one person, Microsoft returns error 5006 — "The result set contains too many calendar entries. The allowed size is 1000" — rather than a partial answer. Heavily-booked shared mailboxes and busy room resources are the usual candidates. A shorter window is the fix.
What to set before you generate
Minimum slot length should match the meeting, not your habit: if the conversation needs 45 minutes, asking for 30-minute gaps will offer you slots that cannot hold it. Set working hours to the ones you will actually honour. Leave tentative counting as busy unless you know the people involved treat provisional holds loosely. Then pick the timezone of whoever is receiving the list, not your own.
Common questions
Does Scheduling Assistant show when everyone is free?
Not directly. It shows when everyone is busy, as a grid of coloured blocks, and free time is whatever is left over — which you work out by eye. For one meeting on one day that is fine; across five attendees and two weeks it is slow and easy to get wrong.
How many calendars can I check at once?
Two on the free plan and up to 40 on Pro. Behind the scenes they are fetched in batches of 20, which is the ceiling Microsoft Graph puts on a single getSchedule call, and the results are merged before you see them.
Do tentative meetings block a time slot?
By default yes, and that is usually what you want: a provisional hold that later firms up is one of the most common causes of re-scheduling. You can turn it off if the people involved treat tentative loosely. Out of office always counts as busy and cannot be overridden.
What does 'The result set contains too many calendar entries' mean?
It is Microsoft error 5006. When a requested window holds more than 1,000 calendar entries for a single mailbox, Graph returns that error instead of a partial answer. Busy meeting rooms and shared mailboxes are the usual causes. A shorter window fixes it — it is not a permissions problem, despite reading like one.
Can I include a meeting room or equipment?
Yes. Rooms and equipment are resources with free/busy just like people, so a room can be added alongside the attendees and the list will only show times when the room is free too.
OpenSlot
Skip the retyping
OpenSlot reads Outlook free/busy and hands you the merged, paste-ready list in any timezone: up to 40 people and 60 days out on Pro, you plus one person and 7 days free.
Try OpenSlot freeWorks with Microsoft 365 work and school accounts. No card to start.