Skip to content

Bots

In the Bots menu, you can view, deploy new bots and versions, manage the version to be used during execution, update the bot's code, download, and also remove them from the platform.

Screenshot of the BotCity Orchestrator, in the Bots menu, displaying the list of deployed bots with information in columns: BotID, Version, Last Deploy, Release Version, Technology, Repository, and an Actions menu. Above the list, a new Deploy button.

Viewing Bots

When accessing the Bots menu, you can view all bots deployed in the BotCity Orchestrator in a list, with the following column information:

  • BotID: Bot identifier
  • Version: Version defined during the bot's deploy
  • Last Deploy: Date and time of the bot's deploy or update
  • Release Version: Identifies which version will be executed by the task; other versions of the same bot have an empty column.
  • Technology: Identifies the technology the bot was developed in
  • Repository: Selection of the repository where the bot will be allocated
  • Actions: Action selection

Creating a Bot

For each type of technology, a specific structure is required to be recognized and executed in the context of the BotCity Orchestrator.

You can develop a new project or adapt an existing one. See the tutorials below using the BotCity project template:

Building your bot project

After full development, to send the bot to the BotCity Orchestrator you need to perform the project build process.

Build files are available in BotCity project templates; you can run the file appropriate for the operating system you are using, whether Windows, Linux, or macOS.

.\build.bat
./build.sh

Permission

If you receive a permission error, make sure your build.sh script has execution permission.

You can set the permission with the following command:

chmod +x build.sh

Java Bots

For bots developed in Java, use the .jar file generated in the dist/ folder. If two .jar files are generated, use the file with jar-with-dependencies in its name.

Python Bots

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

Javascript Bots

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

Bot Operations

After creating the project and performing the bot's build process, you can deploy it to the BotCity Orchestrator and perform various operations described below.

Command Line Interface

You can follow the steps described below on the platform or perform Deploy, Update, and Release operations using the BotCity command line interface.

See more details at:

Deploy

Deploy is the process used to add new bots or new versions of existing bots to the BotCity platform.

To deploy a bot, you need to access the Bots menu and click on + Deploy, then fill in the fields:

  • BotID: Bot identification name
  • Version: Version defined by alphanumeric and special characters
  • Technology: Development language of the project
  • Repository: Selection of the repository where the bot will be allocated
  • File: Already built project file

Screenshot of the BotCity Orchestrator, displaying the new Bot Deploy form. The form contains the fields: BotID, Version, Technology, Repository, and File. Below, the Cancel and Create buttons.

Update

Update is the process used to overwrite an existing version of a bot.

Overwrite

Note that the update process is irreversible and will replace an existing version, even if it is marked as "release", so be careful.

To update an existing bot, you need to access the Bots menu, click edit in the action menu of the bot version to be updated, then fill in the fields:

  • Technology: Language of the developed project
  • File: Already built project file

GIF demonstrating how to update a bot. Flow starts in the Bots menu, clicks Edit in the action menu of an existing bot version, and uploads the new project file. Finishes by clicking the Save button.

Release

Release is the process used to mark which of the available versions of a bot will be used when executing tasks.

The marked version is downloaded and executed by the BotCity Runner.

To define the released version of an existing bot, you need to access the Bots menu, click Release in the action menu of the bot version to be marked.

Release Column

When there is more than one version of a bot, check the Release column to see which version is marked.

GIF demonstrating how to define the release version of a bot. Flow starts in the Bots menu, clicks the Release option in the action menu of the bot version to be marked as release. The selected version is then displayed in the Release Version column of the list.

Download

You can download the file of any bot deployed in the BotCity Orchestrator. To do this, access the Bots menu and click Download Bot in the action menu of the chosen bot version.

GIF demonstrating how to download a bot. Flow starts in the Bots menu, clicks Download Bot in the action menu of the chosen bot version. The bot file download starts automatically.

Delete

You can remove the version of any bot deployed in the BotCity Orchestrator. To do this, access the Bots menu and click Delete.

Deletion

Note that the deletion process is irreversible and will permanently delete an existing version, so be careful.

GIF demonstrating how to delete a bot. Flow starts in the Bots menu, clicks Delete in the action menu of the bot version to be removed and confirms the deletion in the confirmation dialog displayed.

Technologies

Every automation deployed in the BotCity Orchestrator must have its technology defined.

See below which technologies are accepted, how to define them, and how to use them.

Python

When defining the Python technology, the BotCity Orchestrator expects you to upload an automation that uses the Python language in its development.

Expected file type

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

Legacy template

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

Java

When defining the Java technology, the BotCity Orchestrator expects you to upload an automation using the Java language in its development.

Expected file type

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

JavaScript

When defining the JavaScript technology, the BotCity Orchestrator expects you to upload an automation using the JavaScript language in its development.

Expected file type

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

Command

When defining the Command option as technology, the BotCity Orchestrator allows you to execute any type of command such as shell, batch, or bash, also enabling the orchestration of automations in languages such as C#, Ruby, Go, VBA, as well as any other.

Expected file type

For Command type projects, the BotCity Orchestrator does not expect a specific file type to be uploaded, due to the variety of accepted command options. That is, you can upload any file that contains the commands you want to execute.

For this type of technology, when deploying or editing a bot, you need to fill in a new field called Command.

In this field you can pass commands, arguments, and external parameters for the Runner to be able to execute them.

Screenshot of the BotCity Orchestrator, displaying the Deploy form with the Command technology selected. Highlights the Command field, where shell, batch, or bash commands can be entered, along with external arguments and parameters to be executed by the Runner.

Special flags to connect to the BotCity Orchestrator

Flag Description
{maestro_server} BotCity Orchestrator URL
{maestro_taskid} ID of the running task
{maestro_token} Pre-authenticated BotCity Orchestrator token for use in integration

Command example

cmd /c start {path}/DemoCommand.bat {maestro_server} {maestro_taskid} {maestro_token}

Passing task parameters

It is common to use parameters in automations to define dynamic values at the time of creating tasks.

How to create parameters in the automation

Learn more about parameters at:

In this context, parameters can be passed using the parameter's label in curly braces when creating the command.

Command example with the name parameter

cmd /c start {path}/DemoCommand.bat {maestro_server} {maestro_taskid} {maestro_token} {name}
  • Parameter created in the automation Screenshot of the BotCity Orchestrator, displaying the Development tab of an automation with the parameter named "name" created in the Parameters section.
  • Parameter received in the command Screenshot of the BotCity Orchestrator, displaying the Deploy form with the Command technology selected. Highlights the Command field filled with the example of the "name" parameter in curly braces at the end of the command.

Integrations

Even using the Command technology, you can integrate with BotCity Orchestrator features such as alerts, result files, errors, etc.

To do this, you can use the API and integrate with any language used in development.

Finish task

The most important integration is task finalization, where you can track the status of each task, and data reporting, informing the number of items executed successfully or with failure in a run.

See more details at: