From kaseya-autotask
Manages Autotask PSA projects: creates projects, tasks, phases, milestones; handles resource assignments, status, and timelines for MSP implementations and migrations.
npx claudepluginhub wyre-technology/msp-claude-plugins --plugin autotaskThis skill uses the workspace's default tool permissions.
Autotask Projects extend beyond simple ticketing to handle structured work with defined phases, tasks, dependencies, and resource assignments. Projects are used for implementations, migrations, onboarding, and any work requiring planning and tracking.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Autotask Projects extend beyond simple ticketing to handle structured work with defined phases, tasks, dependencies, and resource assignments. Projects are used for implementations, migrations, onboarding, and any work requiring planning and tracking.
Project
├── Phase 1
│ ├── Task 1.1
│ ├── Task 1.2
│ └── Milestone: Phase 1 Complete
├── Phase 2
│ ├── Task 2.1
│ ├── Task 2.2
│ └── Milestone: Phase 2 Complete
└── Final Milestone: Project Complete
| Field | Description | Required |
|---|---|---|
id | Unique identifier | System |
projectName | Project name | Yes |
companyID | Client company | Yes |
projectType | Type category | Yes |
status | Project status | Yes |
startDate | Planned start | No |
endDate | Planned end | No |
projectLeadResourceID | Project manager | No |
department | Department | No |
estimatedRevenue | Expected revenue | No |
contractID | Associated contract | No |
| ID | Status | Description |
|---|---|---|
| 1 | New | Just created |
| 5 | Active | In progress |
| 8 | On Hold | Temporarily paused |
| 10 | Complete | Finished |
| 12 | Cancelled | Terminated |
| Field | Description | Required |
|---|---|---|
id | Unique identifier | System |
projectID | Parent project | Yes |
phaseID | Parent phase | No |
taskName | Task title | Yes |
status | Task status | Yes |
assignedResourceID | Assigned tech | No |
estimatedHours | Estimated effort | No |
startDate | Task start | No |
endDate | Task due date | No |
priority | Task priority | No |
POST /v1.0/Projects
Content-Type: application/json
{
"projectName": "Acme Corp - Office 365 Migration",
"companyID": 12345,
"projectType": 1,
"status": 1,
"startDate": "2024-03-01",
"endDate": "2024-04-15",
"projectLeadResourceID": 29744150,
"description": "Migrate from on-prem Exchange to Office 365",
"estimatedRevenue": 15000.00,
"contractID": 54321
}
POST /v1.0/Phases
Content-Type: application/json
{
"projectID": 98765,
"title": "Phase 1: Planning & Assessment",
"description": "Initial assessment and migration planning",
"startDate": "2024-03-01",
"dueDate": "2024-03-08",
"estimatedHours": 16
}
POST /v1.0/ProjectTasks
Content-Type: application/json
{
"projectID": 98765,
"phaseID": 11111,
"taskName": "Document current Exchange environment",
"status": 1,
"assignedResourceID": 29744150,
"estimatedHours": 4,
"startDate": "2024-03-01",
"endDate": "2024-03-02",
"priority": 2
}
Active projects for a company:
{
"filter": [
{"field": "companyID", "op": "eq", "value": 12345},
{"field": "status", "op": "eq", "value": 5}
]
}
Projects by lead:
{
"filter": [
{"field": "projectLeadResourceID", "op": "eq", "value": 29744150},
{"field": "status", "op": "in", "value": [1, 5]}
]
}
POST /v1.0/TimeEntries
Content-Type: application/json
{
"taskID": 22222,
"resourceID": 29744150,
"dateWorked": "2024-03-01",
"startDateTime": "2024-03-01T09:00:00Z",
"endDateTime": "2024-03-01T12:00:00Z",
"hoursWorked": 3,
"summaryNotes": "Documented Exchange server configuration",
"billingCodeID": 29683556
}
PATCH /v1.0/Projects
Content-Type: application/json
{
"id": 98765,
"status": 5,
"actualStartDate": "2024-03-01"
}
Create project
Create phases
Create tasks
Assign resources
Projects can be billed:
Always associate project with contract for proper billing flow.
| Code | Message | Resolution |
|---|---|---|
| 400 | Invalid projectType | Use valid project type ID |
| 400 | EndDate before StartDate | Fix date sequence |
| 404 | Project not found | Verify project ID |
| 409 | Cannot delete - has time entries | Archive instead of delete |
"ProjectName is required" - Project name cannot be empty
"Invalid companyID" - Company must exist and be active
"PhaseID does not belong to Project" - Task's phase must be in same project