Workflows in the SharePoint 2013 Environment

Blog Post created by sonisick on Jan 3, 2017

Workflows are a way to get repetitive tasks done on SharePoint in the background.  Examples are Approval Workflows for a document, Task Completion Workflows where different steps require different processing, and Scheduled Reminders for work actions or events.


Over my nine years of SharePoint, the most common workflows have been a few standard SharePoint Out-of-the-Box Workflows, SharePoint Designer Workflows, Visual Studio Workflows and of late, Nintex Workflows.


Out-of-the-Box Workflows have never been flexible enough to adjust for even minor changes. Invariably, you need additional fields or a slightly altered logic flow to accommodate a business circumstance.  They are for the most part immutable.


One of the major drawbacks of SharePoint Designer Workflows has been accessing to SharePoint Designer itself. Most installations have very restricted access to SharePoint Designer because the installation, itself, can be damaged in SharePoint Designer.


The SharePoint Designer Workflow is text-based with no looping mechanism (there may be one in the SharePoint 2013 Workflow Engine), and consists of a number of steps painstakingly entered; then, compiled to XAML (a workflow markup language).  Until recently all workflows applied only to the list or library for which they were written. Reusability has gotten slightly better (still not great). One advantage to SharePoint Designer Workflows, like Nintex Workflows, is that they require no separate installation and once the workflow is compiled, it is ready to go.


Visual Studio Workflows can do a larger range of tasks than SharePoint Designer Workflows--it's a true developer's tool. The downside is that they require an experienced developer and can typically take a week to two to develop; then, have to be installed through a SharePoint Solution package. This requires downtime in the form of a maintenance window. If they have problems, they must be debugged, re-coded and rescheduled.


My experience with Nintex is close to two years.  Nintex is GUI-based drag-and-drop designer. All the user needs are permissions on the site and a browser. The drag-and-drop feature allows workflows to be constructed quickly.  The user grabs a specific action icon from a tool box of Actions and adds it to the flow. Then, they configure the action with various parameters.  Once compiled, they are ready to respond.


Nintex Workflows can also be exported and imported into another site for reuse--assuming list names match. Repetitive Logic can also be saved in what is called a UDA (User Defined Action) or saved locally as a Snippet. This can be reused in the site or site collection depending on the scope with which it was saved.



What I like about Nintex is the ability to perform tasks without having to submit a solution request that requires management approval and a maintenance window. Here are some examples of things I’ve built with Nintex: 


  1. Configured Emails scheduled for Various Dates with attachments.


  1. Rebuild Summary Lists and tied this action to a button click.

      (Especially useful on Summary Lists awaiting actions from other lists.)

  1. Performed Complex Edits on items on being Added or Updated.

      (Also send warning and notifications under certain conditions and rollback changes.)

  1. Update specific fields in large lists.

  2. Sent notifications and escalations at various stages of document processing.

  3. Changed permission on items after initial entry or simply move items to another list.

  4. Use multiple lists in workflows to display information in emails to the user. (Querying other lists for lookup is very common.)
  5. Split Group Fields into individual users to build approval list items and individual emails.


The strength of Nintex is that most SharePoint Users with some knowledge of lists and libraries can perform many of these actions.

In short, my reasons for liking Nintex are:


  • Browser GUI Interface
  • Immediately Available Code 
  • Reusable and Packageable Complex Logic
  • Ability to run Timed Workflows 
  • Extensive Community, Support, and Training


My next blog will suggest features and enhancements that would upgrade the Nintex W###orkflow to world class.


Stephan A. Onisick

SharePoint Developer