Move/Delete Token in running process


Hi there

We have a simple BPMN modell (Task 1 > Task 2 > Task 3 > Task 4 > Task 5 > Task 6).

Now we have two requirements, we don’t know the solution:

  • Requirement 1: The person who needs to fullfill the process (Task 1 - 6), need to have the possibility to restart the process at any time (Task 1 - 6). For example at Task 4, he recognise, that he made a mistake on Task 3, so he can restart the process at Task 1.
  • Requirement 2: When the process is started new (Req 1), Task 1, Task 2 & Task 3 should be done by the person again. Task 4, Task 5 & Task 6 should only be done, if they have not already done in the initial process execution (before restarting process)

Can someone help us, how to model this process with BPMN and how we can programm this (deleting / moving a token in a running process to Task 1)

Thanks a lot!!!


Hi @roland_pfister,

have a look at this process:

The event subprocess handles interupt and restart.

Add task listeners to task1 to 3 to set the assignee according to your needs. Pass variables at process restart to control the listeners and the gateway.

Hope this helps, Ingo


Thanks a lot for your help!