Automating M365 Change Tracking with Claude Code

Administering Microsoft 365 means trying to stay up to date with constant changes. Here are my recent attempts to make it manageable.

I’m old enough to remember when technology consulting revolved discrete versions of on-premises software. Each platform had different release cadences, but we would get a new version, learn it, and then have 2-3 years of stability until the next one.

However, the rise of SaaS changed that equation. We no longer get these breaks in time to be able to acclimate ourselves to new versions. We now have to contend with understanding new features, changes, deprecations that happen more in months and weeks instead of years. This is compounded for many administrators and consultants because they’re managing multiple SaaS platforms, and that makes the challenge of keeping up even exponentially more difficult because you’re having to wade through multiple different vendors, platforms, and different release schedules.

My consulting is predominantly in the Microsoft 365 ecosystem. That ecosystem is not just a single application, but there are many applications and supporting applications to understand and keep up with. I have long struggled to keep up even when it’s my full time job to stay abreast of all the moving parts and changes.

The Options to Keep Up

There are a lot of great folks who write on blogs, social media, and curate their own content to help others keep up. Microsoft provides their own blogs as well, which are helpful; and I suggest you subscribe to the applications that are impactful for your work (I’m subscribed to almost a dozen). There are two other official channels that are geared for administrators: M365 Message Center and the M365 Roadmap.1

The Message Center is a helpful resource, but it relies on a person either reading through e-mails with paltry summaries or going to M365 admin center to review. Both are not super convenient, but they do provide helpful information. The M365 Roadmap on the other hand is a resource that I’m glad exists, but man do I hate using their interface. Plus, it’s almost impossible to understand how roadmap items shift in priority or expected release date (don’t even get me started on trying to understand these roadmap entries across sovereign clouds).

First Attempt: Claude Cowork and Copilot Cowork

I was relying on reading the M365 digest every week sent early Monday morning (alongside e-mails throughout the week for one-off items). It was fine but slow, and I had to re-read the same item over multiple weeks. Also, these digest e-mails have very little detail in them to help you understand what is actually happening and gauge the impact.

I wanted to try to use the new class of Cowork tools: Claude and Copilot Cowork. I have numerous thoughts on both of these products, but for this article, both fell short. My basic thought was to build a dashboard that scraped the digest e-mail and help me filter and browse the announcements in a more digestible format than just reading an email.

Copilot Cowork was fundamentally too fragile, and it would routinely just skip executing and not tell me about it. Claude Cowork did a better job building the dashboard using their M365 Connector, but it was still only local at that time not cloud based (although that has since landed in my subscription). Neither provided me what I was really striving for: a cloud-based, intelligent, and attractive dashboard that helped me filter out the noise and focus on what I needed to know.

Claude Code Routines and Artifacts

This is when I decided to stop playing around and go to Claude Code. Claude Code artifacts genuinely impress me, and I wanted to experiment more with routines. I thought this could give me the reliable, cloud-based automation I was after.

I first built two routines: one for a M365 digest dashboard and another for a roadmap dashboard. At first I continued down the path of e-mail scraping for the M365 digest, and I used the new MCP server for the M365 roadmap (I was excited to try the recently released capability of MCP access in Claude artifacts). Eager to drop the e-mail scraping, I rearchitected the whole thing to use an Entra application that provides read access to the Message Center Graph API. It ended up being a far more reliable solution that removed the M365 Connector dependency to read e-mails.

One fundamental issue I sought to solve with the digest was to remove previous announcements in the digest so each week I only had to focus on what was new. I had Claude Code build logic to prune entries that had been shown in previous weeks alongside all of the filtering and searching one would expect from a modern dashboard (I based the dashboard UI on Digg). Lastly, it categorizes by a few factors whether an item needs action, a decision, or just awareness (such as upcoming date or if a configuration is required before rollout).

Screenshot of the M365 digest dashboard
A digest that prunes messages I’ve already seen and provides me a filterable and triaged view

The Roadmap solution was almost perfect from the first attempt. I only ended up adding logic to the routine that would fetch more content than the MCP server returned (it was capped at a few hundred words for item summaries). This provides a much better roadmap browsing experience than what Microsoft provides. I can particularly focus in certain clouds like my current client work in GCC-High. What stands out is the dashboard’s ability to tell me what’s been revised, what’s new, and lets me focus on the next 1-2 months of releases.

Screenshot of the M365 roadmap dashboard built from Microsofts MCP
This version of the roadmap provides me the detail and interface I want to use

The Final Result

On Monday morning, both routines run using the Graph API and roadmap MCP respectively, build the dashboards, and an e-mail is sent to me with links to each (the e-mail is sent via a GitHub issue that gets created containing the information).

Both dashboards provide extensive filtering and searching: by workload, by priority, by search, or to just the action-required items, or type a word and find it. Both pages collapse to one line per item and expand to show full detail. It really makes my ability to digest and understand these changes much easier.

I’m very happy with the final products. These could be extended in many ways such as having an Azure roadmap dashboard since that also exists in the MCP server, but for what I want to focus on this is more than enough. This is the kind of AI automation that makes information intake much easier and pleasant.

  1. I will not be calling it the “AI at Work Roadmap” from the recent rename. So stupid.↩︎

Leave a Reply

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