Pages Menu
TwitterRssFacebook

Posted by on Apr 29, 2024 in Development, Microsoft Teams

Breaking Change to Microsoft Graph Presence & Meeting Change Notifications coming in 1 month

Breaking Change to Microsoft Graph Presence & Meeting Change Notifications coming in 1 month

In the last few days, Microsoft has announced a breaking change which will impact many developers using Microsoft Graph change notifications to receive information about presence changes and online meetings.

This is a big change, will impact many people, affects the v1.0 branch, and is rolling out very soon.

What is the change, and why is it a “breaking change”?

  • The change impacts two workloads: user presence, and online meetings.
  • For both of these, the change impacts change notifications set up using “basic notification” (not rich notification).
  • These change notifications will no longer include the detail about the change. That means the presence notification won’t include the new presence state, and the meeting notification won’t include the meeting join URL.
  • It’s a breaking change because this information is there currently, and so applications that expect it to be there will break.

What should I do?

You have two options:

Option 1: when you receive the basic notification the @odata.id property contains a URL you can call to get more information. For instance, when receiving a new presence notification the @odata.id contains the URL to get the current presence for that user. You should modify your code to make a GET request to find the actual value. This is quite a lot more complicated for notification of a new online meeting though, as the @odata.id is just a list of ALL online meetings, and you will need to de-dupe to understand what’s new. Also, be aware of throttling limits, particularly at scale.

Option 2: switch from basic notifications to rich notifications. This will mean that the detail of what has changed will be included in the notification, as it is now. In order to do this you will need to provide a public key from an encryption certification you have set up, and then decode the payload upon receipt. More details are here: Set up change notifications that include resource data – Microsoft Graph | Microsoft Learn

Important: as of this blog post, rich notifications for online meetings in ONLY available in /beta and not in the v1.0 endpoint.

When should I do this?

Now. If you’ve identified that you are impacted by this upcoming change, you need to act fast. Unless it gets extended this change is due to take effect on June 1, 2024.

That’s 1 month’s notice, which to me feels short for such an impactful breaking change. Even the smallest and most agile team supported a production solution using these notifications will struggle to get this onto the roadmap and out the door to all customers inside a month.

Add onto that the fact that one of the workarounds involves using an encryption certificate. This will usually need to be purchased, which for many companies means approval processes, cost justifications etc. which all take time.

For these reasons & more, I would not be surprised if this date gets pushed back, especially once larger enterprise customers who rely on this find out about it. However, that’s not a reason to delay starting work on the workarounds: because, well, you never know…

But wait! Isn’t v1.0 supposed to be stable and not have breaking changes?

Disclaimer: I am not a layer. Whilst the intention is that v1.0 is a more stable environment than beta, I don’t think there is anything to stop Microsoft making changes like this. The Versioning, support, and breaking change policies for Microsoft Graph document does state that if a feature is deprecated then at least 24 months notice will be given.

However, there is nothing (that I can find) about changes to an existing feature and no set timeline on announcements before these changes. In fact, the terms of use document says (in capitals!): “WE MAY CHANGE OR DISCONTINUE THE AVAILABILITY OF SOME OR ALL OF THE MICROSOFT APIs AT ANY TIME FOR ANY REASON WITH OR WITHOUT NOTICE” which I guess covers this change.

It’s interesting (to me, anyway) that the official documentation pages for both presence and online meeting notifications make no mention of this upcoming change and continue to show examples of the current basic notification that includes data. I would hope that these pages are soon updated (and definitely before the 1st June) alerting anyone who is about to write new code about these changes.

I need more information / a blog post to send to my boss!

Here is the official Microsoft blog announcing the change: Breaking changes to Microsoft Graph presence and online meeting basic change notifications

Written by Tom Morgan

Tom is a Microsoft Teams Platform developer and Microsoft MVP who has been blogging for over a decade. Find out more.
Buy the book: Building and Developing Apps & Bots for Microsoft Teams. Now available to purchase online with free updates.

Post a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.