Thanks for the answer !
I’ll try with a simple example to help you understand my need.
Let’s imagine a simple workflow made of 3 activities. The first two ones performs some database operations, and the last activity send an email to an email address taken from the workflow input parameters.
When writing the workflow, the developer forgot to check the email input.
When reaching activity 3, after successfully ended activity 1&2, the last activity failed because of a NonRetryable error: the email address is missing from the workflow input, so for the activity input.
Let’s say we are in production and we have 10 workflow executions failed with customers waiting for the execution to complete.
The obvious fix for the future workflow executions is to check the input before starting any activity (or even better, before launching the workflow).
But how to fix the already launched and failed workflow executions ? We’re talking here about some RUN operations to fix a failed activity.
Fixing the activity code to allow empty inputs does not fit to my need as I don’t have a “default value” for email address. In our current run operations, I’d look into each failed workflow execution to determine manually to proper value to set for email address.
In our homemade workflow orchestrator, we are manually going into the database to update the input parameters of the step (“activity-like” concept), so the next run of the step will have the correct input.
I don’t want to restart a new workflow with the same input as I don’t want to execute again activity 1&2.
I had a look on the reset feature, it fits the need to reset the workflow without executing again activity 1&2, but I can’t change the worklow inputs with a reset.
Regarding how Temporal is working, it does not look easy to change inputs in an existing workflow execution, and the need I have is probably due to some old (bad ?) habits we have with our current homemade workflow orchestrator, but members of my team are pushing this feature as a mandatory one to properly move to Temporal.