ImmyBot Software Deployment
This is ImmyBot's headline capability. The model is desired-state: you assert what should be installed, then a maintenance session brings the endpoint into compliance. This skill walks the canonical deployment workflow end-to-end.
Anti-triggers
- Making the install actually happen — creating a deployment changes
nothing on any endpoint; the reconciliation run that acts on it is
immybot-maintenance-sessions. - OS and security patching — ImmyBot deploys applications, not
Windows Update. Patch compliance lives in the RMM:
superops-assets,syncro-assets, orncentral-devices. - A one-off command on one machine — use
immybot-script-execution. - Whether a tenant is compliant overall — rollups and scorecards are
immybot-tenant-compliance.
API Tools
Discover the catalog
| Tool | Purpose |
|---|---|
immybot_software_list |
Per-tenant software catalog |
immybot_software_list_global |
Global ImmyBot software catalog |
immybot_software_search |
Search by name |
immybot_software_get |
Full detail for one software |
immybot_software_versions |
Available versions for a software |
immybot_software_latest_version |
The current "latest" version |
immybot_software_categories |
Browse by category |
immybot_software_publishers |
Browse by publisher |
immybot_software_stats |
Usage stats across the fleet |
Configure desired state
| Tool | Purpose |
|---|---|
immybot_deployments_list |
Current deployments |
immybot_deployments_get |
Detail for a deployment |
immybot_deployments_create |
Assert new desired state |
immybot_deployments_for_computer |
Deployments scoped to a computer |
immybot_deployments_for_software |
Deployments scoped to a software |
immybot_deployments_compliance |
Compliance report for a deployment |
immybot_deployments_trigger |
Force immediate reconciliation (destructive) |
immybot_software_install |
Install a software via desired state (destructive) |
Reconcile
| Tool | Purpose |
|---|---|
immybot_maintenance_sessions_list |
Recent sessions |
immybot_maintenance_sessions_get |
One session snapshot |
immybot_maintenance_sessions_start |
Start a session (destructive) |
immybot_maintenance_sessions_pause |
Pause a running session |
immybot_maintenance_sessions_resume |
Resume a paused session |
immybot_maintenance_sessions_cancel |
Cancel a session |
immybot_maintenance_sessions_logs |
Log stream |
immybot_maintenance_sessions_results |
Final outcome |
immybot_maintenance_sessions_active |
Currently active sessions |
immybot_maintenance_sessions_summary |
Summary metrics |
Computers in scope
| Tool | Purpose |
|---|---|
immybot_computers_list |
Enrolled computers |
immybot_computers_get |
One computer detail |
immybot_computers_search |
Search by name |
immybot_computers_inventory |
Installed software on a computer |
immybot_computers_deployments |
Deployments hitting a computer |
immybot_computers_trigger_checkin |
Force a check-in |
The Canonical Deployment Workflow
1. Identify the software
immybot_software_search → immybot_software_get → immybot_software_latest_version
Confirm the software exists in the catalog and what version you intend to deploy.
2. Identify the scope
For tenant-wide rollouts:
immybot_tenants_get → immybot_tenants_computers
For a single computer:
immybot_computers_search → immybot_computers_get
3. Configure desired state
Call immybot_deployments_create with the chosen software, version,
and scope. The deployment now exists, but nothing has happened on
the endpoint yet.
4. Reconcile
Either wait for the next scheduled maintenance window, or trigger immediately:
immybot_maintenance_sessions_start
This is destructive — get human approval first.
5. Watch the session
Poll immybot_maintenance_sessions_get and tail
immybot_maintenance_sessions_logs. Stop polling once the session is
in a terminal state.
6. Confirm compliance
Call immybot_deployments_compliance to see which computers in
scope reached the desired state and which failed.
Other Common Workflows
Per-computer audit
immybot_computers_getfor the computerimmybot_computers_inventoryfor installed softwareimmybot_computers_deploymentsfor what desired-state expects- Reconcile differences
Per-tenant compliance scorecard
immybot_tenants_getimmybot_tenants_compliancefor the rollup- Drill into failing deployments via
immybot_deployments_compliance
Investigate a failed install
- Identify the maintenance session:
immybot_maintenance_sessions_list immybot_maintenance_sessions_resultsfor outcomeimmybot_maintenance_sessions_logsfor the failing log lines- Cross-reference with
immybot_tasks_logsfor lower-level detail
Edge Cases
- Pinned versions vs latest - A deployment can pin a specific version or track latest. Always confirm which mode you are in before changing the desired version.
- Conflicting deployments - Two deployments hitting the same
software on the same scope can fight. Use
immybot_deployments_for_computerto spot conflicts before adding a new one. - Reboot requirements - Some installs require a reboot. Maintenance sessions handle this, but expect the session to span longer than the install itself.
Best Practices
- Prefer tenant-scoped deployments over per-computer deployments for fleet-wide software; reserve per-computer for exceptions.
- Always run a small pilot (one or two computers) before triggering a fleet-wide maintenance session.
- For destructive operations, log the approver, the scope, and the expected outcome.
Related Skills
- api-patterns - Auth and the desired-state model