Skip to content
Development
Skill

/service-calls

Autotask Service Call data model - the ServiceCall / ServiceCallTicket / ServiceCallTicketResource three-layer structure - covering fields, status codes, and how tickets and technicians (resources) are linked to scheduled work.

From plugin
msp-claude-plugins
52200 skills146 agents200 commands4 MCP

Claude Code

$ npx -y skills add wyre-ai/msp-claude-plugins --skill service-calls --agent claude-code

SKILL.md

service-calls.SKILL.md
name: "Autotask Service Calls"
description: >
  Autotask Service Call data model - the ServiceCall / ServiceCallTicket /
  ServiceCallTicketResource three-layer structure - covering fields, status codes, and how
  tickets and technicians (resources) are linked to scheduled work.
when_to_use: >-
  When creating, scheduling, updating, or completing service calls linked to tickets. Use when:
  autotask service call, service call, schedule service call, create service call, complete
  service call, close service call, service call ticket, service call resource, assign technician
  service call, schedule visit, planned work autotask, or dispatch technician.

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.

Anti-triggers

  • **The underlying request being worked** — a service call schedules

tickets, it does not replace them; use `autotask-tickets`.

  • **Hours actually worked** — a service call is a plan; billable time

is logged separately with `autotask-time-entries`.

  • **Multi-phase planned work with dependencies** — use

`autotask-projects`.

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. Use `autotask_get_field_info` with `entityType: "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 `ServiceCall` can cover **multiple tickets**
  • Each `ServiceCallTicket` can have **multiple resources** (technicians)
  • Resources can have a `roleID` to 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 Tick

Read more
@wyre-technology
Ships withmsp-claude-plugins

One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: mcp.wyre.ai

52200 skills146 agents4 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
52
Star history of wyre-technology/msp-claude-plugins on GitHub, a chart by star-history.com

Other skills on msp-claude-plugins.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills13d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react4d252k
@facebook@facebookInstall Skill

Questions about service-calls.

Which coding agents can use service-calls?
service-calls installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.