Is there a way to Restart the workflow process due to the external input ?

Is there a way to Restart the workflow process due to the external input ? Say for example, consider this flow.

Step A → Step B → Step C → Step D.

Work flow instance created for the above mentioned flow.
It moved from Step A to B to C.
Now Step C being worked by a user.
If user of Step A changes few inputs, my workflow should restart from the beginning.

Is there a way to Restart the workflow process due to the external input ?

You could add Boundary Catch Message to Task C. This event would direct the flow to Task A. Depending on the point from which you want to trigger the flow reset, you could just insert the Throw Message in the appropriate place or throw the message programmatically. Creating a REST API extension would be suitable if the source of the flow reset is external.

In essence no, you have to completely redesign your process to accommodate this issue.

You problem is when do you want to go back? And what has changed? The answer already given sticks to your example of C, however you really need to take care of A, B, C etc.

The problem with your question though is this statement:

If user of Step A changes few inputs, my workflow should restart from the beginning.

The fact is if you are already at C (or B) you cannot change A inputs, it doesn’t make sense. This needs clarification.

Then again, if your question relates to (for example) if there are changes to the drop down selection lists used in A and you now want to restart the case by going back to A so you can use the new selection list this is a different matter.

There are two methods of doing this: loop back to the start with the data you already have and use that, or start a new case copying the data to the new case and “closing” the current version.

Either way you have to recognize how or what changed in the form to enable you to decide if you want to restart the process.

I you can clarify What is changing that would help in being able to give you a clearer answer.

regards
Seán

Hi… I have got the same kind of req.
Step A → Step B → Step C → Step D.
Work flow instance created for the above mentioned flow.
It moved from Step A to B to C. Now Step C being worked by a user.
If external call or input to Step A/Any point, workflow should restart from the beginning or corresponding Step.

Restarting the flow from a previous point. ( Includes initializing a new flow/subflow and closing out old one)(Manually from User or an automatic message driven event)