Use the Webhook Connector to Post Microsoft 365 Roadmap Items to Teams Channels

Find Microsoft 365 Roadmap Items and Post Them with the Incoming Webhook Connector

One of the nice things about PowerShell is the ease in which a script can be adapted to meet different circumstances, improve the flow of processing, or simply execute code the way you like code to run. A recent post by Ståle Hansen confirmed this yet again.

Like me, I don’t think Ståle regards himself as a professional programmer (I’ve probably offended him now). He spends most of his time thinking about Teams and voice/phone systems, which is he covers in chapter 16 of the Office 365 for IT Pros eBook. In his post, Ståle describes how to use PowerShell to send various items of information about Microsoft 365 to a Teams channel using the incoming webhook connector. The idea is to scan for recent updates and post new items as message cards to inform tenant admins about new features.

Posting Information Drawn from Several Sources

The original work was done by Einar Asting, who created a series of scripts covering how to extract and post information from the Microsoft 365 roadmap, Office 365 health status, the Office 365 message center, Azure Resource Health, and Office ProPlus updates. Ståle’s twist on the topic is to post items for different technologies to their own channel. For instance, anything to do with SharePoint Online shows up in the SharePoint channel, and so on.

All good stuff. We have covered some of the same ground about posting through the incoming webhook connector here with posts about:

I liked some of the extra touches that Einar had added in his post about extracting Microsoft 365 roadmap updates and posting the items to a Teams channel, like using different colors to highlight whether a roadmap item was in development, rolling out, or generally available.

Creating a Connector

Each channel needs their own incoming webhook connector. The connector cannot be setup up programmatically, but creating a new connector is quickly done through the Connectors link in the channel’s […] menu.. The important thing is to copy and store the URI created for the connector as you need that to post to the channel (Figure 1).

Creating an incoming webhook connector for a Teams channel
Figure 1: Creating an incoming webhook connector for a Teams channel

Improving the Script

We all have our own ideas how code should work. In my case, I tried to make the script more flexible and improve the message cards generated in Teams. After retrieving data from the RSS feed for the Microsoft 365 roadmap, the script processes the information and creates a list that is written out to a CSV file. You can export data from the Microsoft 365 roadmap using a choice in the web site, but it’s always nice to have control over what’s exported. The CSV file can be used for later analysis. For instance, if you only want to review roadmap items relating to Exchange Online and list the items with the latest item first, you can do this with the following command:

$Report | Sort {$_.Date -as [datetime]} -Descending | ?{$_.Technology -eq "Exchange"} |  Format-Table FeatureId, Date, Technology, Title

FeatureId Date              Technology Title
--------- ----              ---------- -----
59441     6 Dec 2019 16:00  Exchange   Support for Plus Addressing in Office 365
59438     5 Dec 2019 16:00  Exchange   Message Recall in Exchange Online
59437     5 Dec 2019 08:00  Exchange   Send from proxy addresses (aliases) from OWA

Identifying the technology that a roadmap item belongs to also makes it easier to direct a post to a specific channel using the PowerShell Switch command.

The original idea was to use Azure Automation to run the script daily to post message cards for new roadmap items created in the last 24 hours . My version does much the same but uses a slightly different approach and format for the message card (Figure 2). Beauty is in the eye of the beholder.

An example of a message card posted to Teams through the incoming webhook connector
Figure 2: An example of a message card posted to Teams through the incoming webhook connector

The complete script is too long to post here. If you want a copy, head over to GitHub and grab the code from the Office365ITPros repository.

Building on What’s Gone Before

It’s hard to be truly original and most of the time we build on what has gone before. In this case, I adapted a script to meet my view about how things should work. Feel free to disagree and please go ahead to create your own, even better, version.

The Office 365 for IT Pros eBook contains hundreds of PowerShell examples. Some of the code is even useful! All of it is interesting…

2 Replies to “Use the Webhook Connector to Post Microsoft 365 Roadmap Items to Teams Channels”

Leave a Reply

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