Keeping up to date with the Microsoft Graph changelog

While I’m not a developer, I do use the Microsoft Graph API quite a bit in various workflows and apps I build or contribute to.

Because of this, I want to stay current on what is being added/changed/removed in the Microsoft Graph – and for this Microsoft offers a publicly available changelog.

Unfortunately, I’ve found that the RSS feed is often more current than the changelog page itself.

For this reason, I created a Power Automate workflow that keeps both myself and my colleagues up to date whenever items are added to the RSS feed. I could have used an RSS reader tool, but I try to keep my third-party tooling to a minimum where possible and practical.

While creating a workflow to be triggered by a RSS feed in Power Automate is straight forward, some of the posts include a variety of distinct types of content – so I added some steps to format the text to make it clearer as to whether the item is added, deprecated, or changed.

Extracting the formatting was a bit tricky, so here’s the steps exposed:


uriComponentToString(replace(uriComponent(triggerOutputs()?[‘body/summary’]), ‘%0A’, ‘<br/>’))

Bold Added

uriComponentToString(replace(uriComponent(outputs(‘CR’)), ‘Added’, ‘<b>ADDED</b>’))

Bold Deprecated

uriComponentToString(replace(uriComponent(outputs(‘Bold_Added’)), ‘Deprecated’, ‘<b>DEPRECATED</b>’))

Bold Changed

uriComponentToString(replace(uriComponent(outputs(‘Bold_Deprecated’)), ‘Changed’, ‘<b>CHANGED</b>’))

Send an email

I also have this sending to a Yammer community, but you could also have it post to a Team as an adaptive card instead of sending an email.

Unfortunately, big emails end up looking like this:

Whereas a neater example looks like this:

An example of a post with a deprecated item:

And an example with multiple item types:

And here it is in Yammer:

As mentioned previously, you could post this into Teams as an adaptive card, but I think regardless of platform – the key thing is formatting.

I could take the extra time to have it generate a HTML table in the email, but the point I got it to was good enough.

If you have some improvements, I encourage you to comment and share them. 🙂

Also published on Medium.

Leave a Reply

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

%d bloggers like this: