Set workflow status with a variable


Userlevel 4
Badge +10

Hi Folks,

Is the a way to set the workflow status through the use of a variable or parameter? I want to include it in a UDA but do not want to be forced to hard code values in that action so that I can use it regardless of the custom outcome on a flexi task.

Thanks,

Patrick


17 replies

Userlevel 6
Badge +16

As part of your UDA configuration you can set a parameter that can receive a variable

Userlevel 4
Badge +10

Hi Fernando Hunth,

Thanks for the reply!

Right... but the Set workflow status action looks like it can only take literal string entries rather than a variable.

Regards,

Patrick

Badge +9

Hi Patrick,

Are you sure? Here it is O365

Set Workflow Status.png

Regards,

Christophe

Userlevel 4
Badge +10

Hi Christophe Raucq,

That is interesting... Here is a screenshot from on-prem. It looks like there is one action that is actually better in O365! Does anyone know if on-prem will be getting this feature?

181289_pastedImage_0.png

Userlevel 4
Badge +10

Hi Frank Field. I want to use the action in  UDA where the outcome can be anything they feed into the parameter.

Badge +17

Patrick,

What are you attempting to do here. You could set a variable for the outcome of a flexi-task and use that within a workflow and you could also grab a workflow status of another workflow an pull it into a variable.  I have not seen the ability to grab the current workflow status as its generally not set until after the workflow is run which is why you see the set workflow status action only.

The image that Chris sent you does the same and allows the status to be set, but because of how O365 runs, its a tad different and allows variables which is the same as the text that you can set for on-prem. Unfortunately the text is hard-coded as you see in the image below

181333_pastedImage_0.png

Userlevel 4
Badge +10

Hi Eric Harris,

I want to put this action into a UDA and be able to pass a custom workflow status into the UDA via parameters. The way on-prem seems to work now is that the workflow status must be literal and keyed into the action.

Thanks,

Patrick

Badge +17

Patrick,

Your assessment is correct.  One way you could do this is create a run if or some logic to choose the correct status based on the variable. The workflow status shouldn't be too vague or unpredictable but this allows you to set additional messaging in the status of the workflow.  Not the best use of that functionality when you could use other methods to pass information to the user, but doable.

What are you trying to achieve with the status?

Userlevel 4
Badge +10

Eric Harris,

Messaging is not what I want to accomplish. Often times, due to complexity and the length of time that some approval processes run (approval on a $100k+ piece of equipment for example can take the government a long time to approve and fund) we split our workflows into several smaller workflows. With this we create a view that acts like a dashboard called workflow monitor (see screenshot) and rather than all of the workflows saying "Completed", we what to use things like Approved, On Hold, Rejected, Funded, etc. We use a series of several common actions immediately after a flexi task is completed and want to create a UDA to house all of these action and include the ability to send a custom workflow status into the UDA via a parameter. I cannot for the life of me figure out how to do that the way the on-prem action is configured. As for your suggestion above, can you please clarify? I think I must be a little dim because it is not sinking in. happy.png

Thanks,

Patrick

181346_pastedImage_1.png

Badge +17

Patrick,

Thanks for the explanation.  Two thoughts? 

1. Instead of using the workflow status to show the status of the workflow, you could create an additional text field that can be set via a variable.  This would essentially be the same as what you are attempting to achieve with the workflow status but its a text field on the item (which is the same as the workflow status field).

2. On the statuses, you can do that by creating a switch that runs when the status is set to a particular thing.  You would run the switch within the UDA to take the value and evaluate it then act accordingly.  I would go with the above of using a text field to display the status versus the workflow status.  You want to know that the workflows completed, are pending, started, suspended, so changing the status may hinder knowing how the workflows are really running unless you keep an internal ledger for translation.

181351_pastedImage_2.png

Userlevel 4
Badge +10

Eric,

I can see how this may be a limited workaround but you are still stuck with a predetermined group of responses in the UDA. Suppose a new process is created and there is a totally new status that we want to use... This will require a reset of the UDA. I am just trying to give it maximum flexibility.

If I can get the Set workflow status to accept a variable, I will not need the switch because the UDA would be dropped in each branch after a flexi task and given whatever parameter value the designer desires. So, if she comes up with a new outcome, it is just a parameter to fill out in the UDA rather than another action to add to the workflow.

181360_pastedImage_1.png

Badge +17

Patrick,

What you are wanting to achieve is doable and should be done by setting up an item level column that can be used for reporting.

Your workflow is the backend engine that enables the reporting to occur.  If you were building a report to show the workflows running and their statuses, the outcomes should not change. To address the business aspect of what you are looking for, take a look at my first thought and use a new column to hold those outcomes. It will be easier to create and manage that and you aren't limited to just a text value held for a workflow status.  Yes, I agree that you want the "workflow status" but if you are creating that via the workflow, then I would suggest creating a new column to store a "new workflow status" and go from there.

Userlevel 4
Badge +10

Eric,

That seems like the most reasonable workaround. In some of my cases, that means setting up 12-13 item level columns to cover all of the workflows which sort of replaces the work that the UDA saved but I guess at the end of the day, there is no way to do exactly what I what to do and it is not on the roadmap.

Thanks for all of the feedback.

Regards,

Patrick

Userlevel 4
Badge +10

Just to clarify, after a lot of helpful feedback and some possible workarounds, it seems that the answer to the original question is no. You cannot feed a parameter or variable into the "on-prem" Set workflow status action.

Badge +17

Patrick,

I took a look at this and had an idea.  While capturing the workflow status for each workflow and updating it to show the process of approvals on a horizontal format is good, why not use one status field on the item to show where the item is through the process.  You have it setup for that already based on your screenshot of the dashboard, but you have multiple columns showing for each item.  Collapse the columns into one "status" column and ensure the data is descriptive of the step and process.

Item Name       Request Status

Air Ducts         Step 4: SRC-Processing Tier 3 - Pending

The user could look at the status and know what step they were in based on that. Its a different way of displaying the same data and still shows because the workflow would update the status when it completed.

Userlevel 4
Badge +10

Eric,

Request status shows a current status of the overall request but the links to the workflow status provides history log detail if more information is desired about any given stage of the process. That is why I like the actual links in there. It gives the user a drill down to more granular detail. And by the way, I accidentally made my response to you the correct answer yesterday. Sorry. UI meant to make your answer the correct one. Sorry about that. Just fixed it.

Patrick

Badge +17

Hey no credit needed. Its a community thing and I hope you get the results you need.

Reply