I am currently integrating OpenRPA workflows with Node-RED using REST APIs.
My current flow is:
HTTP IN → RPA Workflow → HTTP RESPONSE
I am able to trigger the OpenRPA workflow successfully from Postman through Node-RED. However, my requirement is to provide live execution status updates back to the API caller, such as:
Bot Started
Running
Completed
Failed
Idle
I noticed that the OpenRPA workflow node provides separate outputs for:
Success
Status
Error
I want to understand the best architecture/pattern for handling live workflow execution updates in this scenario.
My questions are:
What is the recommended way to send real-time workflow status updates to the API client?
If REST is a requirement, you need to keep track of each request and implement a way for the client to poll for status. But then you are basically just implementing a work item queue, so you might as well just use that and get all the benefits like resilience, better tracking, and well-tested and well-known patterns.
If the client can use web sockets/gRPC, then skip Node-RED and talk directly to OpenRPA. Node-RED is simply talking to the RPA robot using message queues, and using the OpenIAP SDK, you can do the same from any programming language, but personally, I would recommend you use work item queues.
1 yes
2 yes
3 yes
4 using workitem queues is the best in 99% of cases, but if you really want live status, this is the only way ( but you can also combined it, use workitem queues for transactional state AND talk to the robots for status )
5 No. But you can find information “scattered” around on this forum,
like Can we see OpenRPA logs in OpenFlow and Start BOT via API call - #2 by Allan_Zimmermann