I'm new to Nintex and somewhat new to workflows. I'm working on a workflow that I need to pause until:
1. Either two fields (Assigned Owner and Classification) are filled out correctly (i.e. Assigned Owner is not blank and Classification is not equal to "Not Classified"). If this condition is met before the Discussion Due Date, I'd like the workflow branch to continue without regard to the Discussion Due Date.
2. The Discussion Due Date has passed and either one or both of the two fields (Assigned Owner and Classification) are not filled out correctly, then I want the workflow to stop.
Any ideas on the best way to do this? Right now, I'm just pausing the workflow until the Discussion Due Date and then checking the fields with parallel run-if's to see if the conditions have been met before proceeding with the workflow. I don't really want to do that. If someone completes the information before the due date, I want the workflow to start up and continue.
Solved! Go to Solution.
There's a couple ways you could do this, but I'll mention two of the most popular actions to use in this sort of scenario:
1) Loop action: simply put a condition inside of your loop to continually check for the conditions that you described earlier. Exit the loop when the conditions are met and take whichever branch you need thereafter depending on the values. A loop is restricted by the safe looping mechanism so it'll pause 5 minutes before each iteration after the first. This is good because it won't take up too many resources.
2) Wait for item update action: You could use one or more of these actions in a series to work out your conditional logical. The workflow will pause until that field is updated and then you could perform some run if logic to see what the values are.
Hope that gets you started
Thanks for the response. I'll try the loop first, although I thought it was meant to loop through an entire list and not just the "current item". Can the loop check for more than one condition? So many questions, so little time!
Loop repeats itself while a condition is true, it's not about looping through a list or anything specific.
There's the Add condition control to choose from And/Or just below the value to answer your "more than one condition" part of the question.
Thanks for the input. But what if someone updates the record but does not update the Assigned Owner and/or the Classification. They updated some other field in the list. Will it continue to wait? And, why a calculated field? For the date condition? Thanks so much for your input.
I would recommend a slightly different approach. Personally I do no like pausing workflows for a long time. A "Wait for item update..." or loop with "Pause Until..." will run in the background every 5 minutes (or whatever the timer job is set to execute) to check if the conditions are met. I would recommend splitting up your workflows and creating two separate ones (not sure if that is possible in your scenario). The first workflow will terminate at the time the workflow needs to pause. You can create the second workflow with a conditional start, i.e. based on the Assigned Owner and Classification being filled out correctly, and then it can do whatever you need to do.
Once again, best to illustrate what it waits for:
It waits for a specific field to change, and moreover, to equal or to not equal something that was the case when it starts waiting.
This approach would work as well. It all depends on if you want the context to be within one workflow, or two workflows. Some companies I deal with want it all in one workflow so that they can log and report on a single workflow. Again this is a good approach depending on your requirements.