Hello Amit – as Dmitri said, I’m working on a new feature that might be interesting to you. Let me describe it to you briefly and we take it from there. Keep in mind this is still a WIP idea and may change, but what we’re thinking is that we’ll be able to add a new return status from an Action, like “paused” or “awaits” that signifies that additional data is needed. This could be a simple binary approve/reject from a manager, or it could be a request for additional data to proceed, such as a second factor for authentication – something you simply can’t bake in to the workflow.
So, we’d likely introduce a new action, something like “st2.ask” that returns “awaits” by default, and only returns a success status if this data checks out (someone has approved). The API will have a new method that external entities like the CLI can provide the needed data and re-run this execution. Provided it checks out, the rest of the workflow continues normally.
All that said, this isn’t really an async execution solution, it just pauses for more information. So, while this may not tackle your use case directly, I am still interested in your thoughts. It does seem to map fairly well to the Mistral link you shared.