stonehage

A simple example of running multiple site workflows using the same parameter.

Blog Post created by stonehage on Jul 25, 2018

Hello!

 

The requirement for doing this was as follows. I have a few lists across various sites that have near to 20,000 items in them. Absences and training registrations for example. When staff leave the company, I wanted to move their relevant items out of the main list into an archive list. I built a site workflow for each of these lists (they reside in different sites ) that allowed me to enter the users logon and items matching the logon would be copied to the archive and deleted.

 

Hence the reason for this post. I wanted to build a parent site workflow, which would allow me to choose the logon as normal and then pass that logon to each of my site workflows and run them, rather than me running each one individually.

 

So I'd not done this myself before so I'm sharing my findings after using the following resource...
https://community.nintex.com/docs/DOC-1048

 

In this example I have 3 site workflows that I'm looking to run and pass a parameter into. Training, Absences and Documents to read.

Note : Each archive workflow has a single parameter ( StaffLogon ) that is ticked so to appear on the start form.

 

Creating a new site workflow on the root of my site, it just needs a couple of variables and two actions for each workflow to run.

 

 

V_Staff_Logon is the parameter that I will populate when the main workflow runs.

V_Parameter1 is the parameter that will be passed off to each child workflow.

 

Each child workflow requires the following. Note I need the build string for each child workflow because they don't all have the same parameter name. If your parameter name is the same in all your child workflows you only need one build string.

 

 

The build string action configuration is very simple.

 

 

<Data>
<V_Staff_Member>{WorkflowVariable:V_Staff_Logon}</V_Staff_Member>
</Data>

 

V_Staff_Member is the parameter name for the child workflow that I'm passing into. You can see I've put the starting form variable as the data to pass. {WorkflowVariable:V_Staff_Logon}

 

The resulting string is then saved in V_Paramteter1.

 

The webservice action is also quite simple...

URL : This is the web address of where your child workflow resides plus _vti_bin/NintexWorkflow/Workflow.asmx
The username and password is that of an account with the relevant rights.

 

Web Method : StartSiteWorkflow.

 

WorkflowName : The name of the child workflow.

 

AssociationData : This is the parameter that's passed onto the child workflow. In this example it's the parameter from the build string action.

 

Note : make sure Encode inserted tokens is ticked.

 

That's it. You just need to add the extra child workflows, configured as required.

 

 

T.

Outcomes