Python RPA + Orchestration – Here it comes.

There is a growing trend for developing RPA solutions as ordinary software using traditional programming languages like Python. Citizen developers are primarily automating their basic day-to-day tasks. When automating complex processes at the core of a company’s operations that involve multiple employees, a technical squad with experts in automation and integrations is mandatory. As technical squads are involved in such processes, choosing powerful programming languages like Python instead of a low-code solution is becoming more common.

Benefits of using Python to Develop RPAs

There are many benefits of using programming languages like Python to develop your RPAs:

  • Use thousands of open source frameworks for automation-related tasks.
  • Easy to reuse your solutions through modularization (i.e., creating libraries)
  • Automations developed in open technology instead of proprietary format.
  • Adopting software engineering best practices like Design Patterns, Refactoring, Automated Tests, and CI/CD.
  • Customize your technology stack based on your needs.
  • Best use of computational resources through software optimization.

Orchestrating Python RPAs

However, the development of RPA automation is just one step in delivering a solution to production since you must be able to:

  • Deploy your automations into runtime environments.
  • Schedule the executions of your automations.
  • Manage tasks in Queues
  • Monitor executions.
  • Trigger alerts and notifications.
  • Handle errors immediately.

In order to have all these features in your RPA operation, you have to use an Automation Orchestrator. BotCity Maestro is the first RPA Orchestrator created for RPAs developed as ordinary software. Therefore, it’s easy to use via SDK or API directly in your RPA code.

BotCity Maestro Orchestrator

BotCity developed a Cloud Orchestrator that addresses all the issues described in the previous section. Now you can deploy and orchestrate your Python RPAs using Command Line Interface (CLI), APIs, and web platform.

Home Screen

On the Home Screen, a dashboard is shown displaying basic information, so now you have the big picture of your entire operation.

BotCity Maestro Home Screen


The Task Queue shows tasks in execution, ready to be executed, and finished. Each card represents a single task. The color in the bottom bar indicates the status of the task.

BotCity Maestro Task Queue

Using the New Task feature, you can create a new task for a specific activity directly from the portal:

BotCity Maestro New Task Module.

You might also create tasks through API or CLI. Just a single HTTP Post, or CLI command, and a new task is added to the Queue. Runtime environments get the tasks from the Orchestrator and execute them automatically.

Clicking on the task card you can see the task details including its properties, execution errors, alerts, or files uploaded during the execution, as shown below:

Task Details

Easy Deployment

Maestro Orchestrator provides a simple 3-step deployment process:

1. Automation Name

2. Bot Deployment File and Properties

3. Runtime Environment

Error Handling

The development of RPAs mainly involves third-party systems that we do not have any control over. These systems might be updated at any time, changing UI behavior and breaking our automations. Time response to changes in systems is crucial in RPA maintenance.

Maestro Orchestrator provides a simple and powerful method to monitor and react faster to errors in automation execution. A single line of Python code sends errors to Maestro while handling exceptions in Python. Developers are notified, and they can check error messages, stack trace, a screenshot, and other information on a single screen:

Error Form


Logs are a compelling way to track the execution of your automation and collect metrics. You can set different columns for each log table and log information in real-time from a single Python command.

BotCity Maestro Logs Module.


When we have multiple automations running at the same time, it is a challenge to visualize the entire operation. Alerts are used to provide small messages that can describe some specific aspect of given automation. Just a single line of Python code and it is done.

BotCity Maestro Alerts Module.

Runtime Environments

Machines are runtime environments used to execute automations. It can be a virtual machine, a container or even a physical machine. It is a computing resource for execution. This module lets you visualize and manage such environments.

BotCity Maestro Runtimes Module.


When it comes to monitoring and managing a complex operation with multiple automations, it is often necessary to have a dashboard that shows the status and critical KPIs. Using BotCity Connectors you can bring your RPA statistics into Google Data Studio and Power BI.

BotCity Orchestrator Dashboard Module

Free Version

BotCity Maestro Community lets you explore the orchestration of Python RPAs for free. Just signup for free and start using it today.


Gabriel is co-founder and CTO at BotCity. He is one of the maintainers of BotCity Core, Marvin, and MarvinJ open-source frameworks. Follow me: https://www.linkedin.com/in/gabrielarchanjo/

Leave a Reply