Bpmn goto?


I have a process consisting of a number of steps.

The customer wants to be able to reset the process, meaning he wants to go back to a point very early in the process. He wants to do that from nearly all the tasks further down in the process. Drawing a lot of Sequence Flows would obviously be a mess. So I am looking for a sort-of goto statement in BPMN, that works with Camunda, of course.

I put in Boundary Events (types Message and Signal) wherever reset should be possible, and placed a catching Event at the beginning of the process, to have it continue from the start again, but this doesn’t seem to keep the execution alive. Attaching a Boundary Event to any tasks where reset should be possible seams feasible, I just don’t know which sort of Event to use.

Attaching a Sequence Flow with a Link to each of the Tasks would inflate the diagram significantly.

Any ideas?

Thank you, Matt

Hi Matt,
I would put your tasks in an inline sub process and use an error boundary event on the sub process to route back to a start point. Hence any task in the inline sub process could throw a BpmnError as the reset indicator. By using a sub process and boundary event, you then don’t need to explicitly model a bpmnerror from every task…


Hi Rob,
appears to be a neat solution, will certainly try it.

good afternoon,
this is a very interesting way to solve the problem, please, if possible, you will put an example of this solution


The idea I had was something like the enclosed process model diagram…





I have similar problem and i want to re process the single record from source data.

As of now i can able to reprocess it but it is processing total records instead of single record.

Can you please suggest me how to reprocess single record with any step.

Thanks in advance.