Re trigger task if it has not not been accepted after 5 mins and stop re triggering once it's accepted.

I have a use case in which a task is assigned to group and re triggered every 10 mins if the task has not been accepted; once accepted the re triggering of task should stop.

I used task report to fetch data if the task is accepted or assigned and work on the same in the expression rule of escalation timer but the task node gets paused.

Can anyone suggest something for this ?

  Discussion posts and replies are publicly visible

  • +1
    Certified Lead Developer

    It sounds like you already have it set up approximately how I would have guessed it should be done. Can you perhaps show us a screenshot of your exception timer event configuration just so we can confirm (and help verify against errors)? I'm also curious whether you can provide any additional detail about the task node getting paused - I don't know why this would be happening when the expression condition for the timer event is false (i assumed the timer would just be ignored in this case).

    A potential issue here is that as far as I can tell, the timer condition expression might evaluate immediately upon node execution (and not, for example, when the timer hits) - in which case, the timer would fire regardless of whether the task had been accepted, since it hadn't been accepted as of the time the node was first executed.  I'm unsure if there's an easy way to test this, though, and the documentation does not seem to clarify one way or the other.

    Edit to add: I seem to have been able to accomplish what you're wanting to do by setting this condition on the timer expression (it simply checks whether tp!owner exists for the task instance, which hinges on the acceptance status):

    rule!APN_isBlank(tostring(tp!owner))

  • Hi Mike,

    I could've used the method you mentioned about checking the tp!owner but as we already know that since the timer condition gets triggered as soon as the flow reaches the task node and that moment tp!owner will always be blank. So, regardless condition will always evaluate to true.

    Regards,

    Mohit

  • Hi,

    Added an AND gate before your UIT to split the path into two flows,
    1. for Task
    2. for wait (which wait for 10mins) and through Process report you get the Task Status (Accepted/Assigned)
    If the task is still not accepted then Set the Exception variable to TRUE (use this variable in UIT exception) and then reset.

    Thanks
  • 0
    Certified Lead Developer
    in reply to mohitshah
    I assumed that would be the case also, but when i tried, the example process model i created actually worked the way you want (hence the edit to my prior comment). Mind showing a screenshot of the configuration of your node timer?
  • 0
    Certified Lead Developer
    in reply to mohitshah

    As a followup to my prior comment, here are the results I get when trying this, with 2 separate instances of the same process (group-assigned task):

  • Hi Mike,

    I guess there was a problem in my initial configuration of the timer you suggested.
    I tried with a sample PM and the solution you provided actually works, but i don't understand how it works. Seems like it evaluates the timer condition dynamically.

    Much thanks for the help. Let me know if you know how is this solution working as the documentation for the escalation timer doesn't help.

    Regards,
    Mohit
  • 0
    Certified Lead Developer
    in reply to mohitshah

    Thanks for the confirmation -- so upon thinking about it further, I've realized that the use cases for having the conditional expression evaluate upon node execution (and not at the time of the timer firing) would be very very limited... so it makes much more sense that it works this way. It would be nice, however, if the documentation explicitly stated this at least, so as to avoid future confusion.