Exchange Online Copies Organizer Name to Subject Under Certain Conditions
After publishing an article explaining how to extract statistics for room mailboxes using PowerShell and the Microsoft Graph (later enhanced to include code to report usage patterns for rooms), I received several questions about why the Graph API calls returned the name of meeting organizers as the meeting subject. I couldn’t work out why this is the case, so I reached out to some contacts in Microsoft Exchange engineering to see if they could cast light on the issue. As it turns out, this is expected behavior. I’ll explain why here.
In November 2018, Microsoft changed the default settings for room mailboxes to set their AutoProcessing property to AutoAccept. At the same time, Microsoft set the AddOrganizerToSubject property to True for room mailboxes configured with AutoAccept. I’m not positive that the two changes were concurrent. All Microsoft could tell me is that no code changes have occurred in this area over the last three years.
What Automatic Processing Does for Room Mailboxes
The effect of enabling automatic acceptance for room mailboxes is that the calendar assistant updates the room mailbox calendar with the meeting details. The resource booking assistant then assesses the meeting against the policy settings for the room and decides to accept or reject the meeting. No human intervention is necessary, and it’s likely that Microsoft chooses to make AutoAccept the default to remove friction from the room booking process.
Organizations that wish to exert more control over bookings for specific rooms can set the AutoProcessing setting for those rooms to be AutoUpdate or None. When AutoUpdate is set, the calendar assistant can accept meetings for the room, but only in a tentative state. A room mailbox delegate must approve bookings to move them from tentative to confirmed status. None means that Exchange Online performs no automatic processing for the room. Delegates must therefore review and approve every inbound meeting request sent to the room.
TEC Talk: What to Do About Exchange On-Premises After Microsoft Starts to Block Messages
Hear what Tony Redmond has to say about what might happen if your org is using older on-premises Exchange servers.
Updating Meeting Subjects
When a room mailbox is configured with AutoAccept, an administrator can run the Set-CalendarProcessing cmdlet to update the AddOrganizerToSubject property to True or False. By default, Exchange Online sets all new room mailboxes to update the AutoProcessing setting to AutoAccept and AddOrganizerToSubject to True. This happens for room mailboxes created using all administrative interfaces, including PowerShell. No trace of these settings is visible unless you go looking for information using the Get-CalendarProcessing cmdlet. Here’s some code to fetch the room mailboxes in a tenant and report the relevant settings for each:
[array]$Mbx = Get-ExoMailbox -RecipientTypeDetails RoomMailbox ForEach ($M in $Mbx) { $Settings = Get-CalendarProcessing -Identity $M.UserPrincipalName Write-Host (“Room {0} auto processing set to {1} and Organizer to subject is {2}” -f $Settings.Identity, $Settings.AutomateProcessing, $Settings.AddOrganizerToSubject) }
The root of the problem reported is exposed here. All the room mailboxes I looked at in several tenants updated the meeting subject with the organizer’s name. Meeting organizers are unaware that this happens because Exchange only updates the subject for the copy of the event in the room mailbox’s calendar. When meeting participants view their copy of the event in their calendar, they see the subject assigned by the meeting organizer. The Graph API reads the information from the room mailbox and that’s what turns up in the report.
How to Preserve Meeting Subjects
You might ask the question why Microsoft decided to update meeting subjects in room mailbox calendars. The official answer that I received is that this makes it easier to create calendar views based on the organizer’s name. However, I think a more important reason is to preserve privacy. If the meeting subject remains unaltered, anyone who can access the room calendar data sees meeting subjects and gain some insight into the likely content of those meetings. For instance, seeing a meeting scheduled for “Confidential Discussion about Staff Reductions” wouldn’t be good.
Unfortunately, updating the AddOrganizerToSubject setting isn’t one of the options supported by the Microsoft 365 admin center (Figure 1) or Exchange admin center.
To change the AddOrganizerToSubject setting for a room mailbox, run the Set-CalendarProcessing cmdlet. For example:
Set-CalendarProcessing -Identity "Room 101" -AddOrganizerToSubject $False
But this leads to another issue. If you run Set-CalendarProcessing to stop Exchange updating event subjects with the organizer’s name and do nothing else, the calendar assistant will obey, but the subject property will be blank in the room calendar. The reason is that another setting controls whether the room calendar retains the subject of inbound meeting requests. By default, the DeleteSubject setting is True, meaning that the calendar assistant discards the subject of inbound message requests. Because we’ve told the calendar assistant not to copy the organizer’s name, the subject property is blank. To preserve the original subject, run:
Set-CalendarProcessing -Identity "Room 101" -AddOrganizerToSubject $False -DeleteSubject $False
These settings are not retrospective, and Exchange will not scan for older events to repopulate meeting subjects with the original values. Meeting organizers can force the calendar assistant to update events in a room calendar by making changes to events. The time and date don’t have to change. Make a small change to something like the meeting notes or description and resend the meeting request. The calendar assistant updates the entry in the room calendar based on the updated request and preserves the meeting subject from the request.
As it turns out, Microsoft has a support article covering the situation. I guess my search capabilities failed abysmally when I first researched the issue. But at least we have a solution and a deeper understanding of how to control the copying of meeting subjects into room calendar events.
Cybersecurity Risk Management for Active Directory
Discover how to prevent and recover from AD attacks through these Cybersecurity Risk Management Solutions.
Hello,
thank you for your article, it helps us.
But i have one more question. If User create event and set a room (it already give there a subject not name of creator), but comment of my event is lost and event in room calendar have disabled comment (its lost and cant be set).
do we have something else to setup?
thank you.
i managed to set that comments are visible for aprover, but only readonly (we need that this can be modified by administrator/aprover).
Set-CalendarProcessing -Identity room -addOrganizerToSubject $false -DeleteSubject $false -deleteComments $false -DeleteAttachments $false -OrganizerInfo $true
I’m sorry, but I don’t understand the question. If an event is created in a room mailbox and the subject is overwritten, there’s no way to get it back.
Hi Tony I have the JSON scrip to export the meeting schedule for my rooms, All I need now is to get the organisers UPN included in teh report for each booking.
Got any Ideas?
#Headers:
Prefer: outlook.timezone=”Africa/Harare”
Content-Type: application/json
{
“schedules”: [“OTP1-F2-DG12@ecotp.gov.za”, “OTP1_F1_Telem20@ecotp.gov.za”, “OTP1_F2_Ikhala9@ecotp.gov.za”, “OTP1_F2_Rev33@ecotp.gov.za”, “OTP1_GR_Inyathi30@ecotp.gov.za”, “OTP2_F1_Std8_Nov@ecotp.gov.za”, “OTP2_F1_Std8_Oct@ecotp.gov.za”, “OTP2_GR_Exec10_July@ecotp.gov.za”, “OTP2_GR_Int4_Apri@ecotp.gov.za”, “OTP2_GR_Int4_Febr@ecotp.gov.za”, “OTP2_GR_Int4_Jan@ecotp.gov.za”, “OTP2_GR_Int4_Mar@ecotp.gov.za”, “OTP2_GR_Std8_June@ecotp.gov.za”, “OTP2_GR_Std8_May@ecotp.gov.za”, “OTP2_Mez_Exec12_Sept@ecotp.gov.za”, “OTP2_Mez_Std8_Aug@ecotp.gov.za”],
“startTime”: {
“dateTime”: “2024-01-29T08:00:00”,
“timeZone”: “Africa/Harare”
},
“endTime”: {
“dateTime”: “2024-02-28T16:30:00”,
“timeZone”: “Africa/Harare”
},
“availabilityViewInterval”: 60
}
I have no idea how you generated that JSON file so I have no idea how to include the organizer’s name in the output. I used the Microsoft Graph PowerShell SDK to generate the output for the room mailboxes report https://practical365.com/report-room-mailbox-statistics/. Maybe you could do the same?