From ninjaone-rmm
Manages NinjaOne tickets: create via POST API, update status/priority, retrieve log entries. For MSP workflows integrating ticketing with device monitoring.
npx claudepluginhub wyre-technology/msp-claude-plugins --plugin ninjaone-rmmThis skill uses the workspace's default tool permissions.
NinjaOne includes a built-in ticketing system that integrates with device monitoring. Tickets can be manually created or auto-generated from alerts, providing a complete service desk solution.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides agent creation for Claude Code plugins with file templates, frontmatter specs (name, description, model), triggering examples, system prompts, and best practices.
NinjaOne includes a built-in ticketing system that integrates with device monitoring. Tickets can be manually created or auto-generated from alerts, providing a complete service desk solution.
POST /api/v2/ticketing/ticket
Content-Type: application/json
Authorization: Bearer {token}
{
"clientId": 123,
"subject": "Server disk space critical",
"description": "C: drive on SERVER-01 is at 95% capacity",
"priority": "HIGH",
"status": "OPEN",
"assignedTechnicianId": 456,
"deviceId": 789,
"tags": ["disk", "server", "critical"]
}
PUT /api/v2/ticketing/ticket/{ticketId}
Content-Type: application/json
{
"status": "IN_PROGRESS",
"priority": "MEDIUM",
"assignedTechnicianId": 456
}
GET /api/v2/ticketing/ticket/{ticketId}/log-entry
Returns all log entries (comments, status changes, time entries) for a ticket.
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | System | Auto-generated ID |
subject | string | Yes | Brief issue summary |
description | text | No | Detailed description |
clientId | integer | Yes | Organization ID |
deviceId | integer | No | Related device |
| Field | Type | Description |
|---|---|---|
status | string | Current ticket status |
priority | string | Urgency level |
assignedTechnicianId | integer | Assigned tech |
| Field | Type | Description |
|---|---|---|
tags | array | Categorization tags |
createTime | datetime | Creation timestamp |
updateTime | datetime | Last modified |
| Status | Description |
|---|---|
OPEN | New ticket, awaiting triage |
IN_PROGRESS | Actively being worked |
WAITING | Waiting for customer/vendor |
ON_HOLD | Paused pending action |
RESOLVED | Issue resolved |
CLOSED | Ticket complete |
| Priority | Description | SLA Target |
|---|---|---|
CRITICAL | Business down | Immediate |
HIGH | Major impact | 1 hour |
MEDIUM | Moderate impact | 4 hours |
LOW | Minor issue | 24 hours |
NONE | No urgency | Best effort |
Log entries track all ticket activity:
| Type | Description |
|---|---|
COMMENT | Public or private comment |
STATUS_CHANGE | Status transition |
ASSIGNMENT | Technician assignment change |
TIME_ENTRY | Logged work time |
{
"id": 123,
"type": "COMMENT",
"content": "Investigated and found corrupted index",
"public": false,
"createdBy": {
"id": 456,
"name": "John Tech"
},
"createTime": "2024-02-15T14:30:00Z"
}
Link tickets to devices for context:
{
"subject": "Outlook crashes repeatedly",
"deviceId": 12345,
"description": "User reports Outlook crashes when opening attachments"
}
Benefits:
{
"tags": [
"email",
"outlook",
"crash",
"user-reported"
]
}
Common tag patterns:
hardware, software, networkoutlook, office, vpnuser-reported, alert, scheduledvip, urgent| Code | Description | Resolution |
|---|---|---|
| 400 | Invalid request | Check required fields |
| 404 | Ticket not found | Verify ticket ID |
| 403 | Access denied | Check organization permissions |
| 422 | Validation error | Review field values |