How to Restrict Queue Trigger Execution to Specific Robot-Machine Pair in Modern Folder

Hi everyone,

I’m working with a Modern Folder setup in UiPath Orchestrator and facing a challenge with queue triggers and robot-machine mapping.

Scenario:

  • I have one queue (E-Invoice Process Data) created in a single folder.
  • I have two unattended robots:
    • ato1-robo assigned to machine ato1
    • ato2-robo assigned to machine ato2
  • I want to enforce a strict 1:1 mapping, so that:
    • Only ato1-robo on ato1 processes with its queue trigger
    • Only ato2-robo on ato2 processes with its own queue trigger

What I’ve Tried:

  1. Created subfolders, each with:
  • One machine
  • One robot
  • A queue trigger
  • Performer process from the Tenant Feed
  1. Tried adding queue triggers in both subfolders for the same queue:
  • Got the error:
    “This option is currently not available because it’s already associated with a process in another folder.”
  • It seems that queues can’t be used in multiple queue triggers across different folders.
  1. In a single-folder setup with one queue trigger:
  • Execution randomly assigns jobs to either robot

My Question:

  • Is there a clean way to enforce queue trigger execution for specific robot-machine pairs within Modern Folders?
  • Can I restrict queue item processing to exact robot-machine combinations before execution starts?

Any advice or proven patterns to handle this would be appreciated.

Use Separate Queues Per Robot

This is the cleanest and most maintainable option.

  • Create two separate queues:
    • E-Invoice Process Data - ATO1
    • E-Invoice Process Data - ATO2
  • In Orchestrator:
    • Create two subfolders:
      • ATO1-Folder → assign ato1-robo and ato1 machine
      • ATO2-Folder → assign ato2-robo and ato2 machine
    • Create a queue trigger per folder, pointing to its respective queue.
  • In your Dispatcher process (if you have one), assign queue items based on logic or config to the appropriate queue.

@srihari1,

You can directly specify the Execution target like this.

Dear @ashokkarale,

Thank you for your response.

However, my requirement is to run the same process in parallel on two different machines. If I configure it the way you suggested, it only allows one bot to run at a time, even though I have multiple unattended licenses.

Dear @bhavesh.choubey ,
Thanks for the suggestion, but I don’t think using separate queues per robot is a scalable solution.

It’s not advisable in my case because:

  • If I want to add another unattended license or robot in the future, I would be forced to:
    • Create a new queue
    • Update the dispatcher logic to push to that queue
    • Possibly modify the performer workflow to handle a new queue name
  • This introduces unnecessary code changes and config overhead every time we scale
  • It tightly couples queue logic with robot infrastructure, which is not ideal for long-term maintainability

Oh ok got that @srihari1.

Can you try this approach if not tried already.

  1. Create a machine template with only robots on which you have to run this bot.
  2. Configure the Queue trigger Execution Target like this.

Dear Mr. @ashokkarale, I have tried it it not working as excepted

@srihari1,

Could you share how this setup behaves?

@srihari1

you cannot create two triggers for same queue..instead you need to create account machine mapping and the same would be used across even if you dont choose the account and machine as the mapping is created

cheers

Dear Mr. @Anil_G, thankyou for your valuable responses, It work as excepted

1 Like

@srihari1

Glad it helped

Happy Automation

cheers