Custom RSS feed notifications with a logic app

This blog post covers another self-service task that I deployed for myself recently just to see if I could make life a bit easier. Microsoft have a dedicated page for new Azure announcements called Azure Updates. Most of us are very familiar with this but it is considered to be the one true source for any new service announcements relating to Azure.

Indeed many community members already use logic apps to automatically tweet any new announcements from this RSS feed. There are also some useful free RSS feed aggregator applications out there such as feedly which will allow you to pull in various RSS feeds that you might subscribe to into a single location.

This is generally what I have been doing but the sheer amount of content that comes in every day makes even skimming through the titles a task in itself. The same can be said for Twitter. Even though I will likely spot an important announcement from a community tweet, sometimes this gets missed or at least not picked up on for several days.

I personally still use email a lot and I will usually make an effort to check emails sent to me the same day during work hours. This got me thinking about how I could receive email notifications about important Azure announcements but only the most relevant ones to me because nobody likes a flood of automated emails landing in their inbox regularly.

The logic app

The natural service of choice here is a logic app as I was already aware that this could be triggered whenever a new item is published to an RSS feed. I deployed a consumption based logic app as the usage should be very low as it will only be fired whenever new feed items are published.

So our trigger will be When a feed item is published. This is pointed to the Azure Updates RSS feed URL and set to check every 1 hour.

I wanted to receive notification on a selected few Azure services (or really keywords) only, so I need to maintain a list of some kind that I can modify easily.

The easiest choice for me was to use an Excel table that is stored in my OneDrive account and synced down to my device for easy access.

This is a very simple file that looks like the below. The important thing to note here is this must be a table within Excel, I called my table ‘Services’ and then listed some service keywords that I have an interest in. This list can then easily be modified any any point in the future.

Back to the logic app and we need to provide the source file and table containing our data. Then we need to filter out all of the blank rows in the table as the entire table will get selected which would just create additional unnecessary processing later on. We will store our list in an array.

Now we iterate through the array to find RSS feed titles that match our keywords.

I use the following expression to compare the feed title: tolower(triggerBody()?[‘title’])

to the service name (keyword) from my list: tolower(items(‘For_each_list_item’)[‘Service’])

Note: I am converting both of these to lowercase text just to prevent any case sensitivity issues.

I have also included an additional sub-condition group to only select feed items that contain the words “general availability” or “generally available” in the title as I a want my notifications only to alert me when particular services have GA announcements. This group could easily be removed if not required.

When my conditions are matched I will just receive an email with the details taken directly from the RSS feed item.

In conclusion

A quite simple solution overall. Not a service that I would expect to fully rely on to keep informed but it might be useful where you might be waiting for a particular service to go into general availability for a production deployment. Otherwise it can be another useful method to stay informed about new feature releases as it can be difficult to keep on top of announcements through social media sources when you might have a busy work schedule.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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