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.
| Component | Role |
|---|---|
| Orchestrator Dashboard | Central server — manages workflows, schedules, job queue, and robot registry |
| Genzbots Robot | Agent process on each machine — executes jobs dispatched by Orchestrator |
| Robot Agent | The HTTP listener inside Robot that receives job payloads from Orchestrator |
Connecting a Robot
- Install Genzbots Robot on the target machine
- Open
appsettings.jsonin the Robot installation folder and set:"OrchestratorUrl": "http://<your-orchestrator-host>:5100" - Start the Robot service (or launch
Genzbots.Robot.exe) - In the Orchestrator Dashboard, go to Robots — the new agent appears with status Online
- Click the robot to assign it a display name and optionally restrict it to specific workflow tags
Robot Status Indicators
| Status | Meaning |
|---|---|
| 🟢 Online | Robot is connected, idle, and ready to accept jobs |
| 🔵 Busy | Robot is actively executing a job |
| 🟡 Draining | Robot is finishing its current job but will not accept new ones (maintenance mode) |
| 🔴 Offline | Robot has not sent a heartbeat within the last 30 seconds |
| ⚫ Disabled | Robot 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.
- In the Dashboard, open Robots → <robot name> → Edit
- Add tags in the Capabilities field (comma-separated)
- 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.