Help us improve
Share bugs, ideas, or general feedback.
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 autotaskHow this skill is triggered — by the user, by Claude, or both
Slash command
/kaseya-autotask:projectsThe 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.
Manages ConnectWise PSA projects: create/update phases, templates, resource allocation, lifecycle, budgeting, billing methods, and tickets.
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 for logging hours, billing calculations, approval workflows, utilization tracking, budget validation, and integrations with tickets/projects.
Share bugs, ideas, or general feedback.
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