What is multibot architecture in UiPath?

Hi Team,

Good Evening!!!

Could you please explain me in little bit in detail about the MultiBot Architecture?

How have we been using it, means the procedure ?

Thanks in advance!!!

@Sanket_Shinde1

Yes, we do use in almost every bot we build.

Here is a quick explanation on this. It’s generated by LLM but validated by me.

Multi-Bot Architecture in UiPath:

The Multi-Bot Architecture in UiPath typically involves the use of multiple robots (bots) to handle different parts of a larger process. This architecture is designed to optimize workload distribution and process efficiency. Here’s a detailed look into the Multi-Bot Architecture focused around the Dispatcher and Performer model:

Dispatcher Bot

  • Purpose:

    • The Dispatcher Bot’s role is to collect data that needs to be processed and add this data to an Orchestrator queue.
  • Typical Workflow:

    1. Data Collection: The bot gathers emails (with one or more attachments) and downloads these attachments.
    2. Queue Population: For each row of data in the attachments, the bot creates a queue item in UiPath Orchestrator.
    3. REFramework Initialization: Although REFramework (Robotic Enterprise Framework) is often used for initializing bots, a Dispatcher might sometimes be customized to fit more straightforward processes since it does not always require complex state management.

Performer Bot

  • Purpose:

    • The Performer Bot consumes the queues populated by the Dispatcher Bot and performs the necessary processing.
  • Typical Workflow:

    1. Initialization: Set up machines and schedule jobs to start Performer Bots simultaneously.
    2. Queue Processing: These bots run in parallel, each fetching data from the queue in a way that avoids conflicts.
    3. Orchestrator Coordination: The UiPath Orchestrator ensures that if one bot picks an item, its status is changed to ‘In Progress,’ preventing other bots from picking the same item.

Here’s how the interaction between Dispatcher and Performer Bots usually unfolds:

  1. Dispatcher Setup:

    • The Dispatcher Bot is configured to read emails, download attachments, and parse data into a structured format.
    • The parsed data (typically each individual record) is added to the Orchestrator Queue system.
  2. Performer Setup:

    • Multiple instances of the Performer Bot are scheduled to run concurrently.
    • Each Performer Bot interacts with the Orchestrator Queue to process items. When one item is picked by a bot, it is flagged to ensure no conflict occurs with other bots trying to process the same item.

By using this architecture, tasks are efficiently expedited through load distribution. The UiPath Orchestrator plays a crucial role in managing these queues and ensuring seamless task allocation.

Key Considerations

  • Shared Resources: Common resources (such as shared drives or storage buckets) must be accessible to all Performer Bots to avoid data inconsistency issues.
  • State Management: Proper planning for state transitions (Initialize, Get Transaction Data, Process Transaction) within REFramework is crucial to maintain smooth operations.

This architecture enhances scalability and reliability in automation processes.

1 Like

@Sanket_Shinde1

its more about running the same process with multiple bots at same time

few considerations

  1. If using files then need to make sure we have a locking mechanism so that two bots dont try to access file at same time and fail
  2. if usign applications make sure different logins are used or application supports multi bot
  3. any outputs generated for consolidated reports etc are not generated multiple times instead are done by only one bot and other bots ignore it

cheers

1 Like

HI @ashokkarale , Thank you so much for this valuable insights.
Now I have understood the what is multi-bot architecture how its works.

Could you please tell me that how we can assign multiple bots to the same queue?

Glad to hear that @Sanket_Shinde1.

You will have to just trigger another job for the process. The Queue items will be picked up by both jobs without any conflicts at all as the logic to avoid any queue items being picked up by more than one bot/job is already handled by Orchestrator. We don’t have to worry about it and it never fails.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.