If ‘X’ equals ‘Y’, do ‘Z’
When I speak with many Business users about what they want from a workflow in SharePoint, often times, it is a simple request:
“Can I get notified when someone adds a new item?”
“Can you change the status of the document when I approve it?”
“Can you notify a user if a document needs to be approved after a certain date?”
With SharePoint creating some of these simple workflow requests required knowledge of SharePoint Designer, which for many normal users is more than they are ever willing to learn. For SharePoint professionals, many of us were glad to hear that, as giving users access to SharePoint Designer was never something we were even interested in doing. Even with that being said, SharePoint workflows have their own limitations natively. What if I wanted to update external information after adding a list item? Sure, it’s possible to do, but also a gigantic pain if you’ve never done it before.
Microsoft has recognized the widening gap between creating basic workflows for Business users, and has release to Preview their new Office 365 offering: Flow.
In my earlier post of PowerApps, I showed a small taste of Flow to create an approval Workflow for our Twitter PowerApp. For this post, we’ll discuss where Flow is today, and why users should consider using the product.
Not Just for SharePoint Anymore
Microsoft has been working strenuously to make Office 365 a truly connected ecosystem. However, workflow have historically been limited to information and actions that have been tied directly to SharePoint. The core of Flow is to move well beyond SharePoint and provide actions that can touch not only Office 365 products, but external products as well. You can find native workflows in Flow that can interact with Box, Salesforce, Instagram, Facebook, Twitter, and even Google Sheets.
In the screenshot above, you can see just a few examples of how flow can take Use cases and make them a reality. For example: “When an item is created in Salesforce, create a row in SQL”. In a few clicks I can take Salesforce data and put it into a SQL Database (NOTE: this particular instance is SQL Azure, but still…) Or how about “Track Outlook.com emails in an Excel Spreadsheet”. These are terrific use cases IT professionals hear on a daily basis, that can now be given directly to Business users to use. Also, the gallery shown in the example keeps growing, as Users can create new Flows and publish them for everyone to use.
Need Something more Advanced?
Flow also doesn’t confine you to only the templates that have been published. You can also create custom flows based on the default actions in Flow. But even beyond that, Flow provides 2 areas that can extend beyond the products that it interacts with Natively. The HTTP ation and the HTTP + Swagger Action:
With the HTTP action, you can connect to any publicly accessible REST endpoint, and perform GET, POST, PUT, PATCH, and DELETE Operations. So, if your On-Premise environment has a custom Application you would like Flow to Interact with, you can use this action to incorporate those systems into your Flow.
If your Application does not have an API, you can use the Swagger Framework to create one. Creating an API is outside the scope of this Blog Post, but you can find more information on using the Swagger Framework here: http://swagger.io/getting-started/
What if my Organization needs advanced Business Process Automation?
If that’s the case, I would still recommend other tools to help accomplish these types of needs (Nintex, K2, IBM). Flow is still in Preview, and while the outlook looks bright, it is nowhere near ready to handle advanced Business Automation that other tools would provide. Right now, I see flow as a Simple Business User tool, with some Advanced features to provide workflow to a User, and not an Organization. But, with that being said, being able to provide users with “If ‘X’ equals ‘Y’, do ‘Z'”, will be of trmendous value for many companies.
If you’re interested in learning more about SharePoint 2016 or Office 365, please feel free to reach out to me at firstname.lastname@example.org