Best Practices for come back in previous step

Hi guys,
I need to manage this scenario:

  • In my process definition I have multiple Human Task (10)
  • After each Human Task, I could come back at first Human task, if a condition is verified
  • I don’t want insert a conditional component for each human task but I’d like to manage with an event component. When Event component triggered, I go to first human task
  • I’d like to create a clear and legible bpmn

Which is the best solution for my scenario?


Hi Luca,

What about this?


Perfect for me. Thanks a lot. If I want recovery the previous status, if possible?


I’am in Task 3.
Trigger “Restart” with custom business logic
At the end I need to return on Task 3 and not start from Task 1.

What is the best practice?


If you need to return to any task dynamically based on the previously active task, then I think BPMN is not really well suited to express that. CMMN is better suited for non-linear sequences of activities, but I doubt it can deal with the dynamic aspect well, either.

Depending on your use case, you could think about using process instance modification to recover a specific state. Or you could think about pulling things a little bit apart, e.g. by having separate process instances for each restart and use flexible process instantiation to start new instances in the correct state.