WYRE-AI/msp-claude-plugins/msp-claude-plugins/ninjaone/ninjaone-rmm/skills/tickets/SKILL.md
NinjaOne Tickets
NinjaOne's built-in ticketing system, which integrates with device monitoring: ticket creation and updates, core/status/metadata fields, status and priority values with SLA targets, log entry types, device linkage, tagging patterns, and error codes.
- Source repository stars
- 42
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-28
- Source checked
- 2026-08-28
Decision brief
What it does: where it fits
NinjaOne's built-in ticketing system, which integrates with device monitoring: ticket creation and updates, core/status/metadata fields, status and priority values with SLA targets, log entry types, device linkage, tagging patterns, and error codes.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/ninjaone/ninjaone-rmm/skills/tickets"Inspect the Agent Skill "NinjaOne Tickets" from https://github.com/WYRE-AI/msp-claude-plugins/blob/5005f73ba2f52cd299f58aa6bb79f4e70ae87103/msp-claude-plugins/ninjaone/ninjaone-rmm/skills/tickets/SKILL.md at commit 5005f73ba2f52cd299f58aa6bb79f4e70ae87103. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Escalation Workflow
1. Review ticket age and SLA 2. Update priority if needed 3. Reassign to senior tech 4. Add escalation note 5. Notify stakeholders
Review ticket age and SLAUpdate priority if neededReassign to senior tech - 02
Anti-triggers
The MSP's real service desk — most MSPs running NinjaOne keep their
The MSP's real service desk — most MSPs running NinjaOne keep theirHow to prioritise, categorise, and route an incoming ticket — thisPulling device and alert context onto a ticket — that is a - 03
API Endpoints
Returns all log entries (comments, status changes, time entries) for a ticket.
Returns all log entries (comments, status changes, time entries) for a ticket. - 04
Create Ticket
Review the “Create Ticket” section in the pinned source before continuing.
Review and apply the “Create Ticket” source section. - 05
Update Ticket
Review the “Update Ticket” section in the pinned source before continuing.
Review and apply the “Update Ticket” source section.
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 42 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- WYRE-AI/msp-claude-plugins
- Skill path
- msp-claude-plugins/ninjaone/ninjaone-rmm/skills/tickets/SKILL.md
- Commit
- 5005f73ba2f52cd299f58aa6bb79f4e70ae87103
- License
- Apache-2.0
- Collected
- 2026-08-28
- Default branch
- main
View the original SKILL.md
NinjaOne Ticket Management
Overview
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.
Anti-triggers
- The MSP's real service desk — most MSPs running NinjaOne keep their
ticket queue in a PSA and use NinjaOne ticketing only for
monitoring-generated work, or not at all. If the ticket has a contract,
an SLA, and billable time against it, it is in the PSA: use
autotask-tickets,connectwise-psa-tickets,halopsa-tickets,syncro-tickets, oratera-tickets. Check which system holds the queue before assuming this one. - How to prioritise, categorise, and route an incoming ticket — this
skill covers the NinjaOne ticket API; the triage practice itself is
vendor-agnostic, so use
shared-skills-ticket-triage. - Pulling device and alert context onto a ticket — that is a
cross-tool lookup; use
shared-skills-incident-correlation. - The alert that would become a ticket — use
ninjaone-alerts.
API Endpoints
Create Ticket
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"]
}
Update Ticket
PUT /api/v2/ticketing/ticket/{ticketId}
Content-Type: application/json
{
"status": "IN_PROGRESS",
"priority": "MEDIUM",
"assignedTechnicianId": 456
}
Get Ticket Log Entries
GET /api/v2/ticketing/ticket/{ticketId}/log-entry
Returns all log entries (comments, status changes, time entries) for a ticket.
Ticket Fields
Core Fields
| 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 |
Status Fields
| Field | Type | Description |
|---|---|---|
status | string | Current ticket status |
priority | string | Urgency level |
assignedTechnicianId | integer | Assigned tech |
Metadata
| Field | Type | Description |
|---|---|---|
tags | array | Categorization tags |
createTime | datetime | Creation timestamp |
updateTime | datetime | Last modified |
Status Values
| 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 Levels
| 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
Log entries track all ticket activity:
Entry Types
| Type | Description |
|---|---|
COMMENT | Public or private comment |
STATUS_CHANGE | Status transition |
ASSIGNMENT | Technician assignment change |
TIME_ENTRY | Logged work time |
Log Entry Structure
{
"id": 123,
"type": "COMMENT",
"content": "Investigated and found corrupted index",
"public": false,
"createdBy": {
"id": 456,
"name": "John Tech"
},
"createTime": "2024-02-15T14:30:00Z"
}
Common Workflows
Create Ticket from Alert
- Receive alert notification
- Get device and organization context
- Create ticket with device linked
- Add alert details to description
- Set priority based on alert severity
- Assign to appropriate technician
Ticket Resolution Flow
- Update status to IN_PROGRESS
- Add log entries documenting work
- Log time entries for billing
- Update status to RESOLVED
- Add resolution notes
- Close ticket
Escalation Workflow
- Review ticket age and SLA
- Update priority if needed
- Reassign to senior tech
- Add escalation note
- Notify stakeholders
Integration with Devices
Link tickets to devices for context:
{
"subject": "Outlook crashes repeatedly",
"deviceId": 12345,
"description": "User reports Outlook crashes when opening attachments"
}
Benefits:
- Quick access to device details
- View device alerts in ticket context
- Run remote actions from ticket
Tags for Categorization
{
"tags": [
"email",
"outlook",
"crash",
"user-reported"
]
}
Common tag patterns:
- Issue type:
hardware,software,network - Application:
outlook,office,vpn - Source:
user-reported,alert,scheduled - Priority override:
vip,urgent
Best Practices
- Use descriptive subjects - Include who, what, where
- Log all work - Essential for billing and knowledge
- Update status promptly - Keeps queues accurate
Error Handling
| 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 |
Related Skills
- Devices - Device context
- Alerts - Alert-to-ticket flow
- Organizations - Client context
- API Patterns - Authentication
Frequently asked questions
What to verify before installation and use
What does the NinjaOne Tickets source document cover?
NinjaOne's built-in ticketing system, which integrates with device monitoring: ticket creation and updates, core/status/metadata fields, status and priority values with SLA targets, log entry types, device linkage, tagging patterns, and error codes.
How do I install NinjaOne Tickets?
The source record exposes this install command: npx skills add https://github.com/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/ninjaone/ninjaone-rmm/skills/tickets". Inspect the command and pinned source before running it.
Alternatives
Compare before choosing
garrytan/gbrain
bulk-ingestion
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
app-store-optimization
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
migrate-vstest-to-mtp
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing
oaustegard/claude-skills
featuring
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre