cancel
Showing results for 
Search instead for 
Did you mean: 
Automation Master
Automation Master

What actions are used in which workflows?

Jump to solution

Hey! Does anyone know how to find out which actions are used in what workflows? I know that using the "Know your workflow" PowerShell script I can find out how often particular actions are used. But there is no report showing in details in which, specific workflows the particular action is used. Do you know how this can be done?

This is related to a Standard Nintex for SP2010.

Regards,

Tomasz

Labels: (2)
Reply
6 Replies
Automation Master
Automation Master

Re: What actions are used in which workflows?

Jump to solution

Hi Tomasz,

I can only image two ways right now (and both will inflict pain to the poor guy who has to do that =\ )

1. Modify/Reuse the Know your Workflow script

As far as i inspected that script it is querying mainly the Workflow Progress table to get information about the used actions. Maybe you can join some other tables there to get the precise information you need. However you would have to dive quite deep into the different tables which might be difficult for guys that haven't developed that data model.

2. Inspect exported XML-files

You could write a powershell script that exports all your workflows as xml files and then inspect this xml files script-based to count the actions used. The action types can be identified by the "Type" tag. For example:

<Type>Nintex.Workflow.Activities.Adapters.NWWriteToHistoryListAdapter</Type>

Identifies the Log to history list action. But this requires you to know all the different types first to switch for them.

I really hope there is some ootb script/tool/whatever that already does that. But may I aks why exactly you need this information?

Reply
Automation Master
Automation Master

Re: What actions are used in which workflows?

Jump to solution

This is possible using PowerShell, but it is very convoluted. For example, export a workflow, look at the file in a text editor, you will see the actions there. Now think on how you have to pull that from each workflow.

Or you can just connect the inventory lens in Hawkeye and you're done.

Reply
Automation Master
Automation Master

Re: What actions are used in which workflows?

Jump to solution

Thanks Andrew. I am trying now to modify Vadim's script to ha de that for me. The case is, this is a Standard license of Nintex 2010, and that there are hundreds of Site Collections and workflows inside.

I already made a quite deep analysis of the environment, but what I am missing is the knowledge about the actions used in workflows what I find very important as the project is about migration to O365.

Regards, 

Tomasz

0 Kudos
Reply
Automation Master
Automation Master

Re: What actions are used in which workflows?

Jump to solution

The know your workflow does show the top actions in use, just not actions per workflow. 

Are you using a tool for the migration? 

Are you trying to correct/prep/plan for change for workflows that wont' operate online? What if you handle this post migration, because if there are ones that are needed to be updated, you may not have time to correct them before hand. And migration tools will tell you which do not transfer. 

0 Kudos
Reply
Automation Master
Automation Master

Re: What actions are used in which workflows?

Jump to solution

I am. I am using Sharegate. However I just wanted to have an overview to explain to the customer where the costs are coming from.

I already quite did what I needed, but hoped there is something already available

Tomasz Poszytek

e-mail: tomasz@poszytek.eu

tel: +48 603 993 372

www/ blog: www.poszytek.eu

twitter: @TomaszPoszytek

0 Kudos
Reply
Automation Master
Automation Master

Re: What actions are used in which workflows?

Jump to solution

I ended up in adding a new function to Vadim Tabakman‌'s script (Nintex Workflow - PowerShell Find Workflows with Verbose Logging Enabled Part 5 - Vadim Tabakman), which lists me all actions and their types from each exported workflow:

"FindActionsWithinWorkflows"
{
  $actionsTypesPlusActions = [regex]::matches($exportedworkflow, "TLabel \/|(?<=TLabel&gtSmiley Wink[\w ]*(?=&lt;\/TLabel)|(?<=Type&gtSmiley Wink[\w\. ]+(?=&lt;\/Type)"); 
  $counter = 0;

  for ($i = 0; $i -lt $actionsTypesPlusActions.Count; $i += 2) {
    if (($actionTitle = $actionsTypesPlusActions[$i].Value) -eq "TLabel /" -or ($actionTitle = $actionsTypesPlusActions[$i].Value) -eq "") {
      $actionTitle = "Noname";
    }
    if ($actionsTypesPlusActions[$i].Value -like "Nintex.Workflow*") {
      $actionTitle = "Noname"; $i--;
    }
    $message = "{0} ; {1} ; {2} ; {3} ; {4}" -f $site,$list,$workflowname,$actionTitle,$actionsTypesPlusActions[($i+1)].Value;
    echo $message;
  }
}

Maybe this will be useful for someone

Regards,

Tomasz

View solution in original post

Reply