Autotask Service Call Management
Overview
Service Calls in Autotask are used to schedule and plan work against tickets. They represent a planned visit or block of work — linking one or more tickets to a time slot and assigning technicians. This skill covers the full lifecycle: creating service calls, linking tickets, assigning resources, and completing/closing them.
Service Call Status Codes
| Status ID | Name | Description | |-----------|------|-------------| | 1 | New | Freshly created, not yet dispatched | | 2 | In Progress | Technician is actively working | | 5 | Complete | Work completed |
Instance note: Status picklist values are instance-specific. Useautotask_get_field_infowithentityType: "ServiceCalls"to confirm valid values for your Autotask instance.
Data Model
Service Calls have a three-layer structure:
ServiceCall
└── ServiceCallTicket(s) ← links a Ticket to the ServiceCall
└── ServiceCallTicketResource(s) ← assigns a Technician to that ticket
- A single
ServiceCallcan cover multiple tickets - Each
ServiceCallTicketcan have multiple resources (technicians) - Resources can have a
roleIDto specify their role for billing purposes
Complete Field Reference
ServiceCall Fields
| Field | Type | Required | Description | |-------|------|----------|-------------| | id | int | System | Auto-generated ID | | description | string | Yes | Description of the service call | | status | int | No | Status picklist ID (default: 1 = New) | | startDateTime | datetime | Yes | Scheduled start (ISO 8601) | | endDateTime | datetime | Yes | Scheduled end (ISO 8601) | | duration | decimal | System | Calculated from start/end | | companyID | int | No | Company this service call is for | | companyLocationID | int | No | Site/location within the company | | complete | boolean | No | Set true to mark complete | | createDate | datetime | System | When the service call was created | | creatorResourceID | int | System | Who created the service call | | lastModifiedDateTime | datetime | System | Last update timestamp |
ServiceCallTicket Fields
| Field | Type | Required | Description | |-------|------|----------|-------------| | id | int | System | Auto-generated ID | | serviceCallID | int | Yes | The parent service call | | ticketID | int | Yes | The linked ticket |
ServiceCallTicketResource Fields
| Field | Type | Required | Description | |-------|------|----------|-------------| | id | int | System | Auto-generated ID | | serviceCallTicketID | int | Yes | The parent service call ticket | | resourceID | int | Yes | The technician (resource) to assign | | roleID | int | No | Role for billing rate determination |
Available MCP Tools
| Tool | Description | |------|-------------| | autotask_get_service_call | Get a service call by ID | | autotask_search_service_calls | Search by company, status, or date range | | autotask_create_service_call | Create a new service call | | autotask_update_service_call | Update details, times, or status | | autotask_delete_service_call | Delete a service call | | autotask_search_service_call_tickets | Find tickets linked to a service call | | autotask_create_service_call_ticket | Link a ticket to a service call | | autotask_delete_service_call_ticket | Remove a ticket from a service call | | autotask_search_service_call_ticket_resources | Find technicians assigned to a service call ticket | | autotask_create_service_call_ticket_resource | Assign a technician to a service call ticket | | autotask_delete_service_call_ticket_resource | Remove a technician assignment |
Common Workflows
Create a Service Call and Link a Ticket
1. autotask_create_service_call
→ description, startDateTime, endDateTime, companyID
2. autotask_create_service_call_ticket
→ serviceCallID (from step 1), ticketID
3. autotask_create_service_call_ticket_resource
→ serviceCallTicketID (from step 2), resourceID, roleID
Complete a Service Call
Two equivalent approaches:
# Option A: Set complete flag
autotask_update_service_call → serviceCallId, complete: true
# Option B: Update status
autotask_update_service_call → serviceCallId, status: 5
Find All Tickets for a Service Call
autotask_search_service_call_tickets → serviceCallId: <id>
Find All Service Calls for a Ticket
autotask_search_service_call_tickets → ticketId: <id>
Find Upcoming Service Calls for a Company
autotask_search_service_calls → companyId: <id>, startAfter: "2026-03-22T00:00:00Z"
API Patterns
Create Service Call
POST /v1.0/ServiceCalls
Content-Type: application/json
{
"description": "On-site visit - network troubleshooting",
"status": 1,
"startDateTime": "2026-03-25T09:00:00Z",
"endDateTime": "2026-03-25T12:00:00Z",
"companyID": 12345
}
Link Ticket to Service Call
POST /v1.0/ServiceCallTickets
Content-Type: application/json
{
"serviceCallID": 99001,
"ticketID": 54321
}
Assign Technician
POST /v1.0/ServiceCallTicketResources
Content-Type: application/json
{
"serviceCallTicketID": 88001,
"resourceID": 29744150,
"roleID": 5
}
Update / Complete Service Call
PATCH /v1.0/ServiceCalls
Content-Type: application/json
{
"id": 99001,
"complete": true
}
Query Service Calls
POST /v1.0/ServiceCalls/query
Content-Type: application/json
Upcoming service calls for a company:
{
"filter": [
{ "op": "eq", "field": "companyID", "value": 12345 },
{ "op": "gte", "field": "startDateTime", "value": "2026-03-22T00:00:00Z" }
],
"pageSize": 25
}
Open service calls (not complete):
{
"filter": [
{ "op": "noteq", "field": "status", "value": 5 }
]
}
Error Handling
| Code | Cause | Resolution | |------|-------|------------| | 400 | Missing required fields | Ensure description, startDateTime, endDateTime are provided | | 400 | Invalid datetime format | Use ISO 8601 format: 2026-03-25T09:00:00Z | | 404 | Service call not found | Confirm the ID exists | | 404 | Ticket not found | Confirm ticket ID before linking |
Best Practices
- Always link at least one ticket — A service call with no linked tickets has no billable context
- Assign resources after linking tickets —
ServiceCallTicketResourcerequires aServiceCallTicketID, not aServiceCallID - Set
companyIDon the service call — Helps with scheduling views and reporting - Use
autotask_get_field_infoto discover instance-specific status picklist values before creating service calls - Complete promptly — Mark service calls complete when work is done so scheduling boards stay accurate
Related Skills
- [Autotask Tickets](../tickets/SKILL.md) - Ticket management
- [Autotask Time Entries](../time-entries/SKILL.md) - Time tracking and billing
- [Autotask API Patterns](../api-patterns/SKILL.md) - Query builder and authentication