Autotask CRM Management
Overview
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.
Key Concepts
Company (Account)
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 |
Company Types
| 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 |
Contact
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 |
Site/Location
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 |
API Patterns
Creating a Company
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
}
Searching Companies
GET /v1.0/Companies/query?search={"filter":[{"field":"companyName","op":"contains","value":"acme"}]}
Common Search Patterns
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}
]
}
Updating a Company
PATCH /v1.0/Companies Content-Type: application/json
{
"id": 12345,
"phone": "555-987-6543",
"webAddress": "https://newsite.acme.com"
}
Creating a Contact
POST /v1.0/Contacts Content-Type: application/json
{
"companyID": 12345,
"firstName": "John",
"lastName": "Smith",
"emailAddress": "john.smith@acme.example.com",
"phone": "555-123-4567",
"mobilePhone": "555-987-6543",
"title": "IT Director",
"isActive": 1,
"isPrimaryContact": true
}
Searching Contacts
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": "john.smith@acme.example.com"}
]
}
Creating a Site
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
}
Common Workflows
Client Onboarding
- •
Create company record
- •Set company type to Customer
- •Assign account manager
- •Add billing information
- •
Create primary contact
- •Mark as primary contact
- •Verify email address
- •
Create site(s)
- •Add all service locations
- •Mark primary location
- •
Set up contract
- •Associate with company
- •Define service levels
- •
Configure billing
- •Payment terms
- •Tax information
Contact Management
- •
Verify before creating
- •Search for existing contact by email
- •Check for duplicates
- •
Maintain accuracy
- •Update titles when employees change roles
- •Mark contacts inactive when they leave
- •Add new contacts as needed
- •
Track relationships
- •Note who can authorize work
- •Track technical vs billing contacts
Company Hierarchy
For MSPs managing parent/child company relationships:
- •Create parent company first
- •Create child companies with parentCompanyID
- •Contracts can roll up to parent
- •Reporting aggregates by hierarchy
Error Handling
Common API Errors
| 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 |
Validation Errors
"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
Best Practices
- •Standardize naming - Use consistent company name formats
- •Verify before creating - Always search first to prevent duplicates
- •Maintain data quality - Regular audits of contact information
- •Use classifications - Categorize companies for reporting
- •Track account managers - Assign ownerResourceID for accountability
- •Keep contacts current - Inactive former employees
- •Document relationships - Use notes for key account information
Related Skills
- •Autotask Tickets - Service tickets for companies
- •Autotask Contracts - Service agreements
- •Autotask Projects - Project management