From autotask
Manages Autotask CRM entities (companies, contacts, sites) via API. Essential for MSP account management, client onboarding, and relationship tracking in Autotask PSA.
How this skill is triggered — by the user, by Claude, or both
Slash command
/autotask:crmWhen to use
When working with companies, contacts, sites/locations, and opportunities in Autotask CRM. Use when: autotask company, autotask contact, autotask account, autotask crm, company management, contact management, client onboarding, autotask site, or autotask location.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Autotask CRM manages the core entities that define your client relationships: companies (accounts), contacts, and sites. Proper CRM data is foundational - tickets, contracts, projects, and billing all depend on accurate company and contact information.
Autotask CRM manages the core entities that define your client relationships: companies (accounts), contacts, and sites. Proper CRM data is foundational - tickets, contracts, projects, and billing all depend on accurate company and contact information.
The primary entity representing a client organization.
| Field | Description | Required |
|---|---|---|
id | Unique identifier | System |
companyName | Official company name | Yes |
companyType | Customer, Lead, Prospect, etc. | Yes |
phone | Main phone number | No |
address1 | Street address | No |
city | City | No |
state | State/Province | No |
postalCode | ZIP/Postal code | No |
country | Country | No |
webAddress | Website URL | No |
parentCompanyID | Parent company for hierarchies | No |
ownerResourceID | Account manager | No |
classification | Classification category | No |
| ID | Type | Use Case |
|---|---|---|
| 1 | Customer | Active paying clients |
| 2 | Lead | Potential new business |
| 3 | Prospect | Qualified leads |
| 4 | Dead | Churned/lost clients |
| 5 | Vendor | Suppliers and partners |
| 6 | Partner | Strategic partners |
Individual people at a company.
| Field | Description | Required |
|---|---|---|
id | Unique identifier | System |
companyID | Associated company | Yes |
firstName | First name | Yes |
lastName | Last name | Yes |
emailAddress | Primary email | No |
phone | Direct phone | No |
mobilePhone | Mobile number | No |
title | Job title | No |
isActive | Active status | Yes |
isPrimaryContact | Primary contact flag | No |
Physical locations for a company (for on-site service).
| Field | Description | Required |
|---|---|---|
id | Unique identifier | System |
companyID | Parent company | Yes |
name | Site name | Yes |
address1 | Street address | No |
city | City | No |
isActive | Active status | Yes |
isPrimaryLocation | Primary site flag | No |
POST /v1.0/Companies
Content-Type: application/json
{
"companyName": "Acme Corporation",
"companyType": 1,
"phone": "555-123-4567",
"address1": "123 Main Street",
"city": "Springfield",
"state": "IL",
"postalCode": "62701",
"country": "United States",
"webAddress": "https://acme.example.com",
"ownerResourceID": 29744150
}
GET /v1.0/Companies/query?search={"filter":[{"field":"companyName","op":"contains","value":"acme"}]}
Search by name:
{
"filter": [
{"field": "companyName", "op": "contains", "value": "acme"}
]
}
Active customers only:
{
"filter": [
{"field": "companyType", "op": "eq", "value": 1},
{"field": "isActive", "op": "eq", "value": true}
]
}
Companies by account manager:
{
"filter": [
{"field": "ownerResourceID", "op": "eq", "value": 29744150}
]
}
PATCH /v1.0/Companies
Content-Type: application/json
{
"id": 12345,
"phone": "555-987-6543",
"webAddress": "https://newsite.acme.com"
}
POST /v1.0/Contacts
Content-Type: application/json
{
"companyID": 12345,
"firstName": "John",
"lastName": "Smith",
"emailAddress": "[email protected]",
"phone": "555-123-4567",
"mobilePhone": "555-987-6543",
"title": "IT Director",
"isActive": 1,
"isPrimaryContact": true
}
Contacts for a company:
{
"filter": [
{"field": "companyID", "op": "eq", "value": 12345},
{"field": "isActive", "op": "eq", "value": 1}
]
}
Search by email:
{
"filter": [
{"field": "emailAddress", "op": "eq", "value": "[email protected]"}
]
}
POST /v1.0/CompanyLocations
Content-Type: application/json
{
"companyID": 12345,
"name": "Main Office",
"address1": "123 Main Street",
"city": "Springfield",
"state": "IL",
"postalCode": "62701",
"country": "United States",
"isPrimaryLocation": true,
"isActive": 1
}
Create company record
Create primary contact
Create site(s)
Set up contract
Configure billing
Verify before creating
Maintain accuracy
Track relationships
For MSPs managing parent/child company relationships:
| Code | Message | Resolution |
|---|---|---|
| 400 | Duplicate company name | Check for existing company, use unique name |
| 400 | Invalid email format | Verify email address syntax |
| 404 | Company not found | Verify company ID exists |
| 409 | Contact already exists | Search for existing contact first |
"CompanyName is required" - Company name cannot be empty or null
"Invalid companyType" - Must use valid company type ID from picklist
"Email already exists" - Contact with this email already exists
npx claudepluginhub wyre-technology/msp-claude-plugins --plugin autotaskManages ConnectWise PSA company records: create, update, search, and manage company/account details, types, statuses, sites, custom fields, and relationships. For MSP account management and CRM.
Searches, creates, updates, and audits HubSpot CRM company records. Covers company fields, industry classification, lifecycle stages, domain matching, and cross-referencing with contacts, deals, and tickets.
Manages Syncro MSP customer records - create, update, search, and manage contacts, sites, and locations. Essential for MSP client onboarding and operations.