I have an approval that has a limited time frame. If the person who is supposed to approve does not respond within a set period of time, then a default response is taken and the workflow is ended.
Guided by other posts, I implemented this by setting up a parallel flow that sleeps for that set period of time and when it wakes up checks to see if a response was provided. If not, the default action is taken and the workflow ends using an End this Workflow Step.
But I noticed if the approver later clicks on the link in the approval email after the workflow has ended, they can still complete the approval form and are told that the task was completed successfully.
How can the approval task be canceled so that the approver is notified that they are too late in responding. I assumed ending the workflow would have done this automatically.
Solved! Go to Solution.
Have you tried combination of 'escalation' after desired duration and 'auto-complete' with required default response. Does this not work for your use case.(see screenshots)
If you could be more specific on what exactly are your requirements, there may be a better solution than canceling the workflow
I am using form approval not express approval, because I want the recipient to have the smoothest experience by being able to click on a link in the email and select an option.
Form approval does not contain either the Default Outcome feature or the Auto Complete feature. (It's not clear why those features are not available for form approval.)
Here is my goal:
(1) Approval email is sent to the recipient, who has a set amount of time to respond. (This is not actually the situation, but think of it like: "You have 48 hours to respond to claim your prize.")
(2) If the recipient fails to respond in that period of time, treat the approval as silently rejected, which means do not send the recipient a message telling them they waited too long.
(3) Alert another user that the recipient failed to respond on time.
(4) End the workflow.
If the recipient should happen to attempt to respond after the expiration date, let them know that they waited too long or otherwise that they can no longer respond.
The best solution I can think of is to create a variable called ApprovalTimedOut, set to false by default, but if the approval expiration date is reached, then set it to true.
Then in the approval form, include form and submit rules based on ApprovalTimedOut=true and trigger an error message if the user tries to submit the form.
However, the form and submit rules are being ignored by the form. The form does not seem to recognize that ApprovalTimedOut has been changed to true even though I can see in other steps that the value has been changed. Not sure how to get assistance with that issue.
I can see this as a limitation when you don't have an auto-complete or cancel task with a time bomb on the form based "assign task" action.
May be worthwhile raising it in Nintex Uservoice
The solution you found seems to be brilliant!!
I implemented it slighly differently in my environment
1) I created a Due Date variable using date calulation by capturing the created date of the form and using 'add date' function(you don't need to show due date on the form I did just for Demo)
3) I created a submit rule "if dateNow(dateNow function on Nintex form) "is after" "varDueDate"(due date variable) show validation error "This task is expired"
It works for me see screenshots