Nintex Workflow – Store and Retrieve Data UDA
Lately, I’ve had conversation with a number of people around getting running workflows to communicate to each other. Send data back and forth. Send some information from one workflow to another, to get it to do some work.
You can do this with the Store Data and Retrieve Data actions in Nintex Workflow for SharePoint on prem.
The video below explains it all.
Since I’ve described most of it in the video, I’ll keep this short. The Store Data actions lets you store some data in a named location, that is specific to a workflow instance. Think of it as a Global Variable for that workflow instance. This means that other workflows can set the value of that global variable.
In order to do this, you need to know the Workflow Instance ID where you want to store this.
The final part is the ability to read data from this “Global Variable”. It looks very similar.
But to get two workflows to talk to each other, they need to the Workflow Instance ID. So think about where you want to store this. In the example of the workflows below, they store the workflow instance ID in the Title field. You probably don’t want to do this. It’s good for an example.
The process I have built out looks like this:
Parent workflow starts and stores it’s workflow instance ID in the Title field.
Some time in the future, a Child1 Workflow starts and then maybe a Child2 Workflow starts. These workflows will update a “Global Variable” for the parent workflow instance and set the value. But, since the Store Data action overwrites any existing value, we need to be a little smarter.
To make this a little easier, I wrapped up the Store Data action into a User Defined Action.
The User Defined Action takes a Workflow Instance ID, the Global Variable name and the value.
The action then checks the current value of the global variable. If it’s not set, then this UDA sets it. The Parent workflow needs to be smart enough to look at the data and if there is something, read it and reset it to blank so that other child workflows can try to update it.
I hope this helps and opens your mind into the possibilities with these actions.