RPA orchestration: How to deploy any automation in BotCity Maestro

Continuing our series of articles about RPA Orchestration, this time, we will understand how to deploy our automation step by step in the BotCity Maestro platform, where we can deploy any automation, whether we developed it using Python, Java, JavaScript, other programming languages, or even different frameworks such as Selenium.
Let’s break this myth that it’s impossible to orchestrate automation developed in Python RPA, or other technologies.

Setup and environment configuration

First, let’s set up the environment so you can use the tools that will help you deploy. You should follow the steps indicated in our documentation, such as creating an account (don’t worry, this account is free so that you can test the features with the community license).

After that, validate the prerequisites for installing Java and other settings and installing the BotCity SDK.

Deploy your automation

Our BotCity Maestro orchestrator offers an integrated solution for managing your automation. Find more information about it in our documentation.

We’ll use an automation developed with Selenium as an example for the demonstration. If you want to use the same project, you can access it in our GitHub in this repository.

Preparing the robot for deployment

You have to create a zip file with all the project files. In our example, we can do this in two ways:

  • Creating a new compressed file called bot-selenium.zip;
  • Running one of the scripts in the folder according to your operating system: build.bat, build.ps1, or build.sh. These scripts will do the job for you automatically.

Deploying the automation using the “easy deploy” option

Log in to the developers.botcity.dev platform to access the orchestrator and its features. After that, you’ll have access to the home page, which demonstrates the first steps with the tool, and on the left-hand side, you will have a menu in which we will explore the functionalities.

Screenshot of the BotCity Maestro home screen

Identify the button in the menu on the left-hand side that says “easy deploys.” Click on this button to start the process. From now on, we’ll start defining information about our automation, robot, and runner.


Identify the field “What is the name of automation?” on the screen.

Screenshot showing easy deploys functionalities

In this example, we can call our automation “BotSelenium.” Then click the “next” button in the bottom right-hand corner.

Screenshot showing the button filled with the BotSelenium value in the automation name

Robot (bot):

The screen that appears next asks to add information about our robot.

Screenshot of the fields mentioned in the text

We can fill in the fields as follows:

  • Bot ID: we’ll keep it as BotSelenium;
  • Version: we’ll leave it as 1.0 because it’s the first version of our robot;
  • Bot technology: as we’re using Selenium, we’ll put the Python option;
  • Repository: in this case, we can leave it as default;
  • Bot file upload: we’ll drag the .zip file we’ve created to this field or click on it to upload it.

Then, click on the “next” button at the bottom of the screen.

Screenshot showing the fields mentioned in the text filled in

More details about the Bot technology and the Command option:

Screenshot of the options of technologies that we can choose described in the text.

The Bot technology field contains the following options:

  • Python;
  • Java;
  • JavaScript;
  • Command.

If you developed a bot with a technology different from Python, Java, or JavaScript, you can choose the “Command” option. With this option selected, you can run other kinds of bots. Find more details of the step-by-step process in this article.


In the final stage, we identify which runner the robot will run.

Screenshot of runner information stage

In the field on the left side, you can select an existing runner. If you don’t have one yet or need to, you can create a new runner in the field on the right side of the screen. So, at this point, you will only fill in one of them.

Screenshot with the runner value chosen and the deploy button enabled

Once the runner has been selected or created, the “deploy” button at the bottom of the screen will enable, and you can click on it.
At this point, the next screen should have a notification in the top right-hand corner showing the deployment was successful. In the center of the screen, you’ll have the feedback that the automation is now available for use, including the option to create a task to run it.

BotCity Maestro screenshot showing successful deployment

I left the screen and missed the chance to create a task. What do I do now?

If you leave this screen, don’t worry. You can also create tasks related to the automation you have deployed using the “New Task” option in the BotCity Maestro menu on the left-hand side of the screen. We’ll also see more of this in the following posts in this series or our documentation.

Update an existing robot

It’s common to change and update our projects as part of the development process. And we can also update existing robots within the BotCity Maestro platform.
To do this, go to the menu on the left-hand side and click on the “Bots” option in the “Developer” category.
To make it easier, we can search for the robot by its ID and identify the icon with three dots on the right-hand side of the screen, click on it, and identify the “Edit” option.

Screenshot of the Bots screen with options showing

By clicking on “Edit,” we will access a screen similar to one of the deployment steps, with only the following fields for editing:

  • Bot technology, through which we configure the technology used to develop the robot;
  • Repository, through which we configure which repository the robot should be in;
  • Bot file upload, through which we can upload the new .zip file generated after changing the code. In this case, it’s the only field we will update.

After uploading the new file, the “save” button will be enabled, and we can click on it to save the changes. Now we have the robot up to date for use.

Screenshot with data filled in, new file uploaded and save button enabled.

Release control of a production version

Keeping track of your robots’ changes per release is also very important. So when you add updates, whether to correct errors in your code or to add new features to your robot, you can have a new release. In other words, a version control that helps to decide which release should run in production.

BotCity Runner only runs robots with versions marked as release. You can set a version as a release via the “Bots” menu by clicking on the options and selecting the robot and version as the release.

In our Selenium bot example, we made new deploys of different versions. You can also do this using the button labeled “Deploy” at the top of the list of robots.

Screenshot of Bots screen with different versions of BotSelenium

In this case, we have several versions, and the one we will consider running in production is the one in which the “Release Version” column is filled in. This would be the most up-to-date version, identified as 2.0.
But if you need to roll back or change a version, click on the three-dot icon and then click on the “release” option.

Screenshot with the three-dot icon option expanded and one of them labeled release.

A new screen will appear to confirm the change.

Release change confirmation screen

The new version now is 1.0.

Screenshot of the list of robots and the release in version 1.0

Using GitHub Actions to update your robot

In our documentation, you can also find a step-by-step guide to automating updating your robot if you use GitHub. Find out more by clicking this link.

Questions or suggestions?

If you have any questions or suggestions, feel free to join our global community on Slack or our forum.

She/her. I am a Tech Writer and Developer Relations at BotCity. I am also a tech content creator who loves tech communities and people.

Leave a Reply