Skip to content

agent commands reference

Complete reference for all command types the agent accepts via Firestore.


command lifecycle

1. Dashboard/API writes to:
   sites/{siteId}/machines/{machineId}/commands/pending/{commandId}

2. Agent listener detects new document

3. Agent executes the command

4. Agent writes result to:
   sites/{siteId}/machines/{machineId}/commands/completed/{commandId}

5. Dashboard listener sees completion, updates UI

command document schema

pending

{
  "type": "command_type",
  "timestamp": 1711234567890,
  "status": "pending",
  ...command-specific fields
}

completed (success)

{
  "type": "command_type",
  "result": "Human-readable result message",
  "status": "completed",
  "completedAt": 1711234567900
}

completed (failure)

{
  "type": "command_type",
  "result": "Error: description of what went wrong",
  "status": "failed",
  "completedAt": 1711234567900
}

process commands

restart_process

Kill and relaunch a configured process.

field type description
type "restart_process"
process_name string Must match a configured process name

kill_process

Terminate a running process.

field type description
type "kill_process"
process_name string Must match a configured process name

start_process

Start a stopped process (same as restart for stopped processes).

field type description
type "start_process"
process_name string Must match a configured process name

set_launch_mode

Set the launch mode for a process: off, always, or scheduled.

field type description
type "set_launch_mode"
process_name string Must match a configured process name
mode string "off", "always", or "scheduled"
schedules array Schedule blocks (required when mode is "scheduled")

capture_screenshot

Capture a screenshot of the machine's desktop.

field type description
type "capture_screenshot"
monitor number 0 = all monitors (default), 1 = primary, 2 = second, etc.

configuration commands

update_config

Update process configuration from Firestore.

field type description
type "update_config"
processes array New process configuration array

deployment commands

install_software

Download and silently install software.

field type description
type "install_software"
installer_url string Direct HTTPS download URL
installer_name string Filename (e.g., "setup.exe")
silent_flags string Installation flags (e.g., "/VERYSILENT")
verify_path string Path to check after installation (optional)
deployment_id string Links to deployments collection
sha256_checksum string Expected SHA256 hash for download verification (optional)
timeout_seconds number Max time to wait for installation in seconds (default: 2400 = 40 min)

The agent downloads the installer to %TEMP%\owlette_installers\, optionally verifies the checksum, executes with the provided flags, and reports progress (downloading โ†’ installing โ†’ completed/failed). If verify_path is set, the agent confirms the file exists after installation.


cancel_installation

Cancel an in-progress installation. Terminates the installer process tree (parent + children) and cleans up the temporary installer file.

field type description
type "cancel_installation"
installer_name string Filename of the installer to cancel (must match an active installation)
deployment_id string Deployment to cancel

uninstall_software

Uninstall software from the machine using registry uninstall commands.

field type description
type "uninstall_software"
software_name string Display name of the software
uninstall_command string Registry uninstall string (from Windows Add/Remove Programs)
silent_flags string Silent uninstall flags (optional โ€” auto-detected if omitted)
installer_type string Installer framework hint: "nsis", "inno", "msi" (optional)
deployment_id string Links to deployment for status tracking (optional)
verify_paths array[string] File paths to check are removed after uninstall (optional)
timeout_seconds number Max time to wait for uninstall in seconds (default: 1200 = 20 min)

The agent parses the uninstall command, appends silent flags, executes the uninstaller, and checks exit codes (0 or 3010 = success). If verify_paths are provided, confirms those paths no longer exist.


distribute_project

Download and extract a project ZIP.

field type description
type "distribute_project"
project_url string Direct download URL
project_name string ZIP filename
extract_path string Target directory (optional, default: ~/Documents/OwletteProjects)
verify_files array[string] Files to verify after extraction (optional)
distribution_id string Links to project_distributions collection

system commands

reboot_machine

Reboot the Windows machine.

field type description
type "reboot_machine"
delay number Seconds before reboot (default: 0)

shutdown_machine

Shut down the Windows machine.

field type description
type "shutdown_machine"
delay number Seconds before shutdown (default: 0)

update_owlette

Self-update the agent.

field type description
type "update_owlette"
installer_url string URL to new installer
version string Target version number

cancel_reboot

Cancel a scheduled reboot or shutdown.

field type description
type "cancel_reboot"

refresh_software_inventory

Refresh the software inventory snapshot for this machine.

field type description
type "refresh_software_inventory"

cancel_distribution

Cancel an in-progress project distribution.

field type description
type "cancel_distribution"
distribution_id string Distribution to cancel

cancel_uninstall

Cancel an in-progress software uninstall.

field type description
type "cancel_uninstall"
deployment_id string Deployment to cancel uninstall for

ai/cortex commands

mcp_tool_call

Execute an MCP tool call from Cortex.

field type description
type "mcp_tool_call"
tool_name string MCP tool name (e.g., "get_system_info")
arguments object Tool-specific arguments
chat_id string Chat session ID

Result: JSON-encoded tool response in the result field.


provision_cortex_key

Provision an LLM API key for local Cortex (on-machine AI agent).

field type description
type "provision_cortex_key"
api_key string Encrypted LLM API key
provider string "anthropic" or "openai"