Microsoft’s Exchange Team confirmed on May 21, 2026, that Exchange Online provides no built-in utilization reports for resource mailboxes, forcing administrators to manually query calendar data to measure room and equipment usage. The disclosure, made in a brief statement to the community, underscores a long-standing gap in the platform’s analytics capabilities—one that adds significant overhead for organizations striving to optimize their real estate and asset investments.

Resource mailboxes—the backbone of room and equipment booking in Microsoft 365—enable users to reserve conference rooms, projectors, company vehicles, and other shared assets directly through Exchange Online. Yet, despite their critical role in hybrid work environments, IT administrators have no native dashboard to see which rooms sit empty or which equipment is constantly double-booked. Instead, they must turn to PowerShell scripts, Microsoft Graph API queries, or third-party tools to collect and analyze calendar data.

The announcement arrived as a response to a recurring question from admins: “How can I see utilization rates for my resource mailboxes?” The Exchange Team’s reply was blunt. “Exchange Online doesn’t have a native utilization report for resource mailboxes,” the team stated, according to the message published on May 21. They recommended that administrators “determine if a resource is being actively used by querying the calendar data through Exchange Online PowerShell or the Microsoft Graph API.” No timeline was offered for adding native reporting, leaving many to wonder if the feature is even on the roadmap.

The growing importance of resource utilization data

Resource mailboxes are a staple for organizations that adopt Microsoft 365 for email and collaboration. When an employee schedules a meeting and books a room, Exchange Online handles the reservation transparently, checking availability and sending confirmations. Behind the scenes, each resource is a disabled Active Directory object with a mailbox that stores calendar data. The service processes booking requests according to policies set by administrators—auto-accept, delegate approval, and custom restrictions like maximum meeting duration or lead time.

In the post-pandemic era of hybrid work, the way employees use physical spaces has shifted dramatically. Many companies reduced their real estate footprint but still need to ensure that remaining rooms are well-utilized and that equipment like video conferencing gear is available when needed. Without utilization data, facilities managers can’t make informed decisions about whether to convert underused rooms into focus areas, invest in more collaboration equipment, or adjust policies to free up capacity.

For example, a large enterprise might have hundreds of rooms across multiple locations. Quarterly reports showing average daily occupancy help justify lease renewals or identify buildings where space can be consolidated. Equipment booking calendars reveal which items are most in demand and may indicate the need for additional units. All of this requires accurate, centralized reporting—which is precisely what Exchange Online fails to provide out of the box.

What exists today: limited native visibility

Currently, the Exchange Admin Center (EAC) offers basic management for resource mailboxes but zero insight into usage patterns. An admin can view a list of resources, their associated email addresses, booking policies, and delegate settings, but they cannot see how many times a room was booked last month, what the peak hours are, or even whether a resource has any upcoming reservations.

By contrast, Microsoft 365 delivers rich analytics for other services. The Usage reports in the Microsoft 365 admin center show email activity, SharePoint site usage, OneDrive storage, and Teams meetings and calling. Service-level reporting has become a cornerstone of the platform’s value proposition for IT governance. Yet resource mailbox utilization—a category that intersects with employee productivity, facilities management, and IT infrastructure—remains conspicuously absent from these dashboards.

The gap is not entirely surprising. Exchange Online’s reporting stack has historically prioritized mail flow, mailbox usage, and security over the more niche area of resource scheduling. However, as the line between digital collaboration tools and physical workspace management blurs, the absence of room and equipment analytics becomes a friction point that organizations can no longer ignore.

Workarounds: querying calendar data with PowerShell and Graph

Microsoft’s guidance to “query the calendar data” puts the burden squarely on admins. There are two primary approaches: Exchange Online PowerShell and the Microsoft Graph API. Both can extract booking information from resource mailbox calendars, but neither is turnkey.

Exchange Online PowerShell

Administrators familiar with the Exchange Online Management module can use cmdlets like Get-MailboxFolderStatistics and Search-Mailbox to enumerate calendar items. A common pattern involves connecting to Exchange Online, identifying all resource mailboxes with Get-Mailbox -RecipientTypeDetails RoomMailbox,EquipmentMailbox, and then looping through each to retrieve appointments within a date range.

$resources = Get-Mailbox -RecipientTypeDetails RoomMailbox,EquipmentMailbox
$startDate = (Get-Date).AddDays(-30)
$endDate = Get-Date

foreach ($resource in $resources) {
    $items = Get-MailboxFolderStatistics $resource.PrimarySmtpAddress -FolderScope Calendar |
             Search-Mailbox -SearchQuery "kind:meetings AND received>=$($startDate.ToString('yyyy-MM-dd')) AND received<=$($endDate.ToString('yyyy-MM-dd'))" -EstimateResultOnly
    # Aggregate and output utilization data
}

This approach immediately encounters limitations. Search-Mailbox is designed for compliance searches and imposes throttling limits; running it against hundreds of mailboxes can be slow and may hit service quotas. Additionally, interpreting the results requires handling recurring meetings, exceptions, and all-day events correctly. A meeting that repeats every Monday for a year should count as 52 bookings, not one. Extracting this level of detail demands considerable scripting finesse.

Microsoft Graph API

A more modern—but still complex—route is the Microsoft Graph. The places resource type represents rooms, and the events endpoint can pull each room’s calendar. By constructing queries like the following, admins can retrieve room bookings programmatically:

GET https://graph.microsoft.com/v1.0/places/microsoft.graph.room
GET https://graph.microsoft.com/v1.0/users/{roomEmail}/events?$filter=start/dateTime ge '2026-04-21T00:00:00' and end/dateTime le '2026-05-21T23:59:59'

Graph queries return structured JSON that is easier to parse, and they respect calendar recurrence patterns natively, but they introduce authentication complexity. The application must be registered in Azure AD with appropriate permissions (Place.Read.All, Calendars.Read), and token management must be handled securely—often requiring a background service or Azure Function that runs on a schedule.

Both methods produce raw data that must then be aggregated: counting the number of bookings, calculating duration, and grouping by room, building, or time slot. Many admins end up building custom Power BI reports that connect to Graph API or export PowerShell results to CSV. The entire pipeline can take days to design and test, diverting IT resources from higher-value tasks.

The community’s reaction

Even before the Exchange Team’s statement, user forums and technical communities were flooded with requests for a native utilization report. The May 21 confirmation did not surprise seasoned admins, but it did reignite frustration. “We’ve been asking for this since the move to the cloud,” one administrator posted on a popular Microsoft 365 community board. “I manage 200 meeting rooms, and I’m expected to provide monthly utilization figures to our real estate team. Right now, it’s a half-day manual process each month.”

Third-party ISVs have moved to fill the void. Tools like Room Manager by Add-On Products, Robin Powered, and Teem offer deep analytics by integrating with Exchange Online calendars. However, these solutions add licensing costs and introduce another layer of vendor management—a tough sell for organizations that already pay for Microsoft 365 E5 compliance features they assume should cover such reporting.

The lack of a first-party report also undercuts Microsoft’s workplace analytics narrative. Microsoft Viva Insights provides productivity recommendations but does not surface room occupancy data in a consumable way. Microsoft Places, a relatively new app that helps coordinate in-office days, displays which colleagues will be in the office but stops short of offering resource utilization analytics for IT. Admins feel caught between a strategic push toward hybrid work tools and the tactical reality of missing operational data.

Implications for IT administration and planning

The reporting gap has tangible consequences. Organizations operating on tight budgets often need to demonstrate room usage before approving new hardware, furniture, or even building access changes. Without hard numbers, facilities decisions rely on anecdote and assumption. An underused executive boardroom might hang on for years, while a cramped huddle room with sky-high booking rates never gets upgraded.

From a compliance standpoint, certain regulated industries require audit trails of resource usage. For example, a government agency might need to prove that sensitive meeting rooms are not accessible outside business hours, or a defense contractor may need to show that SCIF bookings follow strict access control policies. While the booking data exists in the calendar, the lack of a simple report makes generating compliance evidence a manual, error-prone process.

IT service desks also feel the pinch. When users complain that they can’t book a room, helpdesk staff have no easy way to check historical utilization and determine if the booking policy needs adjustment or if the room is genuinely overbooked. This leads to longer resolution times and more escalations.

Microsoft’s track record and possible path forward

Historically, Microsoft has been slow to enhance Exchange Online’s reporting. The service’s core architecture, built on Exchange Server technology, was not originally designed for modern analytics workloads. The trend toward Graph API and the Microsoft 365 admin center suggests that future reporting features will likely surface there rather than within the Exchange Admin Center.

The announcement mentions no plans for a native report, but it does not rule out future development. Microsoft frequently gauges community demand via the Microsoft 365 feedback portal, and a user voice item requesting resource utilization reports has gathered thousands of votes over the years. With the May 21 statement, the Exchange Team may be signaling that they hear the feedback but need to prioritize other features.

Meanwhile, Microsoft Places might eventually incorporate room analytics. The app already understands who plans to be in the office and could logically extend to showing which rooms they book. If Places evolves to include space utilization dashboards, it would bridge the gap without altering Exchange Online directly. However, such integration is speculative, and admins should not delay their own solutions in anticipation.

Practical next steps for administrators

In light of the official word, IT professionals should take proactive measures to build their own reporting frameworks or evaluate third-party tools. Here are recommended actions:

  • Inventory resource mailboxes using PowerShell: Get-Mailbox -RecipientTypeDetails RoomMailbox,EquipmentMailbox | Select DisplayName,PrimarySmtpAddress,ResourceCapacity to understand the scope.
  • Start simple with PowerShell exports: For a one-off report, a script that collects all meetings for the past month and exports a CSV with columns like Room Name, Date, Start Time, End Time, Duration, Organizer can provide immediate insight.
  • Adopt Microsoft Graph with Power BI for recurring reports: Set up an Azure AD app with delegated permissions, use an unattended script to pull events into a SQL database or directly into Power BI, and create dashboards that auto-refresh.
  • Evaluate third-party solutions: If development resources are scarce, assess the cost of commercial tools against the time spent on manual reporting. Many offer free trials and integrate natively with Exchange Online.
  • Voice feedback: Officially request the feature on Microsoft’s portal to keep the pressure on the product group.

The bigger picture: analytics in the modern workplace

The missing resource utilization report is a symptom of a larger tension within Microsoft 365: the platform excels at producing data but often lacks the simple, actionable analytics that IT managers require. As organizations embrace hybrid work, the need for space intelligence will only intensify. Companies are investing in smart building technology, hot-desking apps, and occupancy sensors; room booking data from Exchange Online should be a native part of that ecosystem, not an afterthought.

Microsoft’s acknowledgment on May 21, 2026, might be a small step toward addressing this, but until a native report materializes, admins will continue to script their way to utilization insights. The message is clear: if you need to know how your rooms and equipment are being used, start querying those calendars now.