Skip to content


Over the following sections, you will find information about how to manage your bots.

From the Bots menu you can deploy new bots and versions, mark versions of bots as released, update the bot code, download and exclude them.


How to create a bot

To manage a bot on the platform, we first need to create a project in the Java, Javascript, or Python structure that will be used to develop the bot.

To create a new bot project, follow the tutorials below:


In addition to template projects, you can also orchestrate your own custom projects.

See more details about orchestrate custom projects.

Building your bot project

To send the bot to Maestro you need to build the project. If you are in Windows run the build.bat file in the root directory of the project, otherwise run the file under Linux or macOS.



If you get a permission error, make sure that your script has execution permission.

You can set the permission with the following command:

chmod +x

Java bots

For bots developed in Java, use the generated .jar file in the dist/ folder, if it generates two .jar files use the file with jar-with-dependencies in the filename.

Python bots

For bots developed in Python, use the generated .zip or .tar.gz file in the dist/ folder.

Javascript bots

For bots developed in Javascript, use a .zip file containing the project files such as the bot.js, resources folder and package.json.

Robot operations

After creating the project and doing the bot build process, we can perform the following operations in BotCity Maestro:


Deploy is the process of adding new bots or new versions of existing bots on the BotCity Maestro platform.

You can deploy a bot by simply clicking the Deploy button and filling the form with the Bot ID, version, file, and technology used.

Bot Deploy


The Update is the process used to overwrite or replace the code or executable that a given bot is associated with. Please note that this process is irreversible and will overwrite an existing version even if it is marked as release, so please be careful.

You can update a bot by simply clicking on the pencil icon on the right side of the line associated with your desired bot version and selecting a new file to replace the current one.

Bot Update Icon Bot Update


Release is the process used to mark which of the bot available versions is the one currently being used when executing the tasks. This version will be downloaded by the BotCity Runner and executed on your host.

You can define the released version by simply clicking on the ribbon icon (highlighted by the red arrow below).

Bot Release


To download the file referring to the bot that was used for Deploy, you can simply click on the download icon (highlighted by the red arrow).

Bot Download


To remove a deployed version, you can simply click on the trash icon (highlighted by the red arrow) and confirm on the confirmation dialog that will be displayed.

Bot Delete


Deploy, Update and Release operations can also be done through BotCity Command Line Interface.

See more details about the command lines that can be used.


All automation implemented in BotCity Maestro must necessarily have defined its technology. In this section, you will better understand which technologies BotCity Maestro accepts and how to define and use them.


By setting technology to Python, BotCity Maestro will expect you to upload an automation that uses Python language in its development.


For Python projects, upload the .zip or .tar.gz file generated by the command of build.


Remembering that the .tar.gz file is generated by the build command of legacy project template


Defining Java technology, BotCity Maestro will expect you to upload automation using Java language in its development.


For Java Projects, upload the.jar from the /dist folder, generated by the build. If two .jar files are generated, upload the file with jar-with-dependencies in its name.


As in the options above, by setting the technology as JavaScript, the BotCity Maestro will expect you to upload automation using the JavaScript language in its development.


For Javascript projects, upload a .zip file containing the project files, such as the bot.js, resources folder, and package.json.


When defining the Command option as technology, BotCity Maestro will accept that you run any command type, such as shell, Batch, or Bash. This will also enable the orchestration of automation in other languages such as C#, Ruby, Go, VBA, and more.


For command-type projects, BotCity Maestro does not expect a specific file type to be loaded, given the range of command options it accepts. That is, you can upload any file that your command requires to run.

By accessing the edit robot option on the menu Bots, you will see a new field, Command. In this field, you can pass commands, arguments, and external parameters so the Runner can execute them.

batch {path}/DemoCommand.bat {maestro_server} {maestro_taskid} {maestro_token}


Special flags to connect to the BotCity Maestro

Flag Description
{maestro_server} BotCity Maestro url
{maestro_taskid} ID of the current Task
{maestro_token} BotCity Maestro Pre-Authenticated token for integration and API calls

Passing parameters to the task

The automation parameters can also be injected automatically by passing the label between curly brackets, as we can see in the example below for a parameter named name:


Adding parameters in the automation


Passing the parameter to the command

batch {path}/DemoCommand.bat {maestro_server} {maestro_taskid} {maestro_token} {name}