Microsoft Flow was introduced a couple of years ago, and covered in ToW #401; it’s basically a glue between different online applications, allowing the exchange of data between them and being driven by events and actions.
Many of the templates for Flow are quite esoteric – when a tweet on a particular topic appears, write a log to a Sharepoint site and send a notification to a Teams channel, that kind of thing. But there are plenty of really useful connectors that can be combined in time-saving ways; here’s a really handy way of bringing traditional data sources into the modern era: an email parser, called Parserr.
After signing up with Parserr – free if you only need a few uses per month – you can then crack open mail that is consistent in format and contains some information you’d like to extract and use elsewhere, such as confirmation of an appointment or maybe a travel booking. In practice, you get given an inbox with a unique email address within Parserr and you’d set up a rule in Office365 or Outlook.com to send mails that meet some inbox rule to that address, where it would be parsed for you and key data fields then sent back to Flow.
e.g. if email comes from a specific source address or it has a subject that indicates it’s a particular type of reservation, then forward to your firstname.lastname@example.org inbox address, extract the details of the booking then do something with them within Flow.
Create a rule for each piece of information you want to extract, and it will effectively create a field:
Once set up, you create the Flow by choosing the connectors for Parserr and whatever other applications you need to work on the information.
In this example, we’re using Office 365 to create an appointment that matches a reservation – the arrival and departure dates are provided by the source email, and converted to YYYY-MM-DD format within Parserr, then dragged across in Flow to match the Start & End times of an “event”. We’ll tack on T16:00 to the arrival time and T10:00 to the departure as that’s the check in and check out times, and thus create an ISO8601-compliant date/time such as 2019-04-05T08:00, which Office365 will use as the start or end time of an appointment.
“Advanced options” gives you further control (such as adding body text that might contain static text and other fields provided by Parserr, other addresses to forward the invite to, setting if you want it to be free/busy/tentative, reminder duration, time zones etc).
And that’s it: you can test the logic is working within each system – in Parserr, you can continually re-run the processing of your initial sample mail until you know the data is being extracted as you’d like, and within Flow you can keep testing your formatting etc by either triggering a new input or by working with the last set of data that came over from the source.
Once you’re happy just save the Flow, and it will automatically create an appointment in your calendar every time you get a matching email forwarded to the Parserr system – all in a few seconds.