ConnectWise Manage Projects — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ConnectWise Manage Projects (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Projects in ConnectWise PSA track larger bodies of work that span multiple tickets, phases, and resources. Projects support templates, phases, budgeting, resource allocation, and various billing methods. This skill covers project CRUD operations, phases, templates, resources, and project tickets.
/service/tickets and are a different entity from project tickets; use connectwise-psa-tickets.
ProjectTicket,never to the project or phase directly; use connectwise-psa-time-entries.
Base: /project/projectsStandard project statuses in ConnectWise PSA:
| Status ID | Name | Description |
|---|---|---|
| 1 | Open | Active project |
| 2 | Closed | Completed project |
| 3 | On Hold | Temporarily paused |
| 4 | Cancelled | Cancelled project |
| 5 | Waiting | Awaiting approval/resources |
Query /project/projects/statuses for configurable statuses.
| Type ID | Name | Description |
|---|---|---|
| 1 | Project | Standard project |
| 2 | Template | Project template |
See references/fields.md for the complete project, phase, project ticket, and team member field reference.
| Method | Description |
|---|---|
ActualRates | Bill at standard work role rates |
FixedFee | Fixed project price |
NotToExceed | Actual rates with cap |
OverrideRate | Custom hourly rate |
POST /project/projects
Content-Type: application/json
{
"name": "Office 365 Migration - ACME Corp",
"company": {"id": 12345},
"status": {"id": 1},
"manager": {"id": 100},
"estimatedStart": "2024-03-01",
"estimatedEnd": "2024-05-01",
"estimatedHours": 200,
"billingMethod": "ActualRates",
"description": "Migrate from on-premises Exchange to Office 365"
}Fixed-fee and not-to-exceed projects use the same endpoint with a different billingMethod and billingAmount/budgetAmount. See references/api.md for those variants, plus get, update, and close-project examples.
GET /project/projects?conditions=type/id=2POST /project/projects
Content-Type: application/json
{
"name": "Client Onboarding - ACME Corp",
"company": {"id": 12345},
"templateFlag": false,
"projectTemplateId": 100
}When using projectTemplateId, ConnectWise copies all phases from the template, project tickets associated with those phases, budget and billing settings, and team assignments (if configured).
Phases give a project its own timelines and budgets per chunk of work. Endpoint: /project/projects/{projectId}/phases.
POST /project/projects/{projectId}/phases
Content-Type: application/json
{
"description": "Phase 1: Discovery",
"scheduledStart": "2024-03-01",
"scheduledEnd": "2024-03-15",
"scheduledHours": 40,
"wbsCode": "1.1"
}Project tickets are service tickets linked to a project and phase via the project and phase fields. See references/api.md for the create request and the GET /project/projects/{projectId}/tickets endpoint.
Endpoint: /project/projects/{projectId}/teamMembers. See references/api.md for the full request shape (member, projectRole, workRole, startDate/endDate, hoursScheduled).
Active projects for company:
conditions=company/id=12345 and status/id=1Projects by manager:
conditions=manager/id=100 and status/id=1Overdue projects:
conditions=estimatedEnd<[2024-02-01] and status/id=1Projects over budget:
conditions=budgetAnalysis="OverBudget"Template projects:
conditions=type/id=2/project/projects?conditions=type/id=2.budgetHours/budgetAmount to set the cap and read budgetAnalysis to see whether the project is over/under/on budget.POST /service/tickets) with project/phase fields set — there's no separate project-ticket-creation endpoint.See references/errors.md for the complete error reference.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.