Skip to content
Development
Skill

/computers

ConnectWise Automate computer/endpoint management: computer identifiers (ComputerID, Name, ComputerGUID, MAC), status values, OS types, hardware/software inventory, disk, patch, and antivirus status, plus remote management operations.

From plugin
msp-claude-plugins
55200 skills165 agents200 commands4 MCP

Claude Code

$ npx -y skills add wyre-ai/msp-claude-plugins --skill computers --agent claude-code

SKILL.md

computers.SKILL.md
name: "ConnectWise Automate Computers"
description: >
  ConnectWise Automate computer/endpoint management: computer identifiers (ComputerID,
  Name, ComputerGUID, MAC), status values, OS types, hardware/software inventory, disk,
  patch, and antivirus status, plus remote management operations.
when_to_use: >-
  When listing, searching, managing, and monitoring devices. Use when: automate computer, automate
  endpoint, automate device, automate agent, computer status, computer lookup, managed computer,
  computer online, computer offline, computer inventory, computer patches, computer antivirus, or
  labtech computer.

ConnectWise Automate Computer Management

Overview

Computers are the core managed entities in ConnectWise Automate. Each computer represents an endpoint with the Automate agent installed - workstations, servers, or network devices. This skill covers computer identification, status monitoring, inventory, patch management, and antivirus status.

Anti-triggers

  • **Claude subagents** — "automate agent" here means the Automate

endpoint agent, never an AI subagent definition under `agents/*.md`.

  • **The PSA record of the same machine** — ConnectWise PSA holds a

parallel configuration record with its own ID; an Automate `ComputerID` is not a PSA `configuration/id`. Reach configurations through `connectwise-psa-api-patterns` (`/company/configurations`).

  • **Which automation to run and what it returned** — inventory, status and

health live here; finding the right script, validating its parameters and reading execution results are `connectwise-automate-scripts`.

  • **Another RMM's device list** — Datto RMM, NinjaOne and Atera all speak

of devices and endpoints; use `datto-rmm-devices`, `ninjaone-devices` or `atera-devices`.

MCP Tools

| Tool | Tier | Purpose | |------|------|---------| | `cwautomate_computers_list` | read | List computers, filtered by client, location or online status | | `cwautomate_computers_get` | read | One computer's detail | | `cwautomate_computers_search` | read | Find computers by (partial) name | | `cwautomate_commands_list` | read | Automate's fixed command catalog; find a `command_id` here | | `cwautomate_computers_command_status` | read | Read a queued command by `computer_id` and `execution_id` | | `cwautomate_computers_reboot` | write | Queue a reboot (catalog reboot command, or `command_id`) | | `cwautomate_computers_run_command` | admin | Queue a catalog command with positional `parameters` |

Commands are queued, not run synchronously. `cwautomate_computers_reboot` and `cwautomate_computers_run_command` return an `execution_id` (by default without waiting). Poll `cwautomate_computers_command_status`; never re-issue on a timeout or a "Duplicate command" result, because the first one is still queued. If a timeout leaves no `execution_id` to poll, check the computer's command queue in the Automate console (or escalate for a manual check) before retrying. Free-text commands are not accepted, and the API user's command level silently caps which catalog commands may be issued.

Key Concepts

Computer Identifiers

Every computer has multiple identifiers:

| Identifier | Type | Description | Example | |------------|------|-------------|---------| | `ComputerID` | integer | Primary key, auto-incrementing | `12345` | | `Name` | string | Computer hostname | `ACME-DC01` | | `ComputerGUID` | string | Globally unique identifier | `a1b2c3d4-e5f6-7890-abcd-ef1234567890` | | `LastContact` | datetime | Last agent check-in time | `2024-02-15T10:30:00Z` | | `MAC` | string | Primary MAC address | `00:1A:2B:3C:4D:5E` |

Computer Status Values

| Status | Description | Business Impact | |--------|-------------|-----------------| | `Online` | Agent actively checking in | Normal operation | | `Offline` | No agent communication | May require attention | | `Degraded` | Agent checking in with issues | Performance concerns | | `Unknown` | Status undetermined | Check connectivity |

Operating System Types

| OS Type | Examples | |---------|----------| | `Windows Server` | 2016, 2019, 2022 | | `Windows Workstation` | Windows 10, Windows 11 | | `macOS` | Monterey, Ventura, Sonoma | | `Linux` | Ubuntu, CentOS, RHEL |

Field Reference

Computer objects expose roughly 30 fields covering identifiers, client/location association, status, network, OS, hardware, agent, and timestamp data, plus an `ExtraData` map for Extra Data Fields (EDFs). `ComputerInventory` objects cover drives, software, memory, network adapters, printers, services, and monitors.

See [references/fields.md](references/fields.md) for the complete `Computer` and `ComputerInventory` field reference.

API Patterns

All endpoints require `Authorization: Bearer {token}` (see the API Patterns skill for authentication and token management). Core calls:

  • List: `GET /cwa/api/v1/Computers?pageSize=250`
  • Get one: `GET /cwa/api/v1/Computers/{computerID}`
  • Filter: `GET /cwa/api/v1/Computers?condition=ClientID = 100&pageSize=250` (or

`Status = 'Online'`, `OS contains 'Windows Server'`, etc. - see the API Patterns skill for full OData filter syntax)

  • Sub-resources: `/Computers/{id}/Drives`, `/Computers/{id}/Software`,

`/Computers/{id}/Patches`, `/Computers/{id}/Antivirus`

See [references/api.md](references/api.md) for the complete endpoint catalog with example requests and responses.

Workflows

Computer Lookup by Hostname

async function findComputerByHostname(client, hostname) {
  const computers = await client.request(
    `/Computers?condition=Name contains '${hostname}'&pageSize=100`
  );

  if (computers.length === 0) {
    return { found: false, suggestions: [] };
  }

  if (computers.length === 1) {
    return { found: true, computer: computers[0] };
  }

  return {
    found: false,
    ambiguous: true,
    suggestions: computers.map(c => ({
      name: c.Name,
      id: c.ComputerID,
      client: c.Client?.Name,
      status: c.Stat
Read more
@wyre-technology
Ships withmsp-claude-plugins

One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: wyre-ai.github.io/msp-claude-plugins

55200 skills165 agents4 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
55
Star history of wyre-technology/msp-claude-plugins on GitHub, a chart by star-history.com

Other skills on msp-claude-plugins.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about computers.

Which coding agents can use computers?
computers installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.