Use this skill when configuring desired-state software deployments in ImmyBot — picking the software, scoping the deployment to a tenant or computer, kicking off a maintenance session to reconcile, and checking compliance afterwards.
Scanned 5/27/2026
Install via CLI
openskills install wyre-technology/msp-claude-plugins---
name: "ImmyBot Software Deployment"
when_to_use: "When deploying software to Windows endpoints via ImmyBot, configuring desired state, running maintenance sessions, or auditing per-computer compliance"
description: >
Use this skill when configuring desired-state software deployments
in ImmyBot — picking the software, scoping the deployment to a
tenant or computer, kicking off a maintenance session to reconcile,
and checking compliance afterwards.
triggers:
- immybot deploy
- immybot install
- immybot software
- immybot maintenance
- deploy software immybot
- immybot compliance
- desired state windows software
---
# 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.
## 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
1. `immybot_computers_get` for the computer
2. `immybot_computers_inventory` for installed software
3. `immybot_computers_deployments` for what desired-state expects
4. Reconcile differences
### Per-tenant compliance scorecard
1. `immybot_tenants_get`
2. `immybot_tenants_compliance` for the rollup
3. Drill into failing deployments via `immybot_deployments_compliance`
### Investigate a failed install
1. Identify the maintenance session: `immybot_maintenance_sessions_list`
2. `immybot_maintenance_sessions_results` for outcome
3. `immybot_maintenance_sessions_logs` for the failing log lines
4. Cross-reference with `immybot_tasks_logs` for 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_computer` to 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](../api-patterns/SKILL.md) - Auth and the desired-state model
No comments yet. Be the first to comment!