In addition to regular user mailboxes, Exchange lets you create resource mailboxes for meeting rooms and equipment. Resource mailboxes have their own calendars where you can schedule appointments for room and equipment bookings. Using the Set-CalendarProcessing cmdlet, you can manage settings and responses to calendar meeting requests for resource mailboxes. This cmdlet is available in both Exchange Online (EOL) and on-premises Exchange Server.
Manage Resource Mailbox Scheduling
To book a resource for a specific time, create a new calendar event in Outlook or OWA. Enter the address of the resource you want to reserve in the Location field.

Create a Resource Mailbox
Before configuring booking policies, you need to create a resource mailbox for a meeting room/equipment. However, first you may want to check whether a room or equipment mailbox already exists:
Get-Mailbox -RecipientTypeDetails RoomMailbox,EquipmentMailbox |
Select-Object Name,PrimarySmtpAddress
Now you can create a room mailbox. Run the following command:
New-Mailbox `
-Name "Meeting Room 1" `
-Room
In order to create an equipment mailbox, use:
New-Mailbox `
-Name "Projector 1" `
-Equipment
Verify that the new resource mailbox has been created:
Get-Mailbox -RecipientTypeDetails RoomMailbox,EquipmentMailbox |
Select-Object Name,PrimarySmtpAddress
After creating the resource mailbox, you can config its booking behavior using the Set-CalendarProcessing cmdlet.
The AutoAccept policy is enabled by default for resource calendars in Exchange Server 2019 and Exchange Online. This policy causes the Calendar Attendant to automatically approve bookings unless they conflict with other appointments.
Check the current Automate Processing policy settings using the command:
Get-CalendarProcessing meeting_room_1

To quickly review the most important resource mailbox scheduling settings, you can display only the commonly used properties:
Get-CalendarProcessing meeting_room_1 |
Select-Object `
AutomateProcessing,
AllowConflicts,
BookingWindowInDays,
AllBookInPolicy,
AllRequestInPolicy,
ResourceDelegates
Modes available for processing booking requests
The following modes are available for processing booking requests:
- None โ the resource is not intended for automatic booking.
- AutoUpdate โ meeting requests are automatically added to the resource calendar as Tentative entries. A delegate can then review the request and decide whether to accept/decline the booking.
- AutoAccept โ the meeting is automatically approved by the Calendar Attendant if there is no time overlap.
Note. When AutoUpdate is used with room mailboxes, delegate behavior may differ from regular user mailboxes. Meeting requests can be added to the calendar as Tentative entries without generating the same approval workflow that administrators may expect from user mailbox delegation.
You can change the AutomateProcessing mode:
Set-CalendarProcessing -Identity meeting_room_1 -AutomateProcessing AutoUpdate
In order to restore the default automatic booking behavior, you need to switch the resource mailbox back to AutoAccept:
Set-CalendarProcessing -Identity meeting_room_1 -AutomateProcessing AutoAccept
Note that by default, Exchange may remove the original meeting subject and add the organizer’s name to the subject displayed in the resource mailbox calendar. To preserve the original meeting subject, you need to disable both behaviors. Use the following command:
Set-CalendarProcessing -Identity meeting_room_1 `
-DeleteSubject $False `
-AddOrganizerToSubject $False
Keep in mind that in Exchange Online, calendar processing changes may take several minutes to become effective across all clients and room booking interfaces.
Prevent the room calendar from showing details of meetings
You can also preserve the Private flag for meetings marked as Private by adding the -RemovePrivateProperty $false parameter:
Set-CalendarProcessing -Identity meeting_room_1 `
-DeleteSubject $False `
-AddOrganizerToSubject $False `
-RemovePrivateProperty $False
This keeps private meetings marked as Private in the resource mailbox calendar and helps you to prevent disclosure of meeting details to users who have calendar access.
In order to preserve the Private flag on meetings marked as Private, you need to set -RemovePrivateProperty to $False:
Set-CalendarProcessing -Identity meeting_room_1 `
-RemovePrivateProperty $False
To allow all users view meeting details without editing events, the calendar permissions of the resource mailbox must be changed. Use Set-MailboxFolderPermission command:
Set-MailboxFolderPermission -Identity meeting_room_1:\calendar -User default -AccessRights LimitedDetails
List all properties of the resource mailbox calendar, including the Calendar Attendant, resource booking assistant, and calendar configuration:
Get-CalendarProcessing meeting_room_1 | Format-List *

Automated Booking Policy
The Automated Booking Policy allows you to configure how a booking attendant responds to scheduling requests.
- In Policy โ a request that does not violate any of the configured scheduling options.
- Out of Policy โ the booking request which violated a configured scheduling option (for example, the scheduled time may already be booked, or the meeting duration too long).
To allow all users to submit in-policy requests, but only if one of the specified delegates approves or declines the request:
Set-CalendarProcessing -Identity meeting_room_1 -AutomateProcessing AutoAccept -AllRequestInPolicy $true -AllBookInPolicy $false -ResourceDelegates v.ebner,b.busch
Note. Specifying the -ResourceDelegates parameter replaces the existing delegate list. You need to verify the current delegate config before making changes.
In case you need to view the users who are currently configured as resource delegates for a room/equipment mailbox, run the following command:
Get-CalendarProcessing meeting_room_1 |
Select-Object ResourceDelegates
The following command returns only the delegate accounts assigned to the resource mailbox:
(Get-CalendarProcessing meeting_room_1).ResourceDelegates
If you want to allow a specific user to submit out-of-policy booking requests for review by a resource delegate, add the -RequestOutOfPolicy parameter:
Set-CalendarProcessing -Identity meeting_room_1 -RequestOutOfPolicy username
Allow the room to accept external meeting invitations:
Set-CalendarProcessing -Identity meeting_room_1 -ProcessExternalMeetingMessages $true
Conflicts in the resource calendar are not allowed by default. To allow double bookings for the resource mailbox, run the command:
Set-CalendarProcessing `
-Identity meeting_room_1 `
-AllowConflicts $true
Users can schedule meetings in designated conference rooms up to 180 days in advance. To reduce the maximum available time of the planned booking to 30 days:
Set-CalendarProcessing -Identity meeting_room_1 -BookingWindowInDays 30
After changing resource mailbox scheduling settings, you can check the current config using the following command:
Get-CalendarProcessing meeting_room_1 |
Select-Object `
AutomateProcessing,
AllowConflicts,
BookingWindowInDays,
AllBookInPolicy,
AllRequestInPolicy,
ProcessExternalMeetingMessages,
ResourceDelegates
Hint. Additionally, you can configure custom working hours for resource mailboxes using the Set-MailboxCalendarConfiguration cmdlet.
What is the Set-CalendarProcessing cmdlet?
Set-CalendarProcessing is an Exchange PowerShell cmdlet used to manage how room and equipment mailboxes handle meeting requests, booking policies, approvals, conflicts, delegates, and calendar privacy settings.
Does Set-CalendarProcessing work in Exchange Online and Exchange Server?
Yes. The cmdlet is available in both Exchange Online (Microsoft 365) and on-premises Exchange Server environments.
What is a resource mailbox?
A resource mailbox is a special Exchange mailbox designed for scheduling shared resources such as:
- Meeting rooms
- Conference rooms
- Projectors
- Company vehicles
- Other shared equipment
What happens when AutoUpdate is enabled?
Meeting requests are placed in the calendar as tentative entries. A delegate can then review and approve or decline the request.
What are Resource Delegates?
Resource delegates are users responsible for reviewing and approving booking requests for a room or equipment mailbox.
