Atera Tickets
SkillAI & modelsAtera service desk tickets: ticket fields, statuses, priorities, comments, work hours, and billing duration.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Atera Tickets skill
What this skill tells your AI
The instructions your AI receives, as published by wyre-ai/msp-claude-plugins in msp-claude-plugins/atera/atera/skills/tickets/SKILL.md and read by ahel’s review.
Overview
Atera tickets are the core unit of service delivery in the RMM/PSA platform. Every client request, incident, and service call flows through the ticketing system. This skill covers comprehensive ticket management including creation, updates, comments, and time tracking.
Anti-triggers
- The MSP's system-of-record helpdesk — plenty of shops run Atera
for RMM and a separate PSA for service desk. If tickets live
elsewhere, use
connectwise-psa-tickets,autotask-tickets,halopsa-tickets,syncro-tickets, orsuperops-tickets; a ticket created in the wrong system is a ticket nobody is watching. - The alert behind the ticket — alert-to-ticket conversion rules and
the alert side of that workflow are
atera-alerts.
Ticket Status Values
| Status | Description | Business Logic |
|---|---|---|
| Open | Newly created or reopened ticket | Default for new tickets |
| Pending | Awaiting customer response or information | SLA clock may pause |
| Resolved | Issue has been fixed | Awaiting customer confirmation |
| Closed | Ticket is complete | Final state, no further action |
Ticket Priority Levels
| Priority | Description | Typical SLA |
|---|---|---|
| Critical | Complete business outage | 1 hour response |
| High | Major productivity impact | 4 hour response |
| Medium | Single user/workaround exists | 8 hour response |
| Low | Minor issue/enhancement | 24 hour response |
Ticket Types
| Type | Description |
|---|---|
| Problem | Standard service issue |
| Request | Service request |
| Incident | Unplanned interruption |
| Change | Planned change |
Complete Ticket Field Reference
Core Fields
| Field | Type | Required | Description |
|---|---|---|---|
TicketID | int | System | Auto-generated unique identifier |
TicketTitle | string | Yes | Brief issue summary |
Description | string | No | Detailed description |
TicketPriority | string | No | Low, Medium, High, Critical |
TicketStatus | string | No | Open, Pending, Resolved, Closed |
TicketType | string | No | Problem, Request, Incident, Change |
Customer/Contact Fields
| Field | Type | Required | Description |
|---|---|---|---|
CustomerID | int | Conditional | Customer reference (required if no EndUserID) |
CustomerName | string | System | Customer display name |
EndUserID | int | Conditional | Contact reference |
EndUserEmail | string | System | Contact email address |
EndUserFirstName | string | System | Contact first name |
EndUserLastName | string | System | Contact last name |
Assignment Fields
| Field | Type | Required | Description |
|---|---|---|---|
TechnicianContactID | int | No | Assigned technician ID |
TechnicianFullName | string | System | Technician display name |
TechnicianEmail | string | System | Technician email |
Timeline Fields
| Field | Type | Required | Description |
|---|---|---|---|
TicketCreatedDate | datetime | System | When ticket was created |
TicketResolvedDate | datetime | System | When marked resolved |
FirstResponseDate | datetime | System | First response timestamp |
LastActivityDate | datetime | System | Last update timestamp |
DueDate | datetime | No | SLA due date |
Source Fields
| Field | Type | Description |
|---|---|---|
TicketSource | string | How ticket was created (Portal, Email, Agent, API) |
API Patterns
Create a Ticket
POST /api/v3/tickets
X-API-KEY: {api_key}
Content-Type: application/json
{
"TicketTitle": "Unable to access email - multiple users affected",
"Description": "Sales team (5 users) reporting Outlook disconnected since 9am",
"EndUserID": 67890,
"TicketPriority": "High",
"TicketType": "Problem",
"TechnicianContactID": 12345
}
Response:
{
"ActionID": 54321,
"TicketID": 54321,
"TicketTitle": "Unable to access email - multiple users affected"
}
Get Ticket Details
GET /api/v3/tickets/{ticketId}
X-API-KEY: {api_key}
Response:
{
"TicketID": 54321,
"TicketTitle": "Unable to access email - multiple users affected",
"TicketStatus": "Open",
"TicketPriority": "High",
"TicketType": "Problem",
"CustomerID": 12345,
"CustomerName": "Acme Corporation",
"EndUserID": 67890,
"EndUserFirstName": "John",
"EndUserLastName": "Smith",
"EndUserEmail": "john.smith@acme.com",
"TechnicianContactID": 11111,
"TechnicianFullName": "Jane Tech",
"TicketCreatedDate": "2024-02-15T09:00:00Z",
"TicketSource": "Email"
}
Update a Ticket
POST /api/v3/tickets/{ticketId}
X-API-KEY: {api_key}
Content-Type: application/json
{
"TicketStatus": "Resolved",
"TicketPriority": "Medium"
}
List All Tickets (Paginated)
GET /api/v3/tickets?page=1&itemsInPage=50
X-API-KEY: {api_key}
Response:
{
"items": [...],
"totalItems": 2847,
"page": 1,
"itemsInPage": 50,
"totalPages": 57
}
Get Tickets Modified After Date
GET /api/v3/tickets/statusmodified?modifiedAfter=2024-02-01T00:00:00Z
X-API-KEY: {api_key}
Get Ticket Comments
GET /api/v3/tickets/{ticketId}/comments
X-API-KEY: {api_key}
Response:
{
"items": [
{
"CommentID": 11111,
"TicketID": 54321,
"CommentText": "Initial triage: Checking Exchange connectivity",
"CommentDate": "2024-02-15T09:15:00Z",
"CreatorContactID": 12345,
"IsInternal": true
}
]
}
Create Ticket Comment
POST /api/v3/tickets/{ticketId}/comments
X-API-KEY: {api_key}
Content-Type: application/json
{
"CommentText": "Identified root cause - Exchange certificate expired",
"IsInternal": false
}
Get Billable Duration
GET /api/v3/tickets/{ticketId}/billableduration
X-API-KEY: {api_key}
Response:
{
"TotalBillableDuration": 3600,
"TotalBillableHours": 1.0
}
Get Work Hours
GET /api/v3/tickets/{ticketId}/workhours
X-API-KEY: {api_key}
Response:
{
"items": [
{
"WorkHourID": 22222,
"TicketID": 54321,
"TechnicianContactID": 12345,
"StartDate": "2024-02-15T09:00:00Z",
"EndDate": "2024-02-15T10:30:00Z",
"Duration": 5400,
"IsBillable": true,
"Notes": "Initial investigation and resolution"
}
]
}
Common Workflows
Ticket Creation Flow
- Receive request - Via portal, email, phone, or API
- Validate customer - Ensure customer exists in system
- Set priority - Based on impact and urgency
- Assign technician - Route to appropriate team member
- Send acknowledgment - Notify customer of ticket creation
Ticket Resolution Flow
- Investigate issue - Document findings in comments
- Implement fix - Perform remediation steps
- Log time - Record billable/non-billable hours
- Update status - Set to Resolved
- Notify customer - Send resolution summary
Status Transition Validation
Open ──────────────────────────────> Closed
│ ↑
↓ │
Pending ──────────────> Resolved ──────┘
│ ↑
└─────────────────────────┘
Rules:
- Cannot skip directly from Open to Closed (must resolve first)
- Resolved tickets can be reopened to Open
- Pending can transition to any status
Error Handling
Common API Errors
| Code | Message | Resolution |
|---|---|---|
| 400 | Invalid ticket ID | Verify ticket exists |
| 401 | Unauthorized | Check API key |
| 403 | Forbidden | Verify permissions |
| 404 | Ticket not found | Confirm ticket ID |
| 429 | Rate limited | Wait and retry (700 req/min limit) |
Validation Errors
| Error | Cause | Fix |
|---|---|---|
| Title required | Missing TicketTitle | Add title to request |
| Invalid priority | Typo in priority value | Use Low, Medium, High, or Critical |
| Customer not found | Invalid EndUserID | Verify contact exists |
Best Practices
- Use descriptive titles - Include affected system and symptom
- Set accurate priority - Use impact/urgency matrix
- Document thoroughly - Add comments for all actions
- Log time promptly - Don't batch at end of day
- Update status regularly - Keep customers informed
- Use internal notes - Separate technical details from customer-facing
- Link related tickets - Reference previous issues
Related Skills
- Atera Customers - Customer and contact management
- Atera Alerts - Alert to ticket conversion
- Atera API Patterns - Authentication and pagination
Signals
- GitHub stars
- 45
- Forks
- 24
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
atera-tickets- Source
- github.com/wyre-ai/msp-claude-plugins