This is a continuation of from my previous post on Nintex Workflow Best Practices.
Avoid Getting Throttled in SharePoint Online
One of the most frustrating things that can happen when running a workflow is for it to get throttled or even completely blocked. This happens when the number of user calls is too high and it exceeds a threshold. A scenario where this might occur would be updating properties or lists in SharePoint Online in a batch to keep it in sync with another line-of-business application. The result is being redirected to the throttling page with failing requests, REST calls returning a 429 "Too many requests" error, or worse getting completely blocked with a 503 "Service unavailable" error.
While SharePoint Online can handle a high volume of calls, good workflow design practices should still be followed so this can be prevented. Keep an eye on the number of looping iterations to make sure they are not causing hundreds of updates and requests at a time. In the case where a high number of immediate updates are required, consider including pauses in your loops to alleviate the load and decrease the chance of getting throttled.
Workflow Version Control in Office 365
A great feature of Nintex on-premises is how versions are maintained when a workflow is saved or published. This allows you to access prior versions of your workflow, export it, and more. It is something that protects your workflows and their development.
Unfortunately, the current version of Nintex on Office 365 does not support this feature but it can still be emulated with the use of versioning in document libraries. First, create a document library with versioning turned on called "Nintex Workflow Backups". Then whenever you would like to back up the current version of your workflow, export the workflow and add the file to the document library. Be sure to include comments of the changes made since the prior version. This best practice helps you and others that wish to review the developmental progression of the workflow.
For those that are looking for full versioning, please review the request on Nintex User Voice: Version Control and be sure to up-vote it!
Set Error Notifications
Another feature within Nintex on-premises is setting up error notifications. Whenever a Nintex workflow errors, it will send an email notification letting you know of the error and the workflow it occurred in. Setup is in Central Administration and applies for all workflows.
While this feature is not available in SharePoint Online, there is a simple workaround. Go to your workflow history list and create a workflow that runs on new items. Set the workflow to do a "contains" on the description field. Whenever the word "error" is found, send an email notification. This method also has the advantage of being worklow-specific allowing you to send notifications to different users.
There is also a user voice topic for Nintex User Voice: Workflow Errors.
Use Child Workflows
When a business process is very complex or when multiple different processes use the same sub-process, child workflows can be created to reduce the complexity by separating or sharing functionality across different workflows. They reduce complexity by having multiple instantiations from separate workflows point to a focused process for execution. Child workflows are an act of process recycling that leads to easier testing and better performance.
One example of the use of child workflows would be purchasing requests. Imagine a company with several departments – Information Technology, Human Resources, and Marketing – each having their own separate requisition workflows. The requisitions first have to pass departmental approval and then get sent to Accounting where the actual requisition is processed. Rather than copy that Accounting process in each workflow, a child workflow would be created and called from each original worklfow. Another advantage to this method is that when the Accounting process changes, only one workflow requires updating.
Consider Office 365 When Developing Your On-Premises Workflows
With companies moving more and more to the cloud every day, it is important to consider the ramifications of decisions made when designing an on-premises Nintex workflow. While Nintex is improving its online products every day, all actions are not currently supported by SharePoint Online or migration tools. With products like Sharegate, unsupported actions will be replaced with a placeholder action that has the name of the original unsupported action. This lets you maintain the structure of your workflow and easily replace them with supported actions.
Another consideration to remember is that the Nintex workflow history will not migrate. Custom workflow actions or user-defined actions will also not migrate so try to use the out-of-the-box actions as much as possible. And remember that the last saved version of the workflow will migrate, not the last published version, so be sure to keep good habits on your version control.
Using these recommendations will result in better solutions, developed faster, and more easily maintained for your users and organization. Over time, adopting these best practices should become part of your natural approach.