All Guides
Exchange & Email

Share Calendars in Exchange Online: Free/Busy, Permission Levels, Rooms, and External Sharing

365 Consultants9 min read

Key takeaway: Calendar sharing in Exchange Online is really five separate systems: default free/busy inside the organization, per-calendar permissions, delegate access, shared calendars owned by shared mailboxes, groups, or rooms, and external sharing governed by sharing policies and organization relationships. Knowing which one you are using decides who sees what, how much detail leaks, whether outsiders can book you, and why a meeting you invited someone to shows "no information" for them. This guide covers all five, the PowerShell, room and resource booking, hybrid considerations, privacy, and the problems that waste the most time.

Scheduling across a team without seeing availability turns into email ping-pong. Exchange Online solves that, but only when calendars are shared at the right level, in the right way, for the right audience.

What Is Visible by Default

Inside the organization, each user's calendar has a Default permission. In a standard tenant it is availability only (free/busy). Colleagues see when someone is busy, tentative, free, out of office, or working elsewhere, but not the subject, location, or attendees. That is enough for the Scheduling Assistant to suggest times.

Inspect it:

Get-MailboxFolderPermission -Identity "jsmith@contoso.com:\Calendar"

Entries to read:

  • Default: what any authenticated colleague gets.
  • Anonymous: what an unauthenticated person gets (should be None unless the calendar is published).
  • Named users or groups: extra rights given on purpose.

Organization-wide settings that change this live in Get-OrganizationConfig, and per-user defaults can differ when a calendar was shared earlier or created in another system.

Permission Levels

LevelWhat the person sees or can do
AvailabilityOnlyFree/busy times only
LimitedDetailsFree/busy plus subject and location
ReviewerFull details of items, read only
ContributorCreate items only
AuthorCreate items, edit and delete their own
EditorCreate, edit, delete all items
PublishingEditorEditor plus create subfolders
OwnerEverything, including changing permissions
Delegate flagReceives meeting requests and responses on the owner's behalf

Choose the least that fits the purpose. Showing subjects to everyone is common in small teams and a problem in organizations where titles are sensitive ("Meeting with lawyer," "Interview, candidate X").

How Users Schedule Across Teams

  1. Create a new meeting in Outlook.
  2. Add attendees, and open Scheduling Assistant.
  3. Read the availability grid. Use AutoPick or the suggested times.
  4. Add a room or equipment.
  5. Add a Teams link (Teams Meeting button) and send.

Tips that save time:

  • Use Room Finder to pick a room by size and features.
  • Set working hours and location in Outlook settings, so the Scheduling Assistant respects them.
  • Mark time as Out of office (not just busy), which also drives automatic replies and shows in the grid.
  • Use FindTime or Bookings when scheduling with people outside the organization.

Show More Detail Across the Organization

To let all colleagues see subject and location:

Set-MailboxFolderPermission -Identity "jsmith@contoso.com:\Calendar" -User Default -AccessRights LimitedDetails

To apply it to every user mailbox:

Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | ForEach-Object { $cal = "$($_.PrimarySmtpAddress):\Calendar" Set-MailboxFolderPermission -Identity $cal -User Default -AccessRights LimitedDetails }

This changes behavior for everyone. Announce it, give users the ability to opt out per meeting by marking it Private, and exclude roles with confidentiality needs such as HR, legal, and executives. If your users use another language, the folder name differs; find it with Get-MailboxFolderStatistics -FolderScope Calendar. New mailboxes revert to the default unless you script the change into provisioning.

Share With Specific People

A user opens the calendar, chooses Share, adds people, and picks a level. The recipients get an invitation and, once accepted, see the calendar in their list.

Admins can do the same in PowerShell:

Add-MailboxFolderPermission -Identity "jsmith@contoso.com:\Calendar" -User asmith@contoso.com -AccessRights Reviewer Set-MailboxFolderPermission -Identity "jsmith@contoso.com:\Calendar" -User asmith@contoso.com -AccessRights Editor Remove-MailboxFolderPermission -Identity "jsmith@contoso.com:\Calendar" -User asmith@contoso.com -Confirm:$false

Share with a group to avoid per-person changes. Delegate-level access, where the delegate manages the calendar and receives meeting requests, is covered in delegate access.

Shared Team, Group, and Resource Calendars

There are four ways to give a team a calendar, and each has strengths:

OptionBest forNotes
Shared mailbox calendarA team, department, or roleNo license under 50 GB, controlled by a security group. See shared mailboxes
Microsoft 365 group calendarA team that also needs files, chat, and a plannerMembers see it in Outlook; the Teams channel calendar can use it
Room mailboxMeeting roomsAutomatic accept, decline, and rules
Equipment mailboxProjectors, cars, shared devicesSame booking rules as rooms

Room and equipment mailboxes:

New-Mailbox -Room -Name "Boardroom" -Alias boardroom -DisplayName "Boardroom" -ResourceCapacity 12 Set-CalendarProcessing -Identity boardroom ` -AutomateProcessing AutoAccept ` -AllowConflicts $false ` -BookingWindowInDays 180 ` -MaximumDurationInMinutes 480 ` -AllowRecurringMeetings $true ` -DeleteComments $false -DeleteSubject $false ` -AddOrganizerToSubject $true ` -ProcessExternalMeetingMessages $false # Require approval for a particular group; others book automatically Set-CalendarProcessing -Identity boardroom -AllBookInPolicy $false -BookInPolicy "Managers" ` -AllRequestInPolicy $true -ResourceDelegates "assistant@contoso.com"

Add rooms to room lists so Room Finder can group them by building:

New-DistributionGroup -Name "Building A Rooms" -RoomList Add-DistributionGroupMember -Identity "Building A Rooms" -Member boardroom

Keep an eye on ghost meetings, where an organizer leaves and their meetings still hold rooms. Admins can report on room use and remove meetings from a departed organizer's calendar.

Multiple Calendars and Overlay

Users can add colleagues' calendars, a room calendar, a group calendar, or an internet calendar, and overlay them. Common uses: a team leave calendar, a rota, a manager checking the team's schedule. Encourage the use of a single shared team calendar over many personal ones, because a single source avoids conflicting entries.

Sharing Outside the Organization

External sharing is controlled by two mechanisms:

  1. Sharing policies control what users can share with specific external domains.
  2. Organization relationships define a trusted relationship with another Exchange organization for free/busy lookups.
Get-SharingPolicy | Format-List Name, Domains, Enabled, Default Get-OrganizationRelationship | Format-List Name, DomainNames, FreeBusyAccessEnabled, FreeBusyAccessLevel # Allow limited-detail calendar sharing with a partner domain Set-SharingPolicy -Identity "Default Sharing Policy" -Domains "partner.com:CalendarSharingFreeBusyDetail"

Sharing policy domain actions include free/busy only, with time, subject and location, and full details. Pick the lowest that serves the business. Ask the partner to configure their side or set up an organization relationship in both directions.

Publishing a calendar. From Outlook on the web: Settings, Calendar, Shared calendars, Publish a calendar. Choose the calendar and the level (availability, limited details, full details), then you get an ICS and an HTML link. Anyone with the link can see it, and it cannot be limited to named people. Use this only for public information, such as event dates. Remove the link when it is no longer needed, and know that publishing can be disabled with a policy:

Get-SharingPolicy | Format-List Get-OwaMailboxPolicy | Format-List CalendarPublishingEnabled Set-OwaMailboxPolicy -Identity OwaMailboxPolicy-Default -CalendarPublishingEnabled $false

Meeting invitations to outsiders. Anyone can send you a meeting request. Your response (accept, decline) goes back to them. Free/busy lookup for outside people depends on the relationship above, otherwise the Scheduling Assistant shows "no information."

Hybrid and Mixed Environments

If some mailboxes are still on an on-premises Exchange server, free/busy and sharing between on-premises and online users depend on the hybrid configuration:

  • The Hybrid Configuration Wizard sets up the organization relationship and OAuth.
  • Free/busy lookups between the two sides fail when OAuth, Autodiscover, or certificates are broken.
  • Test with Test-OAuthConnectivity and the Microsoft Remote Connectivity Analyzer.

For the on-premises side see Exchange Server internal PKI and hybrid certificates.

Privacy and Policy

  • Private appointments show as "Private Appointment" to people with limited details. Remind users to use them.
  • Free/busy vs details matters in regulated roles. Decide by group, not by habit.
  • Time zones and working hours appear in the Scheduling Assistant. Keep them accurate.
  • Calendar sharing can leak location and attendee information. Review what the default shows after incidents.
  • Delegates and private items. Don't give CanViewPrivateItems by default.

Calendar Repair and Diagnostics

Calendars can break in strange ways: duplicate entries, missing meetings, or meetings that update only for some people.

  • Calendar Checking Tool for Outlook (CalCheck) scans a mailbox for problems.
  • Calendar logging: Get-CalendarDiagnosticLog -Identity jsmith@contoso.com -Subject "Board review" shows how an item changed and who changed it.
  • Cleanup: the Outlook switch outlook.exe /cleanreminders and /cleanviews fix reminder and view problems. A broken Calendar sharing state can be fixed by removing and re-adding the share.
  • Resetting the calendar with a fresh profile can fix a corrupt cached copy.
  • Ghost meetings after an organizer leaves can be removed with Remove-CalendarEvents.

How to Check It Worked

  • Create a meeting with several colleagues, and confirm their busy time appears in the Scheduling Assistant.
  • From another account, check the detail level the calendar shows.
  • Book a room twice at the same time and confirm the second booking is declined.
  • Test external free/busy with someone in the partner organization.
  • Test the published link in a private browser window, and make sure it shows only what you intend.

Troubleshooting

SymptomLikely cause
"No information" for a personThey are outside the tenant with no sharing, on-premises with broken hybrid, or have no mailbox
Subjects hidden from colleaguesDefault is availability only
Cannot add a permissionAn entry already exists. Use Set-MailboxFolderPermission
Room accepts double bookingsAllowConflicts is true, or processing is off
Room declines everythingBookingWindowInDays too small, duration limit too short, or policy limits who can book
Delegate misses meeting requestsThe Delegate flag or the delegate's meeting request setting is off
Shared calendar not appearing in OutlookNot accepted, group-based grant, or cache delay
Meeting updates reach some attendees onlyCorrupt item or sync issue. Check the diagnostic log and re-send

A Short Decision Guide

  • See when colleagues are free: nothing to do, default works.
  • Show titles to everyone: set Default to LimitedDetails, with exceptions.
  • Team calendar: shared mailbox or Microsoft 365 group.
  • Meeting rooms: room mailboxes in room lists with booking rules.
  • Partner scheduling: sharing policy or organization relationship.
  • Public event schedule: published calendar.

Related guides: delegate access, Teams and Outlook integration, and automatic replies.

Defaults, sharing options, and cmdlet parameters change over time, and I have not run these commands against your tenant. Confirm them in Microsoft's documentation and test with a pilot group. If you run a hybrid and calendar sharing is failing, get in touch.

Exchange Online Calendar Sharing Free/Busy Room Mailboxes Hybrid Exchange
All GuidesView on 365consultants.net →