We are validating the use of N8N as an orchestration between a frontend, some automated backend processes and manual human input.
N8N will drive the flow. Simplified example:
Client clicks "Start: on Frontend. Frontend makes request to start N8N Workflow.
N8N Workflow responds with success does stuff in the background.
N8N Workflow calls back to Frontend client with request for more information. Client gets push notification in app to fill in a form.
Is this flow possible within N8N? As far as I can see, the only supported nodes (HTTP trigger, HTTP request) do not really allow for asynchronous bidirectional communication. Is there a websocket or event based node that I am not seeing?
As it stands, the only option I see is to build a microservice as a gateway between N8N and the frontend app - minimising the value of using N8N as a Workflow Engine in the first place.
From what you describe this definitely seems possible to do using n8n!
You could use our Webhook Node Webhook | n8n Docs to trigger the workflow when the button gets pressed, as it listens for inputs in real time.
You could then use an HTTP Request node set to POST to notify your user that the workflow is executing and later on another to Post the form.
You could even divide the form part into a sub-workflow and use the n8n Form Trigger Node to set another workflow going automatically when your users submit the form.