/sla-dashboard
View SLA status across tickets, including approaching breaches and at-risk tickets
$ npx -y skills add wyre-technology/msp-claude-plugins --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/sla-dashboard
Context preview
What this command does when you run it.
View SLA status across tickets, including approaching breaches and at-risk tickets
Command definition
sla-dashboard.mddescription: View SLA status across tickets, including approaching breaches and at-risk tickets
argument-hint: "[client_id] [team] [status] [period] [limit]"
arguments: [client_id, team, status, period, limit]
HaloPSA SLA Dashboard
View SLA status across tickets, including approaching breaches and at-risk tickets for proactive management.
Prerequisites
- Valid HaloPSA OAuth credentials configured
- User must have ticket read permissions
- SLA profiles must be configured in HaloPSA
Steps
1. **Authenticate with OAuth 2.0**
- Obtain access token using client credentials flow
- Token endpoint: `{base_url}/auth/token?tenant={tenant}`
# Get OAuth token
TOKEN=$(curl -s -X POST "{base_url}/auth/token?tenant={tenant}" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id={client_id}" \
-d "client_secret={client_secret}" \
-d "scope=all" | jq -r '.access_token')2. **Build query parameters**
- Apply time period filter
- Apply team filter if specified
- Apply client filter if specified
3. **Fetch tickets with SLA data**
# Get tickets with SLA information
curl -s -X GET "{base_url}/api/Tickets?open_only=true&page_size={limit}&includesladetails=true" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"4. **Get SLA definitions (for context)**
curl -s -X GET "{base_url}/api/SLA" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"5. **Calculate SLA status for each ticket**
- Breaching: SLA target has passed
- At Risk: Less than 25% time remaining
- On Track: More than 25% time remaining
6. **Filter by requested status**
- Apply breaching/at_risk/on_track filter
- Sort by urgency (breaching first, then at_risk)
7. **Format and display dashboard**
- Summary statistics
- Detailed ticket list
- Quick action links
Parameters
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | client_id | integer | No | - | Filter by client ID | | team | string | No | - | Filter by team name | | status | string | No | all | breaching/at_risk/on_track/all | | period | string | No | today | today/week/month | | limit | integer | No | 25 | Maximum results (max 100) |
Examples
View All SLA Status
/sla-dashboard
Breaching Tickets Only
/sla-dashboard --status breaching
Specific Team
/sla-dashboard --team "Service Desk" --status breaching
Client-Specific SLA
/sla-dashboard --client_id 12345 --period week
At-Risk Tickets
/sla-dashboard --status at_risk --limit 50
Weekly Overview
/sla-dashboard --period week --status all
Output
Dashboard View
================================================================================
SLA DASHBOARD - Today
================================================================================
SUMMARY
--------------------------------------------------------------------------------
Total Open Tickets: 45
๐ด Breaching: 3 (6.7%)
๐ก At Risk: 8 (17.8%)
๐ข On Track: 34 (75.5%)
Response SLA Met: 42/45 (93.3%)
Resolution SLA Met: 38/45 (84.4%)
================================================================================
๐ด BREACHING SLA (3)
================================================================================
#12345 - Email not working
Client: Acme Corporation
Priority: Critical
Agent: Jane Tech
SLA: Resolution BREACHED by 1h 23m
Breached: 2024-02-15 14:00:00
Action: /update-ticket 12345 --status "Escalated"
#12342 - Server offline
Client: Widgets Inc
Priority: Critical
Agent: Unassigned
SLA: Response BREACHED by 45m
Breached: 2024-02-15 13:15:00
Action: /update-ticket 12342 --agent "Level 2"
#12338 - Network slowdown
Client: Tech Corp
Priority: High
Agent: Bob Tech
SLA: Resolution BREACHED by 15m
Breached: 2024-02-15 14:45:00
Action: /add-action 12338 "Escalating to network team"
================================================================================
๐ก AT RISK - Action Needed (8)
================================================================================
#12350 - Printer not working
Client: Acme Corporation
Priority: Medium
Agent: Jane Tech
SLA: Resolution due in 28 min (15:30)
Risk Level: High (< 30 min remaining)
#12348 - VPN connection issues
Client: Widgets Inc
Priority: High
Agent: Mike Support
SLA: Resolution due in 45 min (15:47)
Risk Level: Medium (< 1 hour remaining)
#12346 - Password reset request
Client: Tech Corp
Priority: Low
Agent: Sarah Help
SLA: Resolution due in 1h 15m (16:17)
Risk Level: Low (< 2 hours remaining)
... and 5 more at-risk tickets
================================================================================
๐ข ON TRACK (34)
================================================================================
Showing 10 of 34 on-track tickets (use --limit to see more)
#12355 - New user setup
Client: Acme Corporation
SLA: Resolution due in 3h 45m
Status: In Progress
#12354 - Software installation request
Client: Widgets Inc
SLA: Resolution due in 5h 20m
Status: Pending
...
================================================================================
QUICK ACTIONS
================================================================================
View breaching: /sla-dashboard --status breaching
View at-risk: /sla-dashboard --status at_risk
Team view: /sla-dashboard --team "Service Desk"
Weekly report: /sla-dashboard --period week
==================================================Read more
description: View SLA status across tickets, including approaching breaches and at-risk tickets argument-hint: "[client_id] [team] [status] [period] [limit]" arguments: [client_id, team, status, period, limit]
HaloPSA SLA Dashboard
View SLA status across tickets, including approaching breaches and at-risk tickets for proactive management.
Prerequisites
- Valid HaloPSA OAuth credentials configured
- User must have ticket read permissions
- SLA profiles must be configured in HaloPSA
Steps
1. **Authenticate with OAuth 2.0**
- Obtain access token using client credentials flow
- Token endpoint: `{base_url}/auth/token?tenant={tenant}`
# Get OAuth token
TOKEN=$(curl -s -X POST "{base_url}/auth/token?tenant={tenant}" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id={client_id}" \
-d "client_secret={client_secret}" \
-d "scope=all" | jq -r '.access_token')2. **Build query parameters**
- Apply time period filter
- Apply team filter if specified
- Apply client filter if specified
3. **Fetch tickets with SLA data**
# Get tickets with SLA information
curl -s -X GET "{base_url}/api/Tickets?open_only=true&page_size={limit}&includesladetails=true" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"4. **Get SLA definitions (for context)**
curl -s -X GET "{base_url}/api/SLA" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"5. **Calculate SLA status for each ticket**
- Breaching: SLA target has passed
- At Risk: Less than 25% time remaining
- On Track: More than 25% time remaining
6. **Filter by requested status**
- Apply breaching/at_risk/on_track filter
- Sort by urgency (breaching first, then at_risk)
7. **Format and display dashboard**
- Summary statistics
- Detailed ticket list
- Quick action links
Parameters
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | client_id | integer | No | - | Filter by client ID | | team | string | No | - | Filter by team name | | status | string | No | all | breaching/at_risk/on_track/all | | period | string | No | today | today/week/month | | limit | integer | No | 25 | Maximum results (max 100) |
Examples
View All SLA Status
/sla-dashboard
Breaching Tickets Only
/sla-dashboard --status breaching
Specific Team
/sla-dashboard --team "Service Desk" --status breaching
Client-Specific SLA
/sla-dashboard --client_id 12345 --period week
At-Risk Tickets
/sla-dashboard --status at_risk --limit 50
Weekly Overview
/sla-dashboard --period week --status all
Output
Dashboard View
================================================================================
SLA DASHBOARD - Today
================================================================================
SUMMARY
--------------------------------------------------------------------------------
Total Open Tickets: 45
๐ด Breaching: 3 (6.7%)
๐ก At Risk: 8 (17.8%)
๐ข On Track: 34 (75.5%)
Response SLA Met: 42/45 (93.3%)
Resolution SLA Met: 38/45 (84.4%)
================================================================================
๐ด BREACHING SLA (3)
================================================================================
#12345 - Email not working
Client: Acme Corporation
Priority: Critical
Agent: Jane Tech
SLA: Resolution BREACHED by 1h 23m
Breached: 2024-02-15 14:00:00
Action: /update-ticket 12345 --status "Escalated"
#12342 - Server offline
Client: Widgets Inc
Priority: Critical
Agent: Unassigned
SLA: Response BREACHED by 45m
Breached: 2024-02-15 13:15:00
Action: /update-ticket 12342 --agent "Level 2"
#12338 - Network slowdown
Client: Tech Corp
Priority: High
Agent: Bob Tech
SLA: Resolution BREACHED by 15m
Breached: 2024-02-15 14:45:00
Action: /add-action 12338 "Escalating to network team"
================================================================================
๐ก AT RISK - Action Needed (8)
================================================================================
#12350 - Printer not working
Client: Acme Corporation
Priority: Medium
Agent: Jane Tech
SLA: Resolution due in 28 min (15:30)
Risk Level: High (< 30 min remaining)
#12348 - VPN connection issues
Client: Widgets Inc
Priority: High
Agent: Mike Support
SLA: Resolution due in 45 min (15:47)
Risk Level: Medium (< 1 hour remaining)
#12346 - Password reset request
Client: Tech Corp
Priority: Low
Agent: Sarah Help
SLA: Resolution due in 1h 15m (16:17)
Risk Level: Low (< 2 hours remaining)
... and 5 more at-risk tickets
================================================================================
๐ข ON TRACK (34)
================================================================================
Showing 10 of 34 on-track tickets (use --limit to see more)
#12355 - New user setup
Client: Acme Corporation
SLA: Resolution due in 3h 45m
Status: In Progress
#12354 - Software installation request
Client: Widgets Inc
SLA: Resolution due in 5h 20m
Status: Pending
...
================================================================================
QUICK ACTIONS
================================================================================
View breaching: /sla-dashboard --status breaching
View at-risk: /sla-dashboard --status at_risk
Team view: /sla-dashboard --team "Service Desk"
Weekly report: /sla-dashboard --period week
==================================================One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: mcp.wyre.ai
Repo: wyre-technology/msp-claude-plugins
Other commands on msp-claude-plugins.
- /case-review
Review and triage abuse mailbox cases in Abnormal Security
Open command - /search-threats
Search for specific threat patterns in Abnormal Security by sender, recipient, attack type, or keywords
Open command - /threat-triage
Triage recent email threats detected by Abnormal Security by severity and attack type
Open command - /list-overdue-invoices
List open and overdue Alternative Payments invoices and optionally generate hosted payment links for them
Open command - /reconcile-payout
Reconcile an Alternative Payments payout by listing its transactions and matching them against invoices and customers
Open command - /eol-report
EOL/EOS risk report โ devices, OS versions, and firmware approaching or past end-of-life/end-of-support, prioritized by criticality
Open command

