Sample of some of the services in Microsoft FlowA few months ago, Microsoft released a tool for connecting together various web services, called Flow. More recently, it has been linked into SharePoint lists and will soon be available from SharePoint libraries, which is where it starts being very exciting to me.

It can do a lot of interesting things already. Check out the full list of supported services here, and note that it is slowly but steadily growing to include more services.

Flow does have some big holes that can be handled better by SharePoint workflows, however, particularly anything that requires a local variable. That means that for now we need to use a combination of the two to maximize functionality, but hopefully Flow will steadily replace what SharePoint workflows offer.

Below I’ve provided a use cases from my work managing the podcasts for MennoNerds. I’ve noted the entire flow of information of our vlogging process, including some things that still need to be done manually, at least for now. I write this cautiously since I have not actually implemented every piece, but I have tested enough that I am 98% confident that everything should work as I’ve described. In my next post, I’ll share what I’ve done with the interviews and panels, which gets even more complicated.

MennoNerds Vlogs

For some background, our vlogs work on a Q&A basis. I choose a topic and make an introductory video. The vloggers have around 3 weeks from then to submit their answer, the latter 2 of which the topic actually gets published to YouTube (the first overlaps with the final week of the previous topic). The submission deadline is always on a Friday. All must be published to YouTube by the following Tuesday at the latest, and a compiled edited version of each podcast is uploaded to archive.org, the links to which are added to a WordPress post which manages our podcast feeds.

So here’s how I make that happen with as much automation as possible:

Structure

SharePoint structure includes libraries for Vlog Submissions, Vlogs (Edited Singles), and Vlogs (Edited Topics); lists for Vlog Topics and special lists specifically for initiating certain flows. In theory these shouldn’t be absolutely necessary since Flow can operate on a filter, but I have yet to really get those filters working properly, so I have found it much easier to let SharePoint workflows handle that and send only the necessary data to Flow.

The workflow

The Topic (big picture)

When I add a new topic to the Vlog Topics list, this initiates workflows for every part of that process. The main workflow:

  • Sets topic stage column to Next. This stage column is used to determine different views.
  • Sets the episode number to 1 higher than the previous highest number.
  • Calculates the submission deadline and the publishing date using the previous topic’s dates.
  • Update the Podcast Publishing Calendar in SharePoint with this topic.
  • Emails to notifies the vloggers of the new topic, as well as remind them of the current publishing topic.
  • Wait for publishing date and then change status to Publishing.
  • Wait for the submission deadline and then change status to Closed.
  • Wait 2 more days (in case some came in late and I was slow to edit them) and then create an item in a WordPress Post Flows task list. This turns on a Flow which creates a draft post on the site, using the title, description, and scheduled release time from the SharePoint list.

The elements here that still need to be done manually: creating the YouTube playlist, adding the YouTube playlist to the default front page, editing all the vlogs into one file, uploading to Archive.org, copying links from Archive.org into the custom fields on the WordPress post, and copying the embed code for the YouTube playlist into the WordPress post. Optimistically, Flow could take over all of this except for editing the files.

Individual Vlogs

Meanwhile, any new submissions to the Vlog Submissions library sets off a basic Flow that sends me an email so I know to go edit it without having to check in regularly. A workflow sets the topic to default which whichever topic is stage Next if submitted by me, or whichever topic is stage Publishing from anybody else. This isn’t always accurate since vloggers can submit while a topic is still Next, but it works better than leaving it blank.

After I have manually edited a vlog entry, I upload to the Vlogs (Edited Singles) library, which sets off a SharePoint workflow that does a couple things:

  • Links to the unedited submission file, which brings along other information with it such as topic.
  • Adds the vlogger’s name to the Participants column on the topics list.
  • Update description of the topic to include the participant and the entry’s title.

After I have manually uploaded the vlog to YouTube and it publishes, a Flow will log the link and title in a SharePoint list. That will set off a workflow that finds out which vlog matches that title, and set the YouTube Link column on the Vlogs (Edited Singles) list to that link.

Still being done manually: edit the vlog, pick and set the publishing date. The latter could possibly be automated, but I haven’t thought too much about how to formulate optimal publishing based on when and how many other vlogs I expect to be submitted. It isn’t as clear-cut as publishing as soon as I’ve edited.