Microsoft Flow is a service I’ve been working with for some time and poking it to discover some of its possibilities. Basically, it’s service that allows to create and manage workflows from ready to use blocks representing triggers and actions.
Because we don’t need to manage any servers, host anything or even write code (except for some endpoints in our application), MS Flow is sometimes categorised as serverless but I think that codeless is a term that describes this service much better.
As I’ve mentioned before Flow is service that allows us to create simple and/or complicated workflows from blocks representing available services both triggers and actions.
Triggers are activators for our constructed processes. Those can be activated by predefined timespan (every n minutes), HTTP request received by endpoint exposed with MS Flow, incoming email and others.
Actions are well… actions. Just things that happen when trigger… triggers (captain obvious references in 3..2..1… ;)). You can send and email, make HTTP Request, put some file on OneDrive, compose newsletter and send it by MailChimp or use on of many other integrations.
Actions and triggers can be chained together and every piece of data that you can get from them (responses from HTTP, e-mail body or attachments etc.) can be used in following steps in our workflows. Add some basic conditions and loop to that and you can orchestrate really complicated processes with ease.
As I’ve mentioned before MS Flow can expose it’s own HTTP endpoints where you can send your requests from practically anywhere and from Flow you can use any of your own endpoints and send some of the data you’ve acquired in nice JSON or whatever you need at the moment.
What can you do with it? In Me2.0 I’m using “schedule” trigger to run flow every 6 hours, then I’m fetching Get noticed contestants RSS and adding all fetched items to my application using one of my endpoints by simplest HTTP Post. I could’ve just used a trigger for any new item in RSS Feed because there is one but at the moment I’m truncating my DB so often I just prefer to get a handful of interesting content.
Its interface is pretty simple, even for people with little technical knowledge. Sadly there are some bugs and some things could be better but Flow is evolving even when I’m writing this post, new integrations are being added every week and slight changes are being introduced very often.
What I really like about MS Flow is that I don’t have to do anything with my code. If I have an endpoint to add something I can do it from my dedicated website, mobile app or just use MS Flow to make POST request from other sources like SMS, e-mails, OneDrive or much more that are available. What’s the best is that as long as I have exposed endpoint I don’t have to touch my code to introduce e-mail notifications, sending newsletters or SMS messages.
I encourage you to play a bit with MS Flow for yourself and see for yourself that it’s the mother of all integrations.