Python RPA + Orchestration - Here it comes

This is a discussion topic for the original post at Python RPA + Orchestration - Here it comes. - Botcity | Blog

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 in the core of the 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 a process, choosing powerful programming languages like Python instead of a low-code solution has become 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, 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 big picture of your entire operation.


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 state of the task.

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

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:

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 in a single screen:


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.


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.

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.


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 to bring your RPA statistics into Google Data Studio and Power BI.

Free Version

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