From autotask
Manages Autotask PSA projects: creating projects, phases, milestones, tasks, and assigning resources. Use for client implementations, migrations, and scheduled MSP work.
How this skill is triggered — by the user, by Claude, or both
Slash command
/autotask:projectsWhen to use
When creating projects, managing tasks, phases, milestones, and resource assignments. Use when: autotask project, autotask task, project management, project phase, project milestone, resource assignment, project billing, or project timeline.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
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
npx claudepluginhub wyre-technology/msp-claude-plugins --plugin autotaskCreates, updates, and manages ConnectWise PSA projects including phases, templates, resource allocation, and project tickets. Useful for MSPs automating project-based service delivery.
Automates Harvest time tracking, project management, and invoicing via natural language commands. Log hours, manage projects/clients/tasks, and pull reports from the terminal.
Manages Autotask time entries: logging hours, billing calculations, approval workflows, utilization tracking, and budget validation. For MSP technicians.