Remind Meeting Attendees of Protocol and Expectations
Adding a disclaimer (aka auto-signature) to Exchange Online messages is a well-trodden path. The process is straightforward: create a transport (mail flow) rule to add some disclaimer text and enable the rule. You can include HTML-formatted text and insert attributes about the sender into the disclaimer text such as their name, title, and telephone number. The Exchange transport service will apply the text to every outbound record. This process works even with protected (encrypted) messages because the Exchange transport service is able to decrypt and re-encrypt messages. Just about the only complication is to include an exception condition in the rule to avoid applying the same disclaimer to the replies for an original message as that creates disclaimer upon disclaimer, which isn’t good.
All good, but what happens if you want to insert a special disclaimer into the messages sent for calendar meeting requests to remind internal users about meeting protocol, privacy, or etiquette (like “please tidy up the meeting room when you are finished”). Or to include a link to remind people about the etiquette for online Teams meetings, like staying muted until they’d like to speak or using meeting chat to ask questions.
Email X-Headers Identify Calendar Meeting Requests
The solution is to use a transport rule that checks for the presence of an X-header added by Exchange to calendar meeting requests. Some quick browsing of the headers of a meeting request using the Outlook Message Header Analyzer add-in revealed the presence of a header called X-MS-Exchange-Calendar-Originator-id, which seemed like a good bet (Figure 1).
It didn’t take long to create a rule (Figure 2) to check if this header had a value (I used part of the distinguished name of the meeting originator) and apply a disclaimer. I also added an exception to make sure that the disclaimer wouldn’t be applied if the text already existed in the message.
X-MS-TrafficTypeDignostic might be an even better header to use. This header contains the name of the originating server and “MeetingMessage”, so you could check for that value.
Testing that the Disclaimer Works
Adding a rule is one thing. Seeing it work is another. Fortunately, the rule does work (Figure 3) and the disclaimer shows up in meeting requests sent to internal recipients, including those created in the Teams calendar app. This is because Teams uses the calendar in user mailboxes to generate meeting invitations, which flow through the Exchange transport service like any other message. It is at this point the mail flow rules kick in to insert the disclaimer.
External Recipients Can Receive a Different Disclaimer
Because the scope of the mail flow rule is limited to recipients inside the organization, external people never see the disclaimer. If you want external recipients to see a disclaimer in calendar meeting requests, simply create a similar mail flow rule with the scope set to people outside the organization and change the disclaimer text as appropriate.
Test in Your Organization
I haven’t done extensive testing to verify that the disclaimer works in all circumstances which might exist in Office 365 tenants. In some situations, adding a disclaimer to a meeting request can cause a receiving mail server to process calendar requests as if they were normal email, which means that the recipient loses the ability to respond to the request. The mail flow rule describes only applies to messages sent internally, which was the original request, so the messages with disclaimers never reach an external server. However, I have done similar work with disclaimers going to Outlook.com and Gmail.com recipients and know that calendar requests with disclaimers work to these destinations.
After several months of the rule being in place, it seems to work reasonably well and certainly is a basis for further enhancement if this is needed by an organization.
It’s amazing what you can do with a little knowledge of how Exchange works…
Chapter 17 of the Office 365 for IT Pros eBook explains mail flow rules in great detail. It’s worth reading!