Manual bypass for a step

I’m a BPM n00b and would need some help to model my process.
The problem is that I have some steps that I want to be able to bypass manually if the step is not completed automatically.

in that workflow, there are 2 steps that I want the user to be able to bypass, if automatic execution doesn’t work.
The 1st one (wait for “action”) just calls external program to do something and waits for it to complete.
The 2nd one (wait for signal) calls external program to do something and waits for signal to continue.
Both of those steps might fail and I want to continue the workflow regardless.
What’s the correct way to model that?
Current implementation works, I’m able to bypass the step, BUT
if the workflow follows the happy route 1st step is completed and 2nd step receives the signal,
those “manual override” user tasks still stay hanging in the task list. How do I cancel them when the automatic steps got completed?

I cannot use timers, since there is no way of knowing, how long the automatic execution might take.

Any help would be greatly appreciated

1 Like

I think you could probably implement this better using an error boundary event on the service. If the service isn’t successful you can throw aBPMN Error which would then trigger the user task.
This example should help.

1 Like

I too consider myself a noob and better than that I tend to not follow all the “rules”.

Most of my BPMN diagrams are not well accepted by the BPMN purists.

This example may not help, it may be way off but, I offer it as some imagination.