Hi everyone,
I’m currently building an agentic automation project using UiPath Maestro, REFramework, and UiPath Agents, and I’m a bit confused about the correct architecture when working with queues and transaction ownership.
My current process design looks roughly like this:
- Dispatcher process:
- Reads invoice emails
- Downloads PDF invoices
- Pushes invoice paths into an Orchestrator Queue
Then inside Maestro I have:
- Extraction workflow
- Gets queue item
- Extracts invoice data
- Validation workflow
- Validates business rules
- Calls an Agent if contextual reasoning is needed
- Performer workflow
- Enters data into ERP
My confusion is about how queue ownership should work across these workflows.
At first, I was thinking:
- The extraction workflow should get transaction items itself
- Another workflow should set transaction status
- Then I should create some kind of loop to keep fetching queue items until no more items are available
But now I’m not sure if this is the correct way when using Maestro.
So my questions are:
- In Maestro-based architectures, should every workflow directly interact with the queue and transaction items?
- Should I simulate REFramework behavior manually (Get Transaction Item / Process / Set Transaction Status)?
- Is it recommended to build loops inside the BPMN process to continuously fetch queue items?
- Or should Maestro itself orchestrate the transaction flow while workflows simply receive/process data?
- What is the recommended enterprise approach for queue ownership and transaction lifecycle management in Maestro?
I’m trying to understand the cleanest architecture and avoid overengineering or misusing queues between workflows.
Thanks in advance!