Skip to content
Back to skills

Tickets

ASecurity

Use this skill when working with Atera tickets - creating, updating, searching, or managing service desk operations. Covers ticket fields, statuses, priorities, comments, work hours, and billing duration. Essential for MSP technicians handling service delivery through Atera.

  • 48 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aiapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add wyre-technology/msp-claude-plugins --skill tickets --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tickets?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tickets
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wyre-technology-tickets/badge)](https://www.skillsdirectory.com/skills/wyre-technology-tickets)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "Atera Tickets"
description: >
  Use this skill when working with Atera tickets - creating, updating,
  searching, or managing service desk operations. Covers ticket fields,
  statuses, priorities, comments, work hours, and billing duration.
  Essential for MSP technicians handling service delivery through Atera.
when_to_use: "When creating, updating, searching, or managing service desk operations"
triggers:
  - atera ticket
  - service ticket atera
  - create ticket atera
  - ticket status atera
  - ticket priority atera
  - atera service desk
  - ticket comments
  - work hours atera
  - billable hours
  - resolve ticket atera
---

# Atera Ticket Management

## 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.

## 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

```http
POST /api/v3/tickets
X-API-KEY: {api_key}
Content-Type: application/json
```

```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:**
```json
{
  "ActionID": 54321,
  "TicketID": 54321,
  "TicketTitle": "Unable to access email - multiple users affected"
}
```

### Get Ticket Details

```http
GET /api/v3/tickets/{ticketId}
X-API-KEY: {api_key}
```

**Response:**
```json
{
  "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

```http
POST /api/v3/tickets/{ticketId}
X-API-KEY: {api_key}
Content-Type: application/json
```

```json
{
  "TicketStatus": "Resolved",
  "TicketPriority": "Medium"
}
```

### List All Tickets (Paginated)

```http
GET /api/v3/tickets?page=1&itemsInPage=50
X-API-KEY: {api_key}
```

**Response:**
```json
{
  "items": [...],
  "totalItems": 2847,
  "page": 1,
  "itemsInPage": 50,
  "totalPages": 57
}
```

### Get Tickets Modified After Date

```http
GET /api/v3/tickets/statusmodified?modifiedAfter=2024-02-01T00:00:00Z
X-API-KEY: {api_key}
```

### Get Ticket Comments

```http
GET /api/v3/tickets/{ticketId}/comments
X-API-KEY: {api_key}
```

**Response:**
```json
{
  "items": [
    {
      "CommentID": 11111,
      "TicketID": 54321,
      "CommentText": "Initial triage: Checking Exchange connectivity",
      "CommentDate": "2024-02-15T09:15:00Z",
      "CreatorContactID": 12345,
      "IsInternal": true
    }
  ]
}
```

### Create Ticket Comment

```http
POST /api/v3/tickets/{ticketId}/comments
X-API-KEY: {api_key}
Content-Type: application/json
```

```json
{
  "CommentText": "Identified root cause - Exchange certificate expired",
  "IsInternal": false
}
```

### Get Billable Duration

```http
GET /api/v3/tickets/{ticketId}/billableduration
X-API-KEY: {api_key}
```

**Response:**
```json
{
  "TotalBillableDuration": 3600,
  "TotalBillableHours": 1.0
}
```

### Get Work Hours

```http
GET /api/v3/tickets/{ticketId}/workhours
X-API-KEY: {api_key}
```

**Response:**
```json
{
  "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

1. **Receive request** - Via portal, email, phone, or API
2. **Validate customer** - Ensure customer exists in system
3. **Set priority** - Based on impact and urgency
4. **Assign technician** - Route to appropriate team member
5. **Send acknowledgment** - Notify customer of ticket creation

### Ticket Resolution Flow

1. **Investigate issue** - Document findings in comments
2. **Implement fix** - Perform remediation steps
3. **Log time** - Record billable/non-billable hours
4. **Update status** - Set to Resolved
5. **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

1. **Use descriptive titles** - Include affected system and symptom
2. **Set accurate priority** - Use impact/urgency matrix
3. **Document thoroughly** - Add comments for all actions
4. **Log time promptly** - Don't batch at end of day
5. **Update status regularly** - Keep customers informed
6. **Use internal notes** - Separate technical details from customer-facing
7. **Link related tickets** - Reference previous issues

## Related Skills

- [Atera Customers](../customers/SKILL.md) - Customer and contact management
- [Atera Alerts](../alerts/SKILL.md) - Alert to ticket conversion
- [Atera API Patterns](../api-patterns/SKILL.md) - Authentication and pagination

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…