~4 min5 / 9

Robots & Agents

A Robot is an instance of the Genzbots Robot runner registered with the Orchestrator. Each Robot executes jobs on its host machine. This guide covers connecting robots, managing their status, and understanding agent capabilities.

Architecture

The Orchestrator communicates with each Robot over a local TCP connection (default port 5101). The Robot process runs as a Windows service or a foreground application and polls the Orchestrator for new jobs every few seconds.

ComponentRole
Orchestrator DashboardCentral server — manages workflows, schedules, job queue, and robot registry
Genzbots RobotAgent process on each machine — executes jobs dispatched by Orchestrator
Robot AgentThe HTTP listener inside Robot that receives job payloads from Orchestrator

Connecting a Robot

  1. Install Genzbots Robot on the target machine
  2. Open appsettings.json in the Robot installation folder and set:
    "OrchestratorUrl": "http://<your-orchestrator-host>:5100"
  3. Start the Robot service (or launch Genzbots.Robot.exe)
  4. In the Orchestrator Dashboard, go to Robots — the new agent appears with status Online
  5. Click the robot to assign it a display name and optionally restrict it to specific workflow tags

Robot Status Indicators

StatusMeaning
🟢 OnlineRobot is connected, idle, and ready to accept jobs
🔵 BusyRobot is actively executing a job
🟡 DrainingRobot is finishing its current job but will not accept new ones (maintenance mode)
🔴 OfflineRobot has not sent a heartbeat within the last 30 seconds
DisabledRobot has been manually taken out of rotation by an admin

Robot Capabilities & Tags

Each robot can be tagged with capability labels (e.g., excel, sap, headless) that describe what software is installed on that machine. Workflows can declare required tags — the Orchestrator will only dispatch a job to a robot that has all the required tags.

  1. In the Dashboard, open Robots → <robot name> → Edit
  2. Add tags in the Capabilities field (comma-separated)
  3. In the workflow's Registry entry, set Required Tags to the same labels

Managing Multiple Robots

  • The Orchestrator dispatches jobs in round-robin order across all available online robots matching the required tags
  • Use the Load column to see how many active jobs each robot currently has
  • To update Robot software, put the robot in Draining mode first so in-flight jobs complete cleanly
  • Robots that go offline while executing a job have their job automatically re-queued after a configurable timeout (default: 5 minutes)
Firewall RequirementsThe Robot machine must allow inbound TCP on port 5101 from the Orchestrator host, and the Orchestrator must allow inbound TCP on port 5100 from all Robot machines.
Was this helpful?