robomotion-deskbot
robomotion-deskbot is the robot. It connects a machine to your workspace and executes
flows there.
roboctl manages the workspace over the API and never runs a flow
itself, and robomotion-agent connects the machine so the
Designer can reach it for screen capture and image nodes.
Command-Line Help
➜ ~ robomotion-deskbot --help
Robomotion desktop robot
Usage:
robomotion-deskbot [command]
Available Commands:
connect Connects to your workspace
help Help about any command
Flags:
-c, --config string Robomotion config file (default $HOME/.config/robomotion/config.properties)
-h, --help help for robomotion-deskbot
--stdin get input from stdin
-v, --version version for robomotion-deskbot
Use "robomotion-deskbot [command] --help" for more information about a command.
Connect Command
In order to connect a robot to your workspace, you can use the connect command.
Connects to your workspace
Usage:
robomotion-deskbot connect [flags]
Flags:
--disable-features string Disable features including auto-enabled ones
--enable-features string Enable experimental features
-h, --help help for connect
-i, --identity string Robomotion identity
--lock Connects robot in lock mode
--log-level string Robomotion log level ('debug', 'info', 'warning', 'error', 'off')
--logdir string Robomotion log directory
-n, --no-attach Do not attach to Flow Designer
-p, --proxy string Proxy server to use for requests. [<proxy-scheme>://]<proxy-host>[:<proxy-port>]
--remember Remembers last used Robomotion credentials
-r, --robot string Robomotion robot name or id
-s, --send-crash-dumps Sends crash dumps to Robomotion
--session Read a session token from stdin instead of asking for a password
--sso string Sign in through a browser, optionally naming the provider
-t, --token string Robomotion robot token
-w, --workspace string Robomotion workspace
Global Flags:
-c, --config string Robomotion config file (default $HOME/.config/robomotion/config.properties)
--stdin get input from stdin
| Flag | Short | Description |
|---|---|---|
--workspace | -w | Workspace to connect the robot to |
--identity | -i | Email address of the user to associate the robot with |
--robot | -r | Robot name or ID from the Admin Console |
--token | -t | Robot token from the Admin Console |
--sso | Sign in through a browser instead of a password. Optionally name the provider: google, github, microsoft, ldap | |
--session | Read a session token from stdin instead of prompting for a password | |
--lock | Lock mode: refuse to run any flow that is not already cached | |
--no-attach | -n | Do not attach to the Flow Designer. Faster, and correct for an unattended robot |
--remember | Remember the credentials so later connect calls need no arguments | |
--proxy | -p | [<scheme>://]<host>[:<port>] for outbound traffic |
--log-level | debug, info, warning, error, off | |
--logdir | Where to write logs | |
--send-crash-dumps | -s | Forward crash dumps to Robomotion |
--enable-features | Turn on experimental features, comma separated. e.g. --enable-features=LargeMessageObjects,Diagnostics | |
--disable-features | Turn off features, including ones that are on by default. e.g. --disable-features=LargeMessageObjects,EventBatching | |
--config | -c | Config file. Defaults to $HOME/.config/robomotion/config.properties |
Credentials from the environment
Anything passed as a flag is visible to every user on the machine through ps and
/proc/<pid>/cmdline. For an unattended robot that is a real exposure, so the robot falls
back to these environment variables whenever the matching flag is empty:
| Variable | Equivalent flag |
|---|---|
ROBOMOTION_WORKSPACE | -w, --workspace |
ROBOMOTION_ROBOT_ID | -r, --robot |
ROBOMOTION_ROBOT_TOKEN | -t, --token |
ROBOMOTION_USER_EMAIL | -i, --identity |
Flags take precedence; the environment is consulted only when the flag is absent. This is the intended path for Docker and systemd deployments — Linux VPS has a unit file that uses it.
--token requires both --robot and --workspace (or their environment equivalents). If
either is missing the command prints its usage and exits without connecting.
Where files live
| Path | |
|---|---|
| Config | $HOME/.config/robomotion/config.properties |
| Binaries and drivers (Linux, macOS) | ~/.config/robomotion/bin |
| Binaries and drivers (Windows) | %LOCALAPPDATA%\Robomotion\bin |
Example Usages
Connect with User Credentials
robomotion-deskbot connect -i john.doe@acme.inc -w rpa.acme.inc
If the credentials are correct, the available robots in your workspace will be listed.
Use the arrow keys to navigate: ↓ ↑ → ←
? Select Your Robot:
▸ Butler [ID: 624609c6-1a27-458f-ace5-3889dc554e28]
Jarvas [ID: 20f1cdb9-d8d9-448b-984c-9188deb24e8e]
After your selection, the selected robot will start working on your computer.
{"level":"info","msg":"Connecting to rpa.acme.inc","status":"connecting","time":"2022-10-21T13:24:46+03:00"}
{"level":"info","msg":"Connected to rpa.acme.inc as Butler [v26.8.2]","status":"connected","time":"2022-10-21T13:24:46+03:00"}
Connect with Robot Credentials
You can generate a Robot token from the Admin Console -> Robots screen.
robomotion-deskbot connect -r 624609c6-1a27-458f-ace5-3889dc554e28 -t ccb15ec1cbf40ae79fe0a0f317c78a23 -w rpa.acme.inc
This command will connect the robot directly without showing a selection menu.
If you connect a robot with robot credentials you will not see the robot in Flow Designer when you press Run. Because the robot is connected with Robot Credentials and not the User Credentials it is not yet associated with a user. In order to associate the robot with a user you can add -i your_email parameter to the previous connect command. This user will now be able to see the robot from Flow Designer.
Connect through single sign-on
When your workspace authenticates against Google, GitHub, Microsoft or LDAP, there is no password to type:
robomotion-deskbot connect -w rpa.acme.inc --sso google
A browser opens for the provider to authenticate you, and the robot connects when it returns. Naming the provider is optional — omit it and you are asked to choose.
Connect unattended, with no secret on the command line
The shape to use on a server. See Linux VPS for the systemd unit around it.
export ROBOMOTION_WORKSPACE=rpa.acme.inc
export ROBOMOTION_ROBOT_ID=624609c6-1a27-458f-ace5-3889dc554e28
export ROBOMOTION_ROBOT_TOKEN=...
robomotion-deskbot connect --no-attach --lock --log-level info
--lock is the hardening measure worth adding in production: the robot refuses to run any
flow that is not already cached, so newly-published work cannot reach it without a deliberate
step.
Next
- roboctl — manage the workspace from a terminal
- Linux VPS · Windows VPS
- Security Model — robot identity and token handling