# ServiceTitan MCP

Vendor: ServiceTitan  
Category: other  
Auth: OAUTH2  
Composio slug: `servicetitan`

ServiceTitan is field service management software for home and commercial service contractors, covering customers, jobs, dispatch, estimates, invoicing, inventory, memberships, payroll, and reporting.

## Tools

- **Activate Employee Account** — Activate a ServiceTitan employee's login account.
- **Activate Technician Account** — Activate a ServiceTitan technician's login account with the required license type and, optionally, assign a truck.
- **Add Credit Memo Splits** — Apply a credit memo to one or more invoices in ServiceTitan by adding splits, each an invoice id and an amount. Splits are added to the memo's existing ones; this operation does not remove or replace them.
- **Add Customer Tag** — Add one tag type to one customer in ServiceTitan. Both ids go in the path and no request body is sent; use ADD_TAGS_TO_CUSTOMERS for several at once.
- **Add Equipment to Equipment System** — Attach existing installed equipment to a ServiceTitan equipment system, by system id and a list of installed equipment ids. Returns the updated system.
- **Add Location Tag** — Add one tag type to one location in ServiceTitan. Both ids go in the path and no request body is sent. There is no bulk variant for locations; call once per location and tag.
- **Add Tags To Customers** — Add one or more tag types to several customers in ServiceTitan in one call. Every tag type listed is added to every customer listed; use ADD_CUSTOMER_TAG for a single customer and tag.
- **Approve Purchase Order Request** — Approve a ServiceTitan purchase order request by its request id. Takes the request id from LIST_PURCHASE_ORDER_REQUESTS, not a purchase order id. No way to withdraw an approval is documented.
- **Assign Technician Skills** — Assign existing skills to a ServiceTitan technician. With replace_existing_skills true the technician's current skills are replaced by the given list; with false the list is added.
- **Assign Technicians to Appointment** — Assign one or more technicians to a ServiceTitan job appointment. Returns the appointment.
- **Attach Job Equipment** — Attach one or more equipment items to a ServiceTitan job. Returns the full list of equipment IDs attached after the change. The spec does not say which equipment ids these are; they are not the equipment system ids of the equipment-system t
- **Attach Job to Project** — Attach an existing ServiceTitan job to a project. Takes no body.
- **Bulk Create Installed Equipment** — Create up to 1000 installed equipment records in ServiceTitan in one atomic request. If any record is invalid the whole batch is rolled back and nothing is created.
- **Bulk Create Pricebook Items** — Create many ServiceTitan pricebook items in one request: services, equipment, materials, and discounts and fees. At least one of those four collections must contain an item. Give each item a customId; links inside the same request (serviceM
- **Bulk Delete Technician Shifts** — Delete every ServiceTitan technician shift in a date range, for all technicians. The only criteria are start and end; there is no technician filter, so check the range with List Technician Shifts first.
- **Bulk Update Pricebook Items** — Update many ServiceTitan pricebook items in one request: services, equipment, materials, and discounts and fees. At least one of those four collections must contain an item. Each item must carry its id and the documented full set of fields,
- **Cancel Inventory Receipt** — Cancel a ServiceTitan inventory receipt by id, optionally recording a cancellation reason. This cannot be undone through the API: no way to reopen a canceled inventory receipt is documented.
- **Cancel Inventory Return** — Cancel a ServiceTitan vendor return by id, optionally recording a cancellation reason. This cannot be undone through the API: no way to reopen a canceled vendor return is documented.
- **Cancel Job** — Cancel a ServiceTitan job with a cancel reason and memo. Jobs cannot be deleted, only canceled; get the reason ID from List Job Cancel Reasons.
- **Cancel Purchase Order** — Cancel a ServiceTitan purchase order by id, optionally recording a cancellation reason. This cannot be undone through the API: no way to reopen a canceled purchase order is documented.
- **Cancel Report Data Query** — Cancel a long-running report data query in ServiceTitan and release its query_token. Succeeds even if the query had already finished; the result can no longer be fetched afterwards.
- **Confirm Appointment** — Mark a ServiceTitan job appointment as confirmed. Takes no body; the appointment's isConfirmed flag becomes true.
- **Create Adjustment Invoice** — Create an adjustment invoice against an existing invoice in ServiceTitan, for example a refund or a write-off; adjustment_to_id names the invoice being adjusted. It cannot create an ordinary job invoice, and the response is a bare integer t
- **Create Appointment** — Add a new appointment to an existing ServiceTitan job, with start and end times and optional technicians. A job's first appointment is created by Create Job; use this only for additional visits.
- **Create Arrival Window** — Create a ServiceTitan arrival window with a start time and duration for a set of business units.
- **Create Booking** — Create a booking in ServiceTitan, an incoming request that office staff later book as a job or dismiss. It does not create a job; send at least one phone or email in contacts so staff can follow up.
- **Create Booking Contact** — Add a contact entry (phone, email or fax) to a booking in ServiceTitan for a given booking provider. This is the booking's own contact list, separate from the GUID person contacts managed with CREATE_CONTACT and CREATE_CONTACT_METHOD.
- **Create Booking Provider Tag** — Create a booking provider tag in ServiceTitan, the label that identifies one source of bookings. Both tag_name and description are required.
- **Create Budget Code** — Create a full ServiceTitan budget code from a list of segment item IDs. Use Create Partial Budget Code when some segments have no item chosen.
- **Create Business Hours** — Set the ServiceTitan business hours by sending the open time ranges for weekdays, Saturday and Sunday. All three lists are required; whether this replaces existing hours is not documented.
- **Create Campaign** — Create a marketing campaign in ServiceTitan. name, business_unit_id, category_id and active are required.
- **Create Campaign Category** — Create a marketing campaign category in ServiceTitan. Returns only the new category's id.
- **Create Campaign Cost** — Create the cost record of a marketing campaign for one month in ServiceTitan. The amount is given as a daily cost, not a monthly total.
- **Create Contact** — Create a contact (a person record with name and title) in ServiceTitan. It is not linked to anything yet; add phone or email with CREATE_CONTACT_METHOD and link it with CREATE_CONTACT_RELATIONSHIP.
- **Create Contact Method** — Add a contact method (phone, mobile phone, email or fax) to a contact in ServiceTitan. contact_id is the GUID of a person contact from CREATE_CONTACT or LIST_CONTACTS; to add a phone or email directly to a customer, location or booking use 
- **Create Contact Relationship** — Link a contact to a customer, location or booking in ServiceTitan. All three values go in the path and no request body is sent.
- **Create Customer** — Create a customer in ServiceTitan together with its first location or locations. name, address and at least one entry in locations are required; merging or deactivating customers is not available through the API.
- **Create Customer Contact** — Add a contact entry (phone, mobile phone, email or fax) to a customer in ServiceTitan. It is not copied to the customer's locations. This is the customer's own contact list, separate from the GUID person contacts managed with CREATE_CONTACT
- **Create Customer Note** — Add a note to a customer in ServiceTitan. Set add_to_locations to copy the same note to the customer's active locations.
- **Create Employee** — Create an office employee in ServiceTitan with a role and positions; returns the new employee id. account_creation_method picks CreateLater, SendInvite or AssignLoginAndPassword; the spec does not describe what each one does.
- **Create Equipment System** — Create an equipment system at a ServiceTitan customer location, optionally attaching installed equipment to it. The name must be unique within the location.
- **Create Equipment Type** — Create an equipment type in ServiceTitan for classifying installed equipment.
- **Create Estimate** — Create an estimate in ServiceTitan on a job or project, with its line items. Use it to quote work before it is sold; every field is optional in the spec, and which ones ServiceTitan actually needs (such as job_id or project_id) is not docum
- **Create Estimate Template** — Create an estimate template in ServiceTitan from a list of pricebook items. Static templates need a unitPrice on every item; Dynamic templates take prices from the pricebook.
- **Create External Call Attribution** — Attribute a phone call tracked by outside call-tracking software to a web session in ServiceTitan Marketing Ads. It records attribution only; it does not create a call, lead or job.
- **Create Finding** — Create a finding in ServiceTitan to record an issue or observation at a customer location, with an urgency level and optional links to installed equipment and the job where it was found. Attachments link file URLs; no file content is upload
- **Create Finding Attachment** — Add an attachment to a ServiceTitan finding by linking a file URL with a file name and media type. No file content is sent; the spec expects the URL returned by ServiceTitan's findings upload endpoint, which is not available as a tool.
- **Create GL Account** — Create a general ledger (GL) account in ServiceTitan and return the created account. The spec marks no field as required; use LIST_GL_ACCOUNT_TYPES for valid type names.
- **Create GPS Pings** — Send GPS location pings for technician vehicles or units to ServiceTitan for a configured GPS provider, so they plot on the Dispatch Map. Returns a per-ping result; a ping can fail while the call succeeds.
- **Create Gross Pay Item** — Create a gross pay item inside an existing payroll in ServiceTitan and return its id. payroll_id, amount, activity_code_id and date are required; find the payroll id with LIST_PAYROLLS.

## Setup

1. Create or open a Switchy Project.
2. Open Integrations and connect ServiceTitan.
3. Authorise through oauth2.
4. Teammates can now @-mention ServiceTitan tools in chat.

---
Last verified: 2026-10-17T02:00:10.360Z  
Canonical URL: https://switchy.build/directory/mcps/servicetitan