I have attached a sample diagram of what I am looking to do. One of the activities (Activity 2) calls an external process (smo) and receives some data back. At the most basic level (and to keep this simple), the data it receives back is either true or false. If true, the workflow will move on to Activity 3. So far, so good.
What I want to have happen if the data it receives back is false, is to have the activity wait for some interval (like an escalation) and then run that same activity again (Activity 2). I want it to do that every X minutes for up to Y # of retries (so long as the returned data is false) If, during the retries, the data comes back true, it will move on to Activity 3. If, after the last retry, the return data is still false, move the workflow to a different activity, Activity 4.
I'm sure this could be done with additional activities and data fields and such, but I am ultimately looking to see if this can be done with only the activities in the diagram using escalations, data fields, or something similar. If not, then I'd be interested in how you'd go about it another way.
Any help you can provide will be greatly appreciated.