# How to connect ServiceTitan MCP with ChatGPT

```json
{
  "title": "How to connect ServiceTitan MCP with ChatGPT",
  "toolkit": "ServiceTitan",
  "toolkit_slug": "servicetitan",
  "framework": "ChatGPT",
  "framework_slug": "chatgpt",
  "url": "https://composio.dev/toolkits/servicetitan/framework/chatgpt",
  "markdown_url": "https://composio.dev/toolkits/servicetitan/framework/chatgpt.md",
  "updated_at": "2026-10-03T05:33:21.022Z"
}
```

## Introduction

### How to connect ServiceTitan MCP with ChatGPT
[ChatGPT](https://chatgpt.com/) can take action across your apps and files, stay with a project for hours, and turn a goal into finished materials like sheets, slides, and docs, not just answers.
In this guide, I will explain the easiest and most secure way to connect your ServiceTitan account to ChatGPT via Composio Connect, so it can schedule dispatches, create invoices, update jobs, manage inventory, and fetch customer records through natural language commands without ever putting your account credentials at risk.

## Also integrate ServiceTitan with

- [Claude Cowork](https://composio.dev/toolkits/servicetitan/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/servicetitan/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/servicetitan/framework/atomic-agent)

## TL;DR

### Why use Composio over default connectors?
- Apps with read and write access. Default connectors mostly can read your data. Composio's ServiceTitan integration lets ChatGPT take actions like creating drafts, sending updates, labeling records, and more.
- 1,500+ SaaS toolkits out of the box. Composio gives you instant access to a vast catalog of pre-built connectors, from Gmail and Slack to Notion, Linear, and Salesforce.
- One MCP server for every app. Connect any of your applications on demand through a single endpoint, rather than juggling a separate server for each app.
- Smart, context-aware tool loading. Unlike traditional MCP servers that dump every available tool into the LLM context window, Composio searches for and loads only the tools relevant to the task at hand.
- Cross-app automation. Chain actions across multiple apps in a single run - fetch a thread, summarize it in Notion, and post highlights to Slack without leaving the conversation.

## Connect ServiceTitan to ChatGPT

### Prerequisites
- A ChatGPT account. We will use the [ChatGPT desktop app](https://openai.com/chatgpt/download/), and the steps are the same on the web.
- Access to the ServiceTitan workspace you want to connect.
- [Composio plugin](https://dashboard.composio.dev/login?utm_source=toolkits&utm_medium=framework_template&utm_campaign=chatgpt&utm_content=composio_connect&next=%2F~%2Forg%2Fconnect%2Fclients%2Fchatgpt).
Note: Composio connects through OAuth. You will be asked to sign in and approve specific permissions. Review the permission screen carefully if you are using a work account.
### Step-by-step: Connect ServiceTitan to ChatGPT
### 1. Install the Composio plugin
Click the button. ChatGPT opens the Composio plugin page. Click Install plugin.
[Install in ChatGPT](https://chatgpt.com/plugins/plugin_asdk_app_6a58503580c08191b78cc5bdaf4eba6e)
You can also find it inside ChatGPT: go to Settings, open Plugins, search the marketplace for Composio, and click Install plugin.
### 2. Authenticate
After you install, ChatGPT asks you to authenticate with Composio. Log in and click Allow access to authorize ChatGPT to use your Composio account.
### 3. Start using Composio
That is it. Composio tools are now available in ChatGPT. Type @Composio followed by your request, for example @Composio find unread ServiceTitan messages and summarize them, and it will run the actions you authorize. On first use it asks you to authorize ServiceTitan.
### Option 2: Add Composio as an MCP server
If you cannot use the plugin marketplace, add Composio as a custom MCP server instead.
### 1. Open the MCP settings
In ChatGPT, go to Settings and open the Plugins section. Inside the Plugins page, click the MCP tab.
### 2. Add the server
Click Add server. In the Name field enter Composio, for Type select Streamable HTTP, and in the URL field paste the Composio MCP server URL:

```bash
https://connect.composio.dev/mcp
```

## What is the ServiceTitan MCP server, and what's possible with it?

The ServiceTitan MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your ServiceTitan account. It provides structured and secure access so your agent can perform ServiceTitan operations on your behalf.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `SERVICETITAN_ACTIVATE_EMPLOYEE_ACCOUNT` | Activate Employee Account | Activate a ServiceTitan employee's login account. |
| `SERVICETITAN_ACTIVATE_TECHNICIAN_ACCOUNT` | Activate Technician Account | Activate a ServiceTitan technician's login account with the required license type and, optionally, assign a truck. |
| `SERVICETITAN_ADD_CREDIT_MEMO_SPLITS` | 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. |
| `SERVICETITAN_ADD_CUSTOMER_TAG` | 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. |
| `SERVICETITAN_ADD_EQUIPMENT_TO_EQUIPMENT_SYSTEM` | 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. |
| `SERVICETITAN_ADD_LOCATION_TAG` | 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. |
| `SERVICETITAN_ADD_TAGS_TO_CUSTOMERS` | 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. |
| `SERVICETITAN_APPROVE_PURCHASE_ORDER_REQUEST` | 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. |
| `SERVICETITAN_ASSIGN_TECHNICIAN_SKILLS` | 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. |
| `SERVICETITAN_ASSIGN_TECHNICIANS_TO_APPOINTMENT` | Assign Technicians to Appointment | Assign one or more technicians to a ServiceTitan job appointment. Returns the appointment. |
| `SERVICETITAN_ATTACH_JOB_EQUIPMENT` | 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 tools, and whether installed-equipment ids (LIST_INSTALLED_EQUIPMENT) or pricebook equipment ids (LIST_PRICEBOOK_EQUIPMENT) are meant is unverified. |
| `SERVICETITAN_ATTACH_JOB_TO_PROJECT` | Attach Job to Project | Attach an existing ServiceTitan job to a project. Takes no body. |
| `SERVICETITAN_BULK_CREATE_INSTALLED_EQUIPMENT` | 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. |
| `SERVICETITAN_BULK_CREATE_PRICEBOOK_ITEMS` | 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 (serviceMaterials, recommendations, upgrades) can point to it by customId, and the response maps each customId to its new id. |
| `SERVICETITAN_BULK_DELETE_TECHNICIAN_SHIFTS` | 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. |
| `SERVICETITAN_BULK_UPDATE_PRICEBOOK_ITEMS` | 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, not just the changed ones. |
| `SERVICETITAN_CANCEL_INVENTORY_RECEIPT` | 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. |
| `SERVICETITAN_CANCEL_INVENTORY_RETURN` | 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. |
| `SERVICETITAN_CANCEL_JOB` | 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. |
| `SERVICETITAN_CANCEL_PURCHASE_ORDER` | 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. |
| `SERVICETITAN_CANCEL_REPORT_DATA_QUERY` | 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. |
| `SERVICETITAN_CONFIRM_APPOINTMENT` | Confirm Appointment | Mark a ServiceTitan job appointment as confirmed. Takes no body; the appointment's isConfirmed flag becomes true. |
| `SERVICETITAN_CREATE_ADJUSTMENT_INVOICE` | 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 that the spec does not describe. |
| `SERVICETITAN_CREATE_APPOINTMENT` | 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. |
| `SERVICETITAN_CREATE_ARRIVAL_WINDOW` | Create Arrival Window | Create a ServiceTitan arrival window with a start time and duration for a set of business units. |
| `SERVICETITAN_CREATE_BOOKING` | 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. |
| `SERVICETITAN_CREATE_BOOKING_CONTACT` | 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. |
| `SERVICETITAN_CREATE_BOOKING_PROVIDER_TAG` | 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. |
| `SERVICETITAN_CREATE_BUDGET_CODE` | 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. |
| `SERVICETITAN_CREATE_BUSINESS_HOURS` | 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. |
| `SERVICETITAN_CREATE_CAMPAIGN` | Create Campaign | Create a marketing campaign in ServiceTitan. name, business_unit_id, category_id and active are required. |
| `SERVICETITAN_CREATE_CAMPAIGN_CATEGORY` | Create Campaign Category | Create a marketing campaign category in ServiceTitan. Returns only the new category's id. |
| `SERVICETITAN_CREATE_CAMPAIGN_COST` | 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. |
| `SERVICETITAN_CREATE_CONTACT` | 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. |
| `SERVICETITAN_CREATE_CONTACT_METHOD` | 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_CUSTOMER_CONTACT, CREATE_LOCATION_CONTACT or CREATE_BOOKING_CONTACT. |
| `SERVICETITAN_CREATE_CONTACT_RELATIONSHIP` | 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. |
| `SERVICETITAN_CREATE_CUSTOMER` | 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. |
| `SERVICETITAN_CREATE_CUSTOMER_CONTACT` | 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 and CREATE_CONTACT_METHOD. |
| `SERVICETITAN_CREATE_CUSTOMER_NOTE` | 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. |
| `SERVICETITAN_CREATE_EMPLOYEE` | 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. |
| `SERVICETITAN_CREATE_EQUIPMENT_SYSTEM` | 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. |
| `SERVICETITAN_CREATE_EQUIPMENT_TYPE` | Create Equipment Type | Create an equipment type in ServiceTitan for classifying installed equipment. |
| `SERVICETITAN_CREATE_ESTIMATE` | 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 documented. |
| `SERVICETITAN_CREATE_ESTIMATE_TEMPLATE` | 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. |
| `SERVICETITAN_CREATE_EXTERNAL_CALL_ATTRIBUTION` | 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. |
| `SERVICETITAN_CREATE_FINDING` | 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 uploaded. |
| `SERVICETITAN_CREATE_FINDING_ATTACHMENT` | 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. |
| `SERVICETITAN_CREATE_GL_ACCOUNT` | 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. |
| `SERVICETITAN_CREATE_GPS_PINGS` | 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. |
| `SERVICETITAN_CREATE_GROSS_PAY_ITEM` | 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. |
| `SERVICETITAN_CREATE_INSTALLED_EQUIPMENT` | Create Installed Equipment | Create a record of equipment installed at a ServiceTitan customer location, with serial number, warranty dates, and an optional parent equipment or system. Only location_id is required. |
| `SERVICETITAN_CREATE_INVENTORY_ADJUSTMENT` | Create Inventory Adjustment | Create an inventory adjustment in ServiceTitan that changes stock quantities at one inventory location. Only the types Adjustment, BeginningBalance, and Consignment can be created; item quantities may be negative. |
| `SERVICETITAN_CREATE_INVENTORY_RECEIPT` | Create Inventory Receipt | Record a receipt of items against an existing ServiceTitan purchase order. items lists each SKU received with its quantity and cost. |
| `SERVICETITAN_CREATE_INVENTORY_RETURN` | Create Inventory Return | Create a vendor return in ServiceTitan inventory, recording items sent back to a vendor from an inventory location. |
| `SERVICETITAN_CREATE_INVENTORY_RETURN_TYPE` | Create Inventory Return Type | Create a vendor return type in ServiceTitan inventory, with its vendor-credit, sales-tax and default settings. Its id is the return_type_id that CREATE_INVENTORY_RETURN requires. |
| `SERVICETITAN_CREATE_INVOICE_TASK` | Create Invoice Task | Create a task on an invoice in ServiceTitan from a task template. template_id is required and no tool in this toolkit lists invoice task templates, so the id must come from the user or from an existing task's template_id. This is an invoice workflow task, not a Task Management task (CREATE_TASK). |
| `SERVICETITAN_CREATE_INVOICE_TEMPLATE` | Create Invoice Template | Create a membership invoice template in ServiceTitan from a list of line items; returns the new template id. Memberships bill from these templates and recurring service jobs are invoiced from them. |
| `SERVICETITAN_CREATE_JOB` | Create Job | Book a new ServiceTitan job for a customer and location, with at least one appointment. Customer and location must already exist; the job's first appointment is created from the appointments list. |
| `SERVICETITAN_CREATE_JOB_ATTRIBUTION` | Create Job Attribution | Attribute an existing job to a web session in ServiceTitan Marketing Ads. It records attribution only; the job must already exist. |
| `SERVICETITAN_CREATE_JOB_NOTE` | Create Job Note | Add a note to a ServiceTitan job, optionally pinned to the top. |
| `SERVICETITAN_CREATE_JOB_TYPE` | Create Job Type | Create a ServiceTitan job type with its name, priority, duration, business units, skills and default tags. |
| `SERVICETITAN_CREATE_JOURNAL_ENTRY` | Create Journal Entry | Create a journal entry with debit and credit lines in ServiceTitan; it is marked external automatically. status and version_id are required (the spec does not document what version_id a new entry should carry; unverified without a live account), and the documented response has no body, so the new id is not returned: find the entry with LIST_JOURNAL_ENTRIES. |
| `SERVICETITAN_CREATE_LABOR_TYPE` | Create Labor Type | Create a payroll labor type in ServiceTitan and return its id. name, code and active are all required. |
| `SERVICETITAN_CREATE_LEAD` | Create Lead | Create a lead in ServiceTitan. campaign_id and summary are required, and one of call_reason_id or follow_up_date must be sent; passing booking_id irreversibly dismisses that booking and turns it into this lead; ServiceTitan documents no operation to undo the dismissal. For a web-form style lead with just a name and contact details and no campaign id, use SUBMIT_LEAD_FORM. |
| `SERVICETITAN_CREATE_LEAD_FOLLOW_UP` | Create Lead Follow Up | Schedule a follow-up on a lead in ServiceTitan by setting the next follow-up date, with an optional note. |
| `SERVICETITAN_CREATE_LEAD_NOTE` | Create Lead Note | Add a note to a lead in ServiceTitan. |
| `SERVICETITAN_CREATE_LOCATION` | Create Location | Create a location (service address) in ServiceTitan under an existing customer. name, address and customer_id are required. |
| `SERVICETITAN_CREATE_LOCATION_CONTACT` | Create Location Contact | Add a contact entry (phone, mobile phone, email or fax) to a location in ServiceTitan. The provider guide says an entry added to a new location is also copied to its customer. This is the location's own contact list, separate from the GUID person contacts managed with CREATE_CONTACT and CREATE_CONTACT_METHOD. |
| `SERVICETITAN_CREATE_LOCATION_NOTE` | Create Location Note | Add a note to a location in ServiceTitan. Set add_to_customer to copy the same note to the location's customer. |
| `SERVICETITAN_CREATE_MEMBERSHIP_SALE_INVOICE` | Create Membership Sale Invoice | Sell a membership to a customer in ServiceTitan by creating a membership sale invoice; returns the new invoice id and customer membership id. It creates a real invoice and membership together, so call it only once the sale is confirmed. Setting recurring_service_action=None deletes the customer's existing recurring services. |
| `SERVICETITAN_CREATE_NON_JOB_APPOINTMENT` | Create Non Job Appointment | Block time on a ServiceTitan technician's schedule for a non-customer activity such as a meeting, training or time off, optionally repeating. For a customer visit use Create Appointment. |
| `SERVICETITAN_CREATE_OPT_OUTS` | Create Opt Outs | Opt one or more phone numbers out of contact in ServiceTitan. The whole request fails if any number cannot be parsed, and a number already opted out globally cannot be opted out for marketing. |
| `SERVICETITAN_CREATE_PARTIAL_BUDGET_CODE` | Create Partial Budget Code | Create a partial ServiceTitan budget code from segment bindings, where a segment may be left without an item. Use Create Budget Code when every segment has an item. |
| `SERVICETITAN_CREATE_PAYROLL_ADJUSTMENT` | Create Payroll Adjustment | Create a payroll adjustment, a manual earning or deduction for one employee or technician, in ServiceTitan and return its id. employee_type must match the kind of id given in employee_id. |
| `SERVICETITAN_CREATE_PRICEBOOK_CATEGORY` | Create Pricebook Category | Create a category in the ServiceTitan pricebook, as a Services or Materials category. Set parent_id to create it as a subcategory. |
| `SERVICETITAN_CREATE_PRICEBOOK_DISCOUNT_OR_FEE` | Create Pricebook Discount or Fee | Create a discount or a fee in the ServiceTitan pricebook. The type field decides which one, and amount_type decides whether the amount is a percentage or a fixed value. |
| `SERVICETITAN_CREATE_PRICEBOOK_EQUIPMENT` | Create Pricebook Equipment | Create an equipment item in the ServiceTitan pricebook catalog, with pricing, warranty, vendors, and categories. This does not record equipment installed at a location; use CREATE_INSTALLED_EQUIPMENT for that. |
| `SERVICETITAN_CREATE_PRICEBOOK_MATERIAL` | Create Pricebook Material | Create a material in the ServiceTitan pricebook, with cost, pricing, vendors, and categories. Only code and description are required. |
| `SERVICETITAN_CREATE_PRICEBOOK_MATERIAL_MARKUP` | Create Pricebook Material Markup | Create a material markup tier in the ServiceTitan pricebook: a from/to range and the markup percent applied to it. The documented body also requires an id value. |
| `SERVICETITAN_CREATE_PRICEBOOK_SERVICE` | Create Pricebook Service | Create a service in the ServiceTitan pricebook, with pricing, warranty, categories, and linked materials and equipment. Only code and description are required. |
| `SERVICETITAN_CREATE_PROJECT` | Create Project | Create a ServiceTitan project at a location to group related jobs. Only the location is required; jobs are added afterwards with Attach Job To Project. |
| `SERVICETITAN_CREATE_PROJECT_NOTE` | Create Project Note | Add a note to a ServiceTitan project, optionally pinned to the top. |
| `SERVICETITAN_CREATE_PROPOSAL_TEMPLATE` | Create Proposal Template | Create a proposal template in ServiceTitan that assigns an estimate template to each option of a proposal type. Each proposal type option may appear only once in estimate_assignments. |
| `SERVICETITAN_CREATE_PURCHASE_ORDER` | Create Purchase Order | Create a purchase order in ServiceTitan for items ordered from a vendor. vendor_id, type_id, business_unit_id and inventory_location_id name existing records, and only the id of the new purchase order is returned. |
| `SERVICETITAN_CREATE_PURCHASE_ORDER_MARKUP` | Create Purchase Order Markup | Create a purchase order markup tier in ServiceTitan: a from/to range and the markup percent applied to it. |
| `SERVICETITAN_CREATE_PURCHASE_ORDER_TYPE` | Create Purchase Order Type | Create a purchase order type in ServiceTitan, with its receiving, tax, payroll, and alert settings. Most settings are required, not optional. |
| `SERVICETITAN_CREATE_SUBTASK` | Create Subtask | Create a subtask under an existing task in ServiceTitan Task Management, assigned to an employee. The documented response has no subtask id; it returns parent_task_id and subtask_number. |
| `SERVICETITAN_CREATE_TAG_TYPE` | Create Tag Type | Create a tag type in ServiceTitan with a name and a hex color; returns the new tag type id. Keep the name to 30 characters or fewer. |
| `SERVICETITAN_CREATE_TASK` | Create Task | Create an office task in ServiceTitan Task Management, assigned to an employee. The type, source, business unit and employee ids come from GET_TASK_REFERENCE_DATA. These are Task Management tasks, not the invoice workflow tasks of CREATE_INVOICE_TASK / LIST_INVOICE_TASKS. |
| `SERVICETITAN_CREATE_TEAM` | Create Team | Create a ServiceTitan dispatch team with a name and active flag. |
| `SERVICETITAN_CREATE_TECHNICIAN` | Create Technician | Create a field technician in ServiceTitan with a role, positions and license type; returns the new technician id. Get role_id from LIST_USER_ROLES. |
| `SERVICETITAN_CREATE_TECHNICIAN_RATING` | Create Technician Rating | Record a rating from 0 to 10 for a technician on a specific job in ServiceTitan. If that technician and job already have a rating, it is overwritten with the new score. |
| `SERVICETITAN_CREATE_TECHNICIAN_SHIFT` | Create Technician Shift | Create a ServiceTitan shift (Normal, OnCall or TimeOff) for one or more technicians, optionally repeating daily or weekly. Returns the list of shifts created. |
| `SERVICETITAN_CREATE_TECHNICIAN_SKILL` | Create Technician Skill | Create a new skill in ServiceTitan and assign it to one technician in the same call. To give a technician skills that already exist use Assign Technician Skills. |
| `SERVICETITAN_CREATE_TIMESHEET_ACTIVITY` | Create Timesheet Activity | Create a timesheet activity, a block of recorded time for one employee or technician, in ServiceTitan and return its id. employee_id, employee_type, activity_type_id, start_time and tag_type_ids are required; end_time is optional. |
| `SERVICETITAN_CREATE_TRUCK` | Create Truck | Create a truck inventory location in ServiceTitan. warehouse_id and name are required. |
| `SERVICETITAN_CREATE_VENDOR` | Create Vendor | Create an inventory vendor (supplier) in ServiceTitan. The vendor's main address is required. |
| `SERVICETITAN_CREATE_WEB_BOOKING_ATTRIBUTION` | Create Web Booking Attribution | Attribute an existing booking to a web session in ServiceTitan Marketing Ads. It records attribution only; the booking must already exist. |
| `SERVICETITAN_CREATE_WEB_LEAD_FORM_ATTRIBUTION` | Create Web Lead Form Attribution | Attribute an existing lead captured from a web form to a web session in ServiceTitan Marketing Ads. It records attribution only; the lead must already exist. |
| `SERVICETITAN_CREATE_ZONE` | Create Zone | Create a ServiceTitan dispatch zone from zip codes, cities, territory numbers, service days and business units. |
| `SERVICETITAN_DEACTIVATE_EMPLOYEE_ACCOUNT` | Deactivate Employee Account | Deactivate a ServiceTitan employee's login account. |
| `SERVICETITAN_DEACTIVATE_ESTIMATE_TEMPLATE` | Deactivate Estimate Template | Deactivate an estimate template in ServiceTitan. The template is not removed: it becomes inactive and stops appearing in active-only lists. |
| `SERVICETITAN_DEACTIVATE_PROPOSAL_TEMPLATE` | Deactivate Proposal Template | Deactivate a proposal template in ServiceTitan. The template is not removed and can be reactivated by updating it with active true. |
| `SERVICETITAN_DEACTIVATE_TECHNICIAN_ACCOUNT` | Deactivate Technician Account | Deactivate a ServiceTitan technician's login account. |
| `SERVICETITAN_DELETE_APPOINTMENT` | Delete Appointment | Delete a ServiceTitan job appointment by ID. The API refuses to delete the only appointment on a job or one with timesheets; an individual appointment cannot be canceled, only deleted. |
| `SERVICETITAN_DELETE_BOOKING_CONTACT` | Delete Booking Contact | Remove one contact entry from a booking in ServiceTitan for a given booking provider. The booking itself is kept. |
| `SERVICETITAN_DELETE_CONTACT` | Delete Contact | Delete a contact in ServiceTitan by its GUID. To keep the record but hide it, set is_archived with UPDATE_CONTACT instead. |
| `SERVICETITAN_DELETE_CONTACT_METHOD` | Delete Contact Method | Delete one contact method from 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_CUSTOMER_CONTACT, CREATE_LOCATION_CONTACT or CREATE_BOOKING_CONTACT. |
| `SERVICETITAN_DELETE_CONTACT_RELATIONSHIP` | Delete Contact Relationship | Remove the link between a contact and a customer, location or booking in ServiceTitan. The contact itself is kept. |
| `SERVICETITAN_DELETE_CUSTOMER_CONTACT` | Delete Customer Contact | Remove one contact entry from a customer in ServiceTitan. |
| `SERVICETITAN_DELETE_CUSTOMER_NOTE` | Delete Customer Note | Delete one note from a customer in ServiceTitan. |
| `SERVICETITAN_DELETE_EQUIPMENT_SYSTEM` | Delete Equipment System | Delete a ServiceTitan equipment system by id. |
| `SERVICETITAN_DELETE_ESTIMATE_ITEM` | Delete Estimate Item | Remove one line item from an estimate in ServiceTitan. The removal is permanent. |
| `SERVICETITAN_DELETE_FINDING_ATTACHMENT` | Delete Finding Attachment | Remove an attachment from a ServiceTitan finding, by finding id and attachment id. |
| `SERVICETITAN_DELETE_GROSS_PAY_ITEM` | Delete Gross Pay Item | Delete a gross pay item in ServiceTitan by its id. The spec documents no response body and no way to restore a deleted item. |
| `SERVICETITAN_DELETE_INVOICE_ITEM` | Delete Invoice Item | Delete one line item from an invoice in ServiceTitan. The item is removed from the invoice and its totals; the documented response has no body. |
| `SERVICETITAN_DELETE_JOB_ATTACHMENT` | Delete Job Attachment | Delete one attachment from a job in ServiceTitan. The spec documents no way to restore a deleted attachment. |
| `SERVICETITAN_DELETE_JOURNAL_ENTRY` | Delete Journal Entry | Delete a journal entry in ServiceTitan. Only external entries, those created through the API, can be deleted; the spec documents no way to restore one. |
| `SERVICETITAN_DELETE_LOCATION_CONTACT` | Delete Location Contact | Remove one contact entry from a location in ServiceTitan. |
| `SERVICETITAN_DELETE_LOCATION_NOTE` | Delete Location Note | Delete one note from a location in ServiceTitan. |
| `SERVICETITAN_DELETE_NON_JOB_APPOINTMENT` | Delete Non Job Appointment | Delete a ServiceTitan non-job appointment by its ID. |
| `SERVICETITAN_DELETE_PAYROLL_ADJUSTMENT` | Delete Payroll Adjustment | Delete a payroll adjustment in ServiceTitan by its id. employee_type is required and must match the adjustment's owner; the spec documents no way to restore it. |
| `SERVICETITAN_DELETE_PRICEBOOK_CATEGORY` | Delete Pricebook Category | Delete a category from the ServiceTitan pricebook by id. To hide a category without deleting it, use UPDATE_PRICEBOOK_CATEGORY with active set to false. |
| `SERVICETITAN_DELETE_PRICEBOOK_DISCOUNT_OR_FEE` | Delete Pricebook Discount or Fee | Delete a discount or fee from the ServiceTitan pricebook by id. To hide it without deleting, use UPDATE_PRICEBOOK_DISCOUNT_OR_FEE with active set to false. |
| `SERVICETITAN_DELETE_PRICEBOOK_EQUIPMENT` | Delete Pricebook Equipment | Delete an equipment item from the ServiceTitan pricebook catalog by id. To hide it without deleting, use UPDATE_PRICEBOOK_EQUIPMENT with active set to false. |
| `SERVICETITAN_DELETE_PRICEBOOK_MATERIAL` | Delete Pricebook Material | Delete a material from the ServiceTitan pricebook by id. To hide it without deleting, use UPDATE_PRICEBOOK_MATERIAL with active set to false. |
| `SERVICETITAN_DELETE_PRICEBOOK_SERVICE` | Delete Pricebook Service | Delete a service from the ServiceTitan pricebook by id. To hide it without deleting, use UPDATE_PRICEBOOK_SERVICE with active set to false. |
| `SERVICETITAN_DELETE_PROJECT_DAILY_LOG_ATTACHMENT` | Delete Project Daily Log Attachment | Delete one attachment from a ServiceTitan project daily log. The file is removed from the log. |
| `SERVICETITAN_DELETE_PURCHASE_ORDER_MARKUP` | Delete Purchase Order Markup | Delete a ServiceTitan purchase order markup tier by id. |
| `SERVICETITAN_DELETE_TEAM` | Delete Team | Delete a ServiceTitan dispatch team by its ID. |
| `SERVICETITAN_DELETE_TECHNICIAN_SHIFT` | Delete Technician Shift | Delete one ServiceTitan technician shift by its ID. |
| `SERVICETITAN_DELETE_TECHNICIAN_SKILL` | Delete Technician Skill | Remove a skill from a ServiceTitan technician by deleting the technician-skill association, whose ID has the form {technicianId}_{skillId}. |
| `SERVICETITAN_DELETE_TIMESHEET_ACTIVITY` | Delete Timesheet Activity | Delete a timesheet activity in ServiceTitan by its id. The recorded time is removed; the spec documents no way to restore it. |
| `SERVICETITAN_DELETE_ZONE` | Delete Zone | Delete a ServiceTitan dispatch zone by its ID. |
| `SERVICETITAN_DETACH_JOB_EQUIPMENT` | Detach Job Equipment | Detach one or more equipment items from a ServiceTitan job in a single call. Returns no content. The spec does not say which equipment ids these are; they are not the equipment system ids of the equipment-system tools, and whether installed-equipment ids (LIST_INSTALLED_EQUIPMENT) or pricebook equipment ids (LIST_PRICEBOOK_EQUIPMENT) are meant is unverified. |
| `SERVICETITAN_DETACH_JOB_FROM_PROJECT` | Detach Job from Project | Detach a ServiceTitan job from whichever project it belongs to. Only the job ID is given; the project is not named. |
| `SERVICETITAN_DISMISS_BOOKING` | Dismiss Booking | Dismiss a booking in ServiceTitan for a given booking provider, marking it as not converted to a job. Optionally record a call reason and a memo; no way to undo this is documented. |
| `SERVICETITAN_DISMISS_ESTIMATE` | Dismiss Estimate | Mark an estimate as dismissed in ServiceTitan, for a quote the customer will not accept. The estimate is kept, with status Dismissed. No operation to reopen a dismissed estimate is documented; UPDATE_ESTIMATE takes a status field, but whether setting it to Open undoes a dismissal is not documented. |
| `SERVICETITAN_DISMISS_LEAD` | Dismiss Lead | Dismiss a lead in ServiceTitan so it needs no further follow-up. A call reason id is required as the dismissal reason; no way to reopen a lead is documented. |
| `SERVICETITAN_EXPORT_APPOINTMENT_ASSIGNMENTS` | Export Appointment Assignments | Export ServiceTitan technician-to-appointment assignments in bulk as a continuation feed. Use it for full or incremental sync; use List Appointment Assignments when you need filters. |
| `SERVICETITAN_EXPORT_APPOINTMENTS` | Export Appointments | Export ServiceTitan job appointments in bulk as a continuation feed. Use it for full or incremental sync; use List Appointments when you need filters beyond active status. |
| `SERVICETITAN_EXPORT_BOOKINGS` | Export Bookings | Export bookings from ServiceTitan as a change feed for bulk sync, one batch per call. Pass the returned continue_from back to get the next batch; use LIST_BOOKINGS for filtered lookups. |
| `SERVICETITAN_EXPORT_BUSINESS_UNITS` | Export Business Units | Export feed of business units from ServiceTitan for bulk sync. Pass the returned continue_from on the next call, and has_more false means the feed is caught up. Use LIST_BUSINESS_UNITS instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_CALLS` | Export Calls | Export feed of phone calls from ServiceTitan for bulk sync; each record carries an active flag. Pass the returned continue_from on the next call, and has_more false means the feed is caught up. Use LIST_CALLS instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_CUSTOMER_CONTACTS` | Export Customer Contacts | Export customer contact entries from ServiceTitan as a change feed for bulk sync, one batch per call. Pass the returned continue_from back to get the next batch. Use LIST_CUSTOMER_CONTACTS for a filtered lookup across customers, or LIST_CUSTOMER_CONTACTS for one customer. |
| `SERVICETITAN_EXPORT_CUSTOMERS` | Export Customers | Export customers from ServiceTitan as a change feed for bulk sync, one batch per call. Pass the returned continue_from back to get the next batch; use LIST_CUSTOMERS for filtered lookups. |
| `SERVICETITAN_EXPORT_EMPLOYEES` | Export Employees | Export feed of employees from ServiceTitan for bulk sync. Pass the returned continue_from on the next call, and has_more false means the feed is caught up. Use LIST_EMPLOYEES instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_EQUIPMENT_SYSTEMS` | Export Equipment Systems | Export equipment systems from ServiceTitan as a continuation feed for bulk sync. Pass the returned continue_from token back to get the next batch; set include_recent_changes to receive the most recent changes sooner. Use LIST_EQUIPMENT_SYSTEMS instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_ESTIMATES` | Export Estimates | Export estimates from ServiceTitan as a change feed for bulk sync, one batch per call. Pass the returned continue_from on the next call; has_more false means the feed is caught up. Use LIST_ESTIMATES for filtered lookups. |
| `SERVICETITAN_EXPORT_GROSS_PAY_ITEMS` | Export Gross Pay Items | Export gross pay items from ServiceTitan as a continuation feed for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call; use LIST_GROSS_PAY_ITEMS instead for a filtered lookup. |
| `SERVICETITAN_EXPORT_INSTALLED_EQUIPMENT` | Export Installed Equipment | Export installed equipment records from ServiceTitan as a continuation feed for bulk sync. Pass the returned continue_from token back to get the next batch; set include_recent_changes to receive the most recent changes sooner. Use LIST_INSTALLED_EQUIPMENT instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_INVENTORY_ADJUSTMENTS` | Export Inventory Adjustments | Export inventory adjustments from ServiceTitan as a continuation feed for bulk sync, with no filters. Pass the returned continue_from token back to get the next batch; use LIST_INVENTORY_ADJUSTMENTS for a filtered lookup. |
| `SERVICETITAN_EXPORT_INVENTORY_BILLS` | Export Inventory Bills | Export inventory bills from ServiceTitan as a continuation feed for bulk sync: returns active, inactive and deleted records with no filters. Pass the returned continue_from on the next call; use LIST_INVENTORY_BILLS instead for a filtered lookup. |
| `SERVICETITAN_EXPORT_INVENTORY_RETURNS` | Export Inventory Returns | Export vendor returns from ServiceTitan inventory as a continuation feed for bulk sync, with no filters. Pass the returned continue_from token back to get the next batch. Use LIST_INVENTORY_RETURNS instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_INVENTORY_TRANSFERS` | Export Inventory Transfers | Export inventory transfers from ServiceTitan as a continuation feed for bulk sync, with no filters. Pass the returned continue_from token back to get the next batch. Use LIST_INVENTORY_TRANSFERS instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_INVOICE_ITEMS` | Export Invoice Items | Export invoice line items from ServiceTitan as a continuation feed for bulk sync: returns active, inactive and deleted records with no filters. Pass the returned continue_from on the next call and keep it to pick up later changes. |
| `SERVICETITAN_EXPORT_INVOICES` | Export Invoices | Export invoices from ServiceTitan as a continuation feed for bulk sync: returns active, inactive and deleted records with no filters. Pass the returned continue_from on the next call; use LIST_INVOICES instead for a filtered lookup. |
| `SERVICETITAN_EXPORT_INVOICE_TEMPLATES` | Export Invoice Templates | Export feed of membership invoice templates from ServiceTitan for bulk sync; the only way to enumerate templates without knowing their ids. The feed takes no filters and each record carries an active flag; pass the returned continue_from on the next call, and has_more false means the feed is caught up. Use LIST_INVOICE_TEMPLATES or GET_INVOICE_TEMPLATE when the template ids are already known. |
| `SERVICETITAN_EXPORT_JOB_CANCELED_LOGS` | Export Job Canceled Logs | Export ServiceTitan job canceled logs (who canceled which job, when, and why) in bulk as a continuation feed. For the canceled logs of one job use LIST_JOB_CANCELED_LOGS. |
| `SERVICETITAN_EXPORT_JOB_HISTORY` | Export Job History | Export the status history of all ServiceTitan jobs in bulk as a continuation feed. For one job use Get Job History. |
| `SERVICETITAN_EXPORT_JOB_NOTES` | Export Job Notes | Export notes from all ServiceTitan jobs in bulk as a continuation feed. For the notes of one job use List Job Notes. |
| `SERVICETITAN_EXPORT_JOBS` | Export Jobs | Export ServiceTitan jobs in bulk as a continuation feed that includes active, inactive and deleted records. Use it for full or incremental sync; use List Jobs when you need filters. |
| `SERVICETITAN_EXPORT_LEADS` | Export Leads | Export leads from ServiceTitan as a change feed for bulk sync, one batch per call. Pass the returned continue_from back to get the next batch; use LIST_LEADS for filtered lookups. |
| `SERVICETITAN_EXPORT_LOCATION_CONTACTS` | Export Location Contacts | Export location contact entries from ServiceTitan as a change feed for bulk sync, one batch per call. Pass the returned continue_from back to get the next batch. Use LIST_LOCATION_CONTACTS for a filtered lookup across locations, or LIST_LOCATION_CONTACTS for one location. |
| `SERVICETITAN_EXPORT_LOCATIONS` | Export Locations | Export locations from ServiceTitan as a change feed for bulk sync, one batch per call. Pass the returned continue_from back to get the next batch; use LIST_LOCATIONS for filtered lookups. |
| `SERVICETITAN_EXPORT_MEMBERSHIPS` | Export Memberships | Export feed of customer memberships from ServiceTitan for bulk sync; the feed takes no filters and each record carries an active flag and a status. Pass the returned continue_from on the next call, and has_more false means the feed is caught up. Use LIST_MEMBERSHIPS instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_MEMBERSHIP_STATUS_CHANGES` | Export Membership Status Changes | Export feed of customer membership status changes from ServiceTitan, across all memberships; each record gives the old and new status. Pass the returned continue_from on the next call, and has_more false means the feed is caught up. For the history of one membership use LIST_MEMBERSHIP_STATUS_CHANGES. |
| `SERVICETITAN_EXPORT_MEMBERSHIP_TYPES` | Export Membership Types | Export feed of membership types from ServiceTitan for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call, and has_more false means the feed is caught up. Use LIST_MEMBERSHIP_TYPES instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_PAYMENTS` | Export Payments | Export customer payments from ServiceTitan as a continuation feed for bulk sync: returns active, inactive and deleted records with no filters. Pass the returned continue_from on the next call; use LIST_PAYMENTS instead for a filtered lookup. |
| `SERVICETITAN_EXPORT_PAYROLL_ACTIVITY_CODES` | Export Payroll Activity Codes | Export payroll activity codes (earning codes) from ServiceTitan as a continuation feed for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call; use LIST_PAYROLL_ACTIVITY_CODES instead for a filtered lookup. |
| `SERVICETITAN_EXPORT_PAYROLL_ADJUSTMENTS` | Export Payroll Adjustments | Export payroll adjustments from ServiceTitan as a continuation feed for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call; use LIST_PAYROLL_ADJUSTMENTS instead for a filtered lookup. |
| `SERVICETITAN_EXPORT_PAYROLL_JOB_SPLITS` | Export Payroll Job Splits | Export payroll job splits (each technician's split of a job) from ServiceTitan as a continuation feed for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call; use LIST_PAYROLL_JOB_SPLITS instead for a filtered lookup. |
| `SERVICETITAN_EXPORT_PAYROLL_JOB_TIMESHEETS` | Export Payroll Job Timesheets | Export job timesheets (technician dispatch, arrival and completion times on job appointments) from ServiceTitan as a continuation feed for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call; use LIST_PAYROLL_JOB_TIMESHEETS instead for a filtered lookup. |
| `SERVICETITAN_EXPORT_PAYROLL_SETTINGS` | Export Payroll Settings | Export employee and technician payroll settings from ServiceTitan as a continuation feed for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call; use LIST_PAYROLL_SETTINGS instead for a filtered lookup. |
| `SERVICETITAN_EXPORT_PRICEBOOK_CATEGORIES` | Export Pricebook Categories | Export pricebook categories from ServiceTitan as a continuation feed for bulk sync. Pass the returned continue_from token back to get the next batch; records appear about 15 minutes after a change unless include_recent_changes is true. Use LIST_PRICEBOOK_CATEGORIES instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_PRICEBOOK_EQUIPMENT` | Export Pricebook Equipment | Export pricebook equipment items from ServiceTitan as a continuation feed for bulk sync. Pass the returned continue_from token back to get the next batch; records appear about 15 minutes after a change unless include_recent_changes is true. Use LIST_PRICEBOOK_EQUIPMENT instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_PRICEBOOK_MATERIALS` | Export Pricebook Materials | Export pricebook materials from ServiceTitan as a continuation feed for bulk sync. Pass the returned continue_from token back to get the next batch; records appear about 15 minutes after a change unless include_recent_changes is true. Use LIST_PRICEBOOK_MATERIALS instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_PRICEBOOK_SERVICES` | Export Pricebook Services | Export pricebook services from ServiceTitan as a continuation feed for bulk sync. Pass the returned continue_from token back to get the next batch; records appear about 15 minutes after a change unless include_recent_changes is true. Use LIST_PRICEBOOK_SERVICES instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_PROJECT_NOTES` | Export Project Notes | Export notes from all ServiceTitan projects in bulk as a continuation feed. For the notes of one project use List Project Notes. |
| `SERVICETITAN_EXPORT_PROJECTS` | Export Projects | Export ServiceTitan projects in bulk as a continuation feed that includes active, inactive and deleted records. Use it for full or incremental sync; use List Projects when you need filters. |
| `SERVICETITAN_EXPORT_PURCHASE_ORDERS` | Export Purchase Orders | Export purchase orders from ServiceTitan as a continuation feed for bulk sync; use LIST_PURCHASE_ORDERS when you need filters. Pass the returned continue_from token back to get the next batch. |
| `SERVICETITAN_EXPORT_RECEIPTS` | Export Receipts | Export inventory receipts from ServiceTitan as a continuation feed for bulk sync. Pass continue_from from each response to get the next batch. Use LIST_INVENTORY_RECEIPTS for filtered, paged lookup. |
| `SERVICETITAN_EXPORT_RECURRING_SERVICE_EVENTS` | Export Recurring Service Events | Export feed of recurring service events from ServiceTitan for bulk sync; the feed takes no filters, and an event with active false has been deleted. Pass the returned continue_from on the next call, and has_more false means the feed is caught up. Use LIST_RECURRING_SERVICE_EVENTS instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_RECURRING_SERVICES` | Export Recurring Services | Export feed of location recurring services from ServiceTitan for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call, and has_more false means the feed is caught up. Use LIST_RECURRING_SERVICES instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_RECURRING_SERVICE_TYPES` | Export Recurring Service Types | Export feed of recurring service types from ServiceTitan for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call, and has_more false means the feed is caught up. Use LIST_RECURRING_SERVICE_TYPES instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_SERVICE_AGREEMENTS` | Export Service Agreements | Export feed of service agreements from ServiceTitan for bulk sync. Returns active, inactive and deleted records; pass the returned continue_from on the next call, and has_more false means the feed is caught up. Use LIST_SERVICE_AGREEMENTS instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_TAG_TYPES` | Export Tag Types | Export feed of tag types from ServiceTitan for bulk sync. Pass the returned continue_from on the next call, and has_more false means the feed is caught up. Use LIST_TAG_TYPES instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_TECHNICIAN_RATINGS` | Export Technician Ratings | Export technician ratings from ServiceTitan as a change feed for bulk sync, one batch per call. Pass the returned continue_from back to get the next batch. Use LIST_TECHNICIAN_RATINGS instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_TECHNICIANS` | Export Technicians | Export feed of technicians from ServiceTitan for bulk sync. Pass the returned continue_from on the next call, and has_more false means the feed is caught up. Use LIST_TECHNICIANS instead for a filtered, paged lookup. |
| `SERVICETITAN_EXPORT_TIMESHEET_ACTIVITIES` | Export Timesheet Activities | Export timesheet activities from ServiceTitan as a continuation feed for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call; use LIST_TIMESHEET_ACTIVITIES instead for a filtered lookup. |
| `SERVICETITAN_EXPORT_TIMESHEET_ACTIVITY_CATEGORIES` | Export Timesheet Activity Categories | Export timesheet activity categories from ServiceTitan as a continuation feed for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call; use LIST_TIMESHEET_ACTIVITY_CATEGORIES instead for a filtered lookup. |
| `SERVICETITAN_EXPORT_TIMESHEET_ACTIVITY_TYPES` | Export Timesheet Activity Types | Export timesheet activity types from ServiceTitan as a continuation feed for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call; use LIST_TIMESHEET_ACTIVITY_TYPES instead for a filtered lookup. |
| `SERVICETITAN_EXPORT_TIMESHEET_CODES` | Export Timesheet Codes | Export timesheet codes from ServiceTitan as a continuation feed for bulk sync; the feed takes no filters and each record carries an active flag. Pass the returned continue_from on the next call; use LIST_TIMESHEET_CODES instead for a filtered lookup. |
| `SERVICETITAN_GET_AP_BILL` | Get AP Bill | Get one accounts-payable (vendor) bill in ServiceTitan by its id, including items and expense items. Use LIST_AP_BILLS to find the id. |
| `SERVICETITAN_GET_APPOINTMENT` | Get Appointment | Get one ServiceTitan job appointment by its ID, including its schedule, arrival window, status and confirmation flag. Use List Appointments to find the ID from a job or project. |
| `SERVICETITAN_GET_ARRIVAL_WINDOW` | Get Arrival Window | Get one ServiceTitan arrival window by its ID. |
| `SERVICETITAN_GET_ARRIVAL_WINDOW_CONFIGURATION` | Get Arrival Window Configuration | Get the tenant-wide ServiceTitan arrival window setting: whether a job's default start time is the start or the end of the chosen arrival window. |
| `SERVICETITAN_GET_BOOKING` | Get Booking | Get one booking in ServiceTitan by id, across all booking providers. Use GET_PROVIDER_BOOKING when the connection is restricted to a single booking provider tag. |
| `SERVICETITAN_GET_BOOKING_PROVIDER_TAG` | Get Booking Provider Tag | Get one booking provider tag in ServiceTitan by its id. |
| `SERVICETITAN_GET_BUSINESS_HOURS` | Get Business Hours | Get the ServiceTitan business hours: the open time ranges for weekdays, Saturday and Sunday. Returns one object, not a list. |
| `SERVICETITAN_GET_BUSINESS_UNIT` | Get Business Unit | Get one business unit in ServiceTitan by id, including its name, address, email and phone. |
| `SERVICETITAN_GET_CALL` | Get Call | Get one phone call in ServiceTitan by id, with the linked job, customer, campaign and agent. |
| `SERVICETITAN_GET_CALL_RECORDING` | Get Call Recording | Download the audio recording of one call from ServiceTitan as an audio/mpeg file. Use it for a call whose recording_url is set; the response for a call with no recording is not documented. |
| `SERVICETITAN_GET_CALL_VOICEMAIL` | Get Call Voicemail | Download the voicemail audio left on one call from ServiceTitan as an audio/mpeg file. Use it for a call whose voicemail URL is set; the response for a call with no voicemail is not documented. |
| `SERVICETITAN_GET_CAMPAIGN` | Get Campaign | Get one marketing campaign in ServiceTitan by id. |
| `SERVICETITAN_GET_CAMPAIGN_CATEGORY` | Get Campaign Category | Get one marketing campaign category in ServiceTitan by id. |
| `SERVICETITAN_GET_CAMPAIGN_COST` | Get Campaign Cost | Get one campaign cost record in ServiceTitan by the cost record's id, not the campaign id. |
| `SERVICETITAN_GET_CAMPAIGN_COST_SUMMARY` | Get Campaign Cost Summary | Get the total cost of each marketing campaign in ServiceTitan over a date range. Both from_date and to_date are required; the result is not paged. |
| `SERVICETITAN_GET_CANCEL_REASONS_BY_JOB_IDS` | Get Cancel Reasons by Job IDs | Get the cancel reason recorded on each of the given ServiceTitan jobs. Requires job IDs; for the catalogue of available reasons use List Job Cancel Reasons. |
| `SERVICETITAN_GET_CAPACITY` | Get Capacity | Calculate real-time ServiceTitan capacity and technician availability for a time frame, optionally for given business units and a job type. Read-only even though it is a POST; use it before booking a job to find open slots. |
| `SERVICETITAN_GET_CONTACT` | Get Contact | Get one contact (a person record with name and title) in ServiceTitan by its GUID. Phone numbers and emails are not included; read them with LIST_CONTACT_METHODS. |
| `SERVICETITAN_GET_CONTACT_METHOD` | Get Contact Method | Get one contact method of a contact in ServiceTitan. Both ids are GUIDs. |
| `SERVICETITAN_GET_CONTACT_METHOD_PREFERENCE` | Get Contact Method Preference | Get one communication preference of a contact method in ServiceTitan by preference name. Names come from LIST_CONTACT_PREFERENCE_TYPES. |
| `SERVICETITAN_GET_CUSTOMER` | Get Customer | Get one customer in ServiceTitan by id, including bill-to address, balance, custom fields and tags. |
| `SERVICETITAN_GET_EMAIL_CHANNEL_COST` | Get Email Channel Cost | Get the cost of the email marketing channel in ServiceTitan over a date range. Both from_date and to_date are required. |
| `SERVICETITAN_GET_EMPLOYEE` | Get Employee | Get one office employee in ServiceTitan by id, including name, email, phone, role and positions. |
| `SERVICETITAN_GET_EMPLOYEE_PAYROLL_SETTINGS` | Get Employee Payroll Settings | Get the payroll settings of one office employee in ServiceTitan. Use GET_TECHNICIAN_PAYROLL_SETTINGS for a technician. |
| `SERVICETITAN_GET_EQUIPMENT_SYSTEM` | Get Equipment System | Get one ServiceTitan equipment system by id, including the installed equipment attached to it. |
| `SERVICETITAN_GET_EQUIPMENT_TYPE` | Get Equipment Type | Get one ServiceTitan equipment type by id. |
| `SERVICETITAN_GET_ESTIMATE` | Get Estimate | Get one estimate in ServiceTitan by its id, including its status, totals and line items. |
| `SERVICETITAN_GET_ESTIMATE_TEMPLATE` | Get Estimate Template | Get one estimate template in ServiceTitan by its id, with its items. |
| `SERVICETITAN_GET_EXPENSE_TRANSACTION` | Get Expense Transaction | Get one expense transaction in ServiceTitan by its id. Use LIST_EXPENSE_TRANSACTIONS to find the id. |
| `SERVICETITAN_GET_FINDING` | Get Finding | Get one ServiceTitan finding by id. |
| `SERVICETITAN_GET_FINDING_ATTACHMENT` | Get Finding Attachment | Get one attachment of a ServiceTitan finding, by finding id and attachment id. |
| `SERVICETITAN_GET_GL_ACCOUNT` | Get GL Account | Get one general ledger (GL) account in ServiceTitan by its id. Use LIST_GL_ACCOUNTS to find the id. |
| `SERVICETITAN_GET_HOLD_REASONS_BY_JOB_IDS` | Get Hold Reasons by Job IDs | Get the hold reason recorded on each of the given ServiceTitan jobs and on their appointments. Requires job IDs; for the catalogue of available reasons use List Job Hold Reasons. |
| `SERVICETITAN_GET_INSTALLED_EQUIPMENT` | Get Installed Equipment | Get one ServiceTitan installed equipment record by id. |
| `SERVICETITAN_GET_INVOICE_TEMPLATE` | Get Invoice Template | Get one membership invoice template in ServiceTitan by its id, with its line items and total. |
| `SERVICETITAN_GET_JOB` | Get Job | Get one ServiceTitan job by its ID, including customer, location, job type, status and first and last appointment IDs. |
| `SERVICETITAN_GET_JOB_BOOKED_LOG` | Get Job Booked Log | Get the booked log of one ServiceTitan job: when it was booked, by whom, and the originally booked appointment start and arrival window. |
| `SERVICETITAN_GET_JOB_EQUIPMENT` | Get Job Equipment | Get the IDs of the equipment items attached to one ServiceTitan job. Returns IDs only. The spec does not say which equipment ids these are; they are not the equipment system ids of the equipment-system tools, and whether installed-equipment ids (LIST_INSTALLED_EQUIPMENT) or pricebook equipment ids (LIST_PRICEBOOK_EQUIPMENT) are meant is unverified. |
| `SERVICETITAN_GET_JOB_HISTORY` | Get Job History | Get the history entries of one ServiceTitan job: each event with its type, date, employee and memo. Returns the whole history in one response. |
| `SERVICETITAN_GET_JOB_TYPE` | Get Job Type | Get one ServiceTitan job type by its ID. |
| `SERVICETITAN_GET_JOURNAL_ENTRY` | Get Journal Entry | Get one journal entry in ServiceTitan by its id. It returns the entry header; use LIST_JOURNAL_ENTRY_DETAILS or LIST_JOURNAL_ENTRY_SUMMARY for its line amounts. |
| `SERVICETITAN_GET_LABOR_TYPE` | Get Labor Type | Get one payroll labor type in ServiceTitan by its id. Use LIST_LABOR_TYPES to find the id. |
| `SERVICETITAN_GET_LEAD` | Get Lead | Get one lead in ServiceTitan by id. A lead is an opportunity to book a job that has not converted yet. |
| `SERVICETITAN_GET_LOCATION` | Get Location | Get one location in ServiceTitan by id. A location is the service address where work is done and belongs to exactly one customer. |
| `SERVICETITAN_GET_LOCATION_PREFERRED_TECHNICIAN` | Get Location Preferred Technician | Get the id of the preferred technician of a location in ServiceTitan. Returns only the technician id, or null when none is set. |
| `SERVICETITAN_GET_MEMBERSHIP` | Get Membership | Get one customer membership in ServiceTitan by its id, including status, dates, billing template and payment settings. |
| `SERVICETITAN_GET_MEMBERSHIP_TYPE` | Get Membership Type | Get one membership type in ServiceTitan by its id. The spec gives this operation no include flags and does not say whether duration_billing, discounts, recurring_services and tag_type_ids are filled; null means not loaded. LIST_MEMBERSHIP_TYPES with ids and the include_ flags returns them. |
| `SERVICETITAN_GET_NON_JOB_APPOINTMENT` | Get Non Job Appointment | Get one ServiceTitan non-job appointment by its ID. A non-job appointment blocks a technician's time for something that is not customer work, such as training or time off. |
| `SERVICETITAN_GET_PAYMENT_TERM` | Get Payment Term | Get one payment term (for example net 30) in ServiceTitan by its id. Payment terms are read-only through the API. |
| `SERVICETITAN_GET_PAYMENT_TYPE` | Get Payment Type | Get one payment type in ServiceTitan by its id. Use LIST_PAYMENT_TYPES to find the id. |
| `SERVICETITAN_GET_PAYROLL_ACTIVITY_CODE` | Get Payroll Activity Code | Get one payroll activity code (earning code) in ServiceTitan by its id. Use LIST_PAYROLL_ACTIVITY_CODES to find the id. |
| `SERVICETITAN_GET_PAYROLL_ADJUSTMENT` | Get Payroll Adjustment | Get one payroll adjustment in ServiceTitan by its id. employee_type is required and must match the adjustment's owner (Technician or Employee). |
| `SERVICETITAN_GET_PRICEBOOK_CATEGORY` | Get Pricebook Category | Get one ServiceTitan pricebook category by id, including its subcategories. |
| `SERVICETITAN_GET_PRICEBOOK_DISCOUNT_OR_FEE` | Get Pricebook Discount or Fee | Get one discount or fee from the ServiceTitan pricebook by id. |
| `SERVICETITAN_GET_PRICEBOOK_EQUIPMENT` | Get Pricebook Equipment | Get one equipment item from the ServiceTitan pricebook catalog by id. |
| `SERVICETITAN_GET_PRICEBOOK_MATERIAL` | Get Pricebook Material | Get one material from the ServiceTitan pricebook by id. |
| `SERVICETITAN_GET_PRICEBOOK_MATERIAL_MARKUP` | Get Pricebook Material Markup | Get one material markup tier from the ServiceTitan pricebook by id. |
| `SERVICETITAN_GET_PRICEBOOK_SERVICE` | Get Pricebook Service | Get one service from the ServiceTitan pricebook by id, including its linked materials and equipment. |
| `SERVICETITAN_GET_PROJECT` | Get Project | Get one ServiceTitan project by its ID, including status, customer, location, managers and key dates. |
| `SERVICETITAN_GET_PROJECT_DAILY_LOG` | Get Project Daily Log | Get one daily log of a ServiceTitan project by its ID, with health, section notes, summaries and the attachment list. |
| `SERVICETITAN_GET_PROJECT_STATUS` | Get Project Status | Get one ServiceTitan project status definition by its ID. This is the status catalogue entry, not the status of a project. |
| `SERVICETITAN_GET_PROJECT_SUB_STATUS` | Get Project Sub Status | Get one ServiceTitan project sub status definition by its ID. |
| `SERVICETITAN_GET_PROJECT_TYPE` | Get Project Type | Get one ServiceTitan project type by its ID. |
| `SERVICETITAN_GET_PROPOSAL_TEMPLATE` | Get Proposal Template | Get one proposal template in ServiceTitan by its id, with its estimate assignments. |
| `SERVICETITAN_GET_PROVIDER_BOOKING` | Get Provider Booking | Get one booking in ServiceTitan that belongs to a given booking provider. Works only when the connection was granted the booking provider tag passed as booking_provider_id. |
| `SERVICETITAN_GET_PURCHASE_ORDER` | Get Purchase Order | Get one ServiceTitan purchase order by id, including its items and current status. |
| `SERVICETITAN_GET_PURCHASE_ORDER_MARKUP` | Get Purchase Order Markup | Get one ServiceTitan purchase order markup tier by id. |
| `SERVICETITAN_GET_RECURRING_SERVICE` | Get Recurring Service | Get one location recurring service in ServiceTitan by its id, including its recurrence schedule and invoice template ids. |
| `SERVICETITAN_GET_RECURRING_SERVICE_TYPE` | Get Recurring Service Type | Get one recurring service type in ServiceTitan by its id. |
| `SERVICETITAN_GET_REMITTANCE_VENDOR` | Get Remittance Vendor | Get one remittance vendor in ServiceTitan by its id. Use LIST_REMITTANCE_VENDORS to find the id. |
| `SERVICETITAN_GET_REPORT` | Get Report | Get a report's definition in ServiceTitan: the input parameters it expects and the fields it returns. Read it before requesting data, because report owners can change the definition. |
| `SERVICETITAN_GET_REPORT_DATA` | Get Report Data | Run a report in ServiceTitan and return one page of rows with the column headers. Rate limit: 1 call of the same report per minute per tenant, so ask for a large page_size (up to 25000) rather than many small pages; for slow reports use START_REPORT_DATA_QUERY and poll GET_REPORT_DATA_QUERY_RESULT. |
| `SERVICETITAN_GET_REPORT_DATA_QUERY_RESULT` | Get Report Data Query Result | Poll a long-running report data query in ServiceTitan by its query_token. Returns the rows when the query has finished, or a status of NotStarted or InProgress when it has not, in which case wait and call again. |
| `SERVICETITAN_GET_ROUTER_PERFORMANCE` | Get Router Performance | Get performance counts for one Scheduling Pro router in ServiceTitan over a time window: sessions opened and interacted with, split by scheduler. Both window bounds are required. |
| `SERVICETITAN_GET_SCHEDULER_PERFORMANCE` | Get Scheduler Performance | Get performance metrics for one Scheduling Pro scheduler in ServiceTitan over a time window, such as sessions, completion rates and jobs booked. Both window bounds are required. |
| `SERVICETITAN_GET_SERVICE_AGREEMENT` | Get Service Agreement | Get one service agreement in ServiceTitan by id, with its price, dates, status and terms. |
| `SERVICETITAN_GET_TASK` | Get Task | Get one task in ServiceTitan Task Management by id, with its comments and attachments. Set include_subtasks to true to also return its subtasks. |
| `SERVICETITAN_GET_TASK_REFERENCE_DATA` | Get Task Reference Data | Get the reference data needed to create tasks in ServiceTitan: employees, business units, task types, sources, resolutions, priorities and statuses. Call it first to get the ids the create task tool requires. |
| `SERVICETITAN_GET_TEAM` | Get Team | Get one ServiceTitan dispatch team by its ID. |
| `SERVICETITAN_GET_TECHNICIAN` | Get Technician | Get one technician in ServiceTitan by id, including name, contact details, home address, zones and license type. |
| `SERVICETITAN_GET_TECHNICIAN_PAYROLL_SETTINGS` | Get Technician Payroll Settings | Get the payroll settings of one technician in ServiceTitan. Use GET_EMPLOYEE_PAYROLL_SETTINGS for an office employee. |
| `SERVICETITAN_GET_TECHNICIAN_SHIFT` | Get Technician Shift | Get one ServiceTitan technician shift by its ID. |
| `SERVICETITAN_GET_TECHNICIAN_SKILL` | Get Technician Skill | Get one ServiceTitan technician skill by its ID, which is a string of the form {technicianId}_{skillId}. |
| `SERVICETITAN_GET_TECHNICIAN_TRACKING_URL` | Get Technician Tracking URL | Get the ServiceTitan tracking URL for one technician on one appointment, which shows the technician's progress toward the customer. Both the technician and appointment IDs are required. |
| `SERVICETITAN_GET_TIMESHEET_ACTIVITY` | Get Timesheet Activity | Get one timesheet activity in ServiceTitan by its id. Use LIST_TIMESHEET_ACTIVITIES to find the id. |
| `SERVICETITAN_GET_TIMESHEET_ACTIVITY_CATEGORY` | Get Timesheet Activity Category | Get one timesheet activity category in ServiceTitan by its id. Use LIST_TIMESHEET_ACTIVITY_CATEGORIES to find the id. |
| `SERVICETITAN_GET_TIMESHEET_ACTIVITY_TYPE` | Get Timesheet Activity Type | Get one timesheet activity type in ServiceTitan by its id. Use LIST_TIMESHEET_ACTIVITY_TYPES to find the id. |
| `SERVICETITAN_GET_TIMESHEET_CODE` | Get Timesheet Code | Get one timesheet code in ServiceTitan by its id. Use LIST_TIMESHEET_CODES to find the id. |
| `SERVICETITAN_GET_VENDOR` | Get Vendor | Get one ServiceTitan inventory vendor by id, including contact details, tax rate, and delivery option. |
| `SERVICETITAN_GET_WELL_KNOWN_GL_ACCOUNTS` | Get Well Known GL Accounts | Get the ids of the tenant's default general ledger accounts in ServiceTitan: credit card payable and uncategorized expense. Each id is null when that default account is not configured. |
| `SERVICETITAN_GET_ZONE` | Get Zone | Get one ServiceTitan dispatch zone by its ID, including its zip codes, cities, service days, business units and technicians. |
| `SERVICETITAN_HOLD_APPOINTMENT` | Hold Appointment | Put a ServiceTitan job appointment on hold with a hold reason and memo. Get the reason ID from List Job Hold Reasons. |
| `SERVICETITAN_IMPORT_SMS_OPT_INS` | Import Sms Opt Ins | Record SMS marketing opt-ins in ServiceTitan for phone numbers whose consent was collected outside it. Send only numbers whose owners agreed to receive text messages. |
| `SERVICETITAN_LIST_AD_PERFORMANCE` | List Ad Performance | List ad performance rows from ServiceTitan Marketing Ads for a time window, segmented by campaign, ad group or keyword, one page per call. from_utc, to_utc and segmentation_type are required. |
| `SERVICETITAN_LIST_AP_BILL_CUSTOM_FIELD_TYPES` | List AP Bill Custom Field Types | List the custom field type definitions available for AP bills in ServiceTitan, one page per call. Use it to find valid custom field names before setting them with UPDATE_AP_BILL_CUSTOM_FIELDS. |
| `SERVICETITAN_LIST_AP_BILLS` | List AP Bills | List accounts-payable (vendor) bills in ServiceTitan with their line items, one page per call. Filter by bill number, status, sync status, source, cost or dates; bill_type defaults to Procurement, so pass ApBill to see standalone AP bills. |
| `SERVICETITAN_LIST_AP_CREDIT_CUSTOM_FIELD_TYPES` | List AP Credit Custom Field Types | List the custom field type definitions available for AP credits in ServiceTitan, one page per call. Use it to find valid custom field names before setting them with UPDATE_AP_CREDIT_CUSTOM_FIELDS. |
| `SERVICETITAN_LIST_AP_CREDITS` | List AP Credits | List accounts-payable credits (vendor credits) in ServiceTitan, one page per call. Filter by ids, sync status, or created or modified dates. |
| `SERVICETITAN_LIST_AP_PAYMENT_CUSTOM_FIELD_TYPES` | List AP Payment Custom Field Types | List the custom field type definitions available for AP payments in ServiceTitan, one page per call. Use it to find valid custom field names before setting them with UPDATE_AP_PAYMENT_CUSTOM_FIELDS. |
| `SERVICETITAN_LIST_AP_PAYMENTS` | List AP Payments | List accounts-payable payments (payments made to vendors) in ServiceTitan, one page per call. These are outgoing vendor payments; use LIST_PAYMENTS for payments received from customers. |
| `SERVICETITAN_LIST_APPOINTMENT_ASSIGNMENTS` | List Appointment Assignments | List technician-to-appointment assignments in ServiceTitan, one page per call, filtered by appointment, job, technician or appointment start range. Use it to see who is assigned to an appointment. |
| `SERVICETITAN_LIST_APPOINTMENTS` | List Appointments | List ServiceTitan job appointments, one page per call, filtered by job, project, technician, customer, status or start/modified date ranges. Use this to find all appointments of a job or project. |
| `SERVICETITAN_LIST_ARRIVAL_WINDOWS` | List Arrival Windows | List the arrival windows configured in ServiceTitan, one page per call. An arrival window is a time range, per business unit, offered to customers when booking. |
| `SERVICETITAN_LIST_ATTRIBUTED_LEADS` | List Attributed Leads | List leads with their marketing attribution in ServiceTitan for a time window, one page per call. from_utc and to_utc are required. |
| `SERVICETITAN_LIST_BANK_DEPOSITS` | List Bank Deposits | List bank deposits in ServiceTitan, one page per call. Filter by deposit date, review status, deposit status, sync status or gross amount. |
| `SERVICETITAN_LIST_BANK_DEPOSIT_TRANSACTIONS` | List Bank Deposit Transactions | List the transactions (payments and journal entries) that make up one bank deposit in ServiceTitan, one page per call. Use LIST_BANK_DEPOSITS to find the deposit id. |
| `SERVICETITAN_LIST_BOOKING_CONTACTS` | List Booking Contacts | List the contact entries (phone, email, fax) on one booking in ServiceTitan, one page per call. This is the tenant-wide path; it needs a connection with no booking provider restriction. Use LIST_PROVIDER_BOOKING_CONTACTS when the connection is restricted to a single booking provider tag. |
| `SERVICETITAN_LIST_BOOKING_PROVIDER_TAGS` | List Booking Provider Tags | List booking provider tags in ServiceTitan, one page per call. Use it to find the tag id that the provider-scoped booking tools take as booking_provider_id. |
| `SERVICETITAN_LIST_BOOKINGS` | List Bookings | List bookings in ServiceTitan across all booking providers, one page per call. Use LIST_PROVIDER_BOOKINGS when the connection is restricted to a single booking provider tag. |
| `SERVICETITAN_LIST_BUDGET_CODES` | List Budget Codes | List company-level ServiceTitan budget codes, one page per call, optionally filtered by budget code, segment or segment item IDs. |
| `SERVICETITAN_LIST_BUDGET_CODE_SEGMENT_ITEM_CHILDREN` | List Budget Code Segment Item Children | List the child items under one item of a company-level budget code segment in ServiceTitan, one page per call. |
| `SERVICETITAN_LIST_BUDGET_CODE_SEGMENT_ITEMS` | List Budget Code Segment Items | List the items of one company-level budget code segment in ServiceTitan, one page per call. Set include_children to get nested child items. |
| `SERVICETITAN_LIST_BUDGET_CODE_SEGMENTS` | List Budget Code Segments | List the company-level budget code segments of the ServiceTitan work breakdown structure. For the segments of one project use List Project Budget Code Segments. |
| `SERVICETITAN_LIST_BUSINESS_UNITS` | List Business Units | List business units in ServiceTitan, the divisions of the company that revenue and work are tracked and reported under. |
| `SERVICETITAN_LIST_CALL_REASONS` | List Call Reasons | List call reasons in ServiceTitan, one page per call. Use it to find the reason id needed to dismiss a lead or booking or to create a lead. |
| `SERVICETITAN_LIST_CALLS` | List Calls | List phone calls recorded in ServiceTitan, inbound and outbound, filtered by campaign, agent, phone number, minimum duration, tag or created/modified time. |
| `SERVICETITAN_LIST_CAMPAIGN_CATEGORIES` | List Campaign Categories | List marketing campaign categories in ServiceTitan, one page per call. Categories group campaigns; they are not pricebook categories. |
| `SERVICETITAN_LIST_CAMPAIGN_COSTS` | List Campaign Costs | List monthly campaign cost records in ServiceTitan across all campaigns, one page per call, filtered by year, month or campaign. Each record holds a daily cost for one campaign and month. |
| `SERVICETITAN_LIST_CAMPAIGN_COSTS_FOR_CAMPAIGN` | List Campaign Costs For Campaign | List the monthly cost records of one marketing campaign in ServiceTitan, one page per call. Use LIST_CAMPAIGN_COSTS to read costs across all campaigns. |
| `SERVICETITAN_LIST_CAMPAIGNS` | List Campaigns | List marketing campaigns in ServiceTitan, one page per call, filtered by name, tracking phone number, ids or dates. Only active campaigns are returned unless active is set to False or Any. |
| `SERVICETITAN_LIST_CAPACITY_WARNINGS` | List Capacity Warnings | List all capacity awareness warnings of ServiceTitan Marketing Ads, which flag campaigns whose business units are near their capacity threshold. Returns everything in one call; it takes no filters. |
| `SERVICETITAN_LIST_CLIENT_SPECIFIC_PRICING_RATE_SHEETS` | List Client Specific Pricing Rate Sheets | List client-specific pricing rate sheets in the ServiceTitan pricebook, each with its per-SKU price exceptions. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_CONTACT_METHOD_PREFERENCES` | List Contact Method Preferences | List the communication preferences set on one contact method in ServiceTitan. Returns the full list in one call; it is not paged. |
| `SERVICETITAN_LIST_CONTACT_METHODS` | List Contact Methods | List contact methods across ServiceTitan contacts, one page per call. Pass contact_id for one contact, or filter across contacts by value, type, reference id, or date. |
| `SERVICETITAN_LIST_CONTACT_PREFERENCE_TYPES` | List Contact Preference Types | List the communication preference types that can be set on a contact method in ServiceTitan, with each one's name and data type. Returns the full list in one call; it is not paged. |
| `SERVICETITAN_LIST_CONTACT_RELATIONSHIPS` | List Contact Relationships | List the customers, locations and bookings a contact is linked to in ServiceTitan, one page per call. |
| `SERVICETITAN_LIST_CONTACTS` | List Contacts | List contacts (person records with name and title) in ServiceTitan, one page per call. These are the GUID-keyed contacts; for the phone and email entries on a customer use LIST_CUSTOMER_CONTACTS. |
| `SERVICETITAN_LIST_CONTACTS_FOR_RELATIONSHIP` | List Contacts For Relationship | List the contacts in ServiceTitan attached to one relationship id, one page per call. Relationship ids come from LIST_CONTACT_RELATIONSHIPS. |
| `SERVICETITAN_LIST_CREDIT_MEMO_CUSTOM_FIELD_TYPES` | List Credit Memo Custom Field Types | List the custom field type definitions available for credit memos in ServiceTitan, one page per call. Use it to find valid custom field names before setting them with UPDATE_CREDIT_MEMO_CUSTOM_FIELDS. |
| `SERVICETITAN_LIST_CREDIT_MEMO_ITEMS` | List Credit Memo Items | List credit memo line items across credit memos in ServiceTitan, one page per call. Pass credit_memo_ids with one ID for a single credit memo or a provider-formatted multi-ID string for several; without it, items of every credit memo are returned. |
| `SERVICETITAN_LIST_CREDIT_MEMOS` | List Credit Memos | List customer credit memos in ServiceTitan, one page per call. Filter by the invoices they were applied to, dates, status, batch, business unit, total or balance; filtering by custom field is not supported. |
| `SERVICETITAN_LIST_CUSTOMER_CONTACTS` | List Customer Contacts | List contact entries for one or more ServiceTitan customers, or by modified-date range, one page per call. Pass one customer ID for the single-customer case. A location's contacts are separate records; use LIST_LOCATION_CONTACTS for them. |
| `SERVICETITAN_LIST_CUSTOMER_CUSTOM_FIELD_TYPES` | List Customer Custom Field Types | List the custom field types defined for customers in ServiceTitan, one page per call. Use it to find the type_id needed when setting custom_fields on a customer. |
| `SERVICETITAN_LIST_CUSTOMER_NOTES` | List Customer Notes | List the notes on one customer in ServiceTitan, one page per call. |
| `SERVICETITAN_LIST_CUSTOMERS` | List Customers | List customers in ServiceTitan, one page per call, filtered by name, address, phone, ids or dates. Only active customers are returned unless active is set to False or Any. |
| `SERVICETITAN_LIST_DYNAMIC_VALUE_SET_VALUES` | List Dynamic Value Set Values | List the allowed values of a report parameter's dynamic value set in ServiceTitan, as rows of key and display name. Use it when a report's parameter description gives a dynamic_set_id instead of a fixed list of values. |
| `SERVICETITAN_LIST_EMPLOYEE_PAYROLLS` | List Employee Payrolls | List the payrolls (pay period records) of one office employee in ServiceTitan, one page per call. Use LIST_TECHNICIAN_PAYROLLS for a technician. |
| `SERVICETITAN_LIST_EMPLOYEES` | List Employees | List employees in ServiceTitan, the office staff such as CSRs, dispatchers and bookkeepers, filtered by name, email or user id. Field technicians are a separate resource. |
| `SERVICETITAN_LIST_EQUIPMENT_SYSTEMS` | List Equipment Systems | List equipment systems in ServiceTitan, the named groups of installed equipment at a customer location (for example one HVAC system), filtered by location or date range. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_EQUIPMENT_TYPES` | List Equipment Types | List the equipment types defined in ServiceTitan for classifying installed equipment, filtered by name or date range. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_ESTIMATE_ITEMS` | List Estimate Items | List estimate line items in ServiceTitan across estimates, or for one estimate when estimate_id is given. |
| `SERVICETITAN_LIST_ESTIMATES` | List Estimates | List estimates in ServiceTitan, filtered by job, project, location, seller, status, total amount, or sold/created/modified time. |
| `SERVICETITAN_LIST_ESTIMATE_STATUS_CHANGES` | List Estimate Status Changes | Return the status change history of one estimate in ServiceTitan, each with its UTC timestamp. Not paged. |
| `SERVICETITAN_LIST_ESTIMATE_TEMPLATES` | List Estimate Templates | List estimate templates in ServiceTitan, the reusable sets of pricebook items that estimates and proposal templates are built from. |
| `SERVICETITAN_LIST_EXPENSE_TRANSACTION_CUSTOM_FIELD_TYPES` | List Expense Transaction Custom Field Types | List the custom field type definitions available for expense transactions in ServiceTitan, one page per call. Use it to find valid custom field names before setting them with UPDATE_EXPENSE_TRANSACTION_CUSTOM_FIELDS. |
| `SERVICETITAN_LIST_EXPENSE_TRANSACTIONS` | List Expense Transactions | List expense transactions (for example card expenses) in ServiceTitan, one page per call. Filter by number, vendor name, employee, status, source system, cost or transaction date; the NotSet expense status is rejected with 400. |
| `SERVICETITAN_LIST_FINDING_ATTACHMENTS` | List Finding Attachments | List the attachments of one ServiceTitan finding, by finding id. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_FINDINGS` | List Findings | List findings in ServiceTitan, the issues or observations recorded at customer locations, filtered by location, installed equipment, source job, or date range. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_FORMS` | List Forms | List form definitions in ServiceTitan, filtered by name, published status, or whether they have conditional logic or triggers. Returns the forms themselves, not what people filled in. |
| `SERVICETITAN_LIST_FORM_SUBMISSIONS` | List Form Submissions | List filled-in form submissions in ServiceTitan with their answers, filtered by form, status, submitter, submission time, or the record the form is attached to (job, customer, location and so on). |
| `SERVICETITAN_LIST_GL_ACCOUNTS` | List GL Accounts | List general ledger (GL) accounts in ServiceTitan, one page per call. Filter by ids, names, numbers, types, subtypes, description text, source or active status; only active accounts are returned unless active is set. |
| `SERVICETITAN_LIST_GL_ACCOUNT_TYPES` | List GL Account Types | List general ledger account types in ServiceTitan, one page per call. Use it to find the type names accepted when creating or filtering GL accounts. |
| `SERVICETITAN_LIST_GROSS_PAY_ITEMS` | List Gross Pay Items | List gross pay items (earnings such as timesheet time, bonuses, salary and reimbursements) in ServiceTitan, one page per call. Filter by employee, payroll or date to get the earnings of a pay period. These are computed earnings, not the raw clock times in LIST_PAYROLL_JOB_TIMESHEETS or LIST_NON_JOB_TIMESHEETS. |
| `SERVICETITAN_LIST_INSTALLED_EQUIPMENT` | List Installed Equipment | List equipment installed at ServiceTitan customer locations, filtered by location, equipment system, parent, or date range. For catalog equipment in the pricebook use LIST_PRICEBOOK_EQUIPMENT. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_INSTALLED_EQUIPMENT_CUSTOM_FIELD_TYPES` | List Installed Equipment Custom Field Types | List the custom field types defined for ServiceTitan installed equipment, with each type's data type and options. The descending flag is required. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_INTACCT_BUSINESS_UNIT_MAPPINGS` | List Intacct Business Unit Mappings | List how ServiceTitan business units map to Sage Intacct locations, departments and classes. Only useful for tenants with the Intacct accounting integration; page, page_size and include_total are all required here. |
| `SERVICETITAN_LIST_INVENTORY_ADJUSTMENTS` | List Inventory Adjustments | List inventory adjustments in ServiceTitan, filtered by type, inventory location, business unit, invoice, batch, sync status, or date range. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_INVENTORY_BILL_CUSTOM_FIELD_TYPES` | List Inventory Bill Custom Field Types | List the custom field type definitions available for inventory bills in ServiceTitan, one page per call. Use it to find valid custom field names before setting them with UPDATE_INVENTORY_BILL_CUSTOM_FIELDS. |
| `SERVICETITAN_LIST_INVENTORY_BILLS` | List Inventory Bills | List inventory bills (vendor bills created from purchase orders and receipts) in ServiceTitan, one page per call. Filter by bill number, purchase order, job number, sync status, cost or dates; bills are read-only apart from custom fields and the exported mark. |
| `SERVICETITAN_LIST_INVENTORY_RECEIPTS` | List Inventory Receipts | List inventory receipts in ServiceTitan, the records of items received against purchase orders, filtered by purchase order, vendor, bill, inventory location, or received date. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_INVENTORY_RETURNS` | List Inventory Returns | List vendor returns in ServiceTitan inventory, filtered by vendor, purchase order, job, inventory location, business unit, or return date. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_INVENTORY_RETURN_TYPES` | List Inventory Return Types | List vendor return types in ServiceTitan inventory; a return type id is required to create a return. The active_only flag is required. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_INVENTORY_TEMPLATES` | List Inventory Templates | List ServiceTitan inventory templates with their items, each item carrying a minimum and maximum quantity. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_INVENTORY_TRANSFERS` | List Inventory Transfers | List inventory transfers in ServiceTitan, the movements of stock between inventory locations, filtered by status, source or destination location, transfer type, job, or date. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_INVOICE_CUSTOM_FIELD_TYPES` | List Invoice Custom Field Types | List the custom field type definitions available for invoices in ServiceTitan, one page per call. Use it to find valid custom field names before setting them with UPDATE_INVOICE_CUSTOM_FIELDS. |
| `SERVICETITAN_LIST_INVOICES` | List Invoices | List customer invoices in ServiceTitan, one page per call; every invoice type (job, membership, project, point of sale, adjustment) comes from this one tool. Invoices of every status are returned unless statuses is set; the spec does not document which active state applies when active_state is left out. |
| `SERVICETITAN_LIST_INVOICE_TASKS` | List Invoice Tasks | List the workflow tasks attached to one invoice in ServiceTitan, one page per call. These are invoice tasks created from templates, not Task Management tasks. |
| `SERVICETITAN_LIST_INVOICE_TEMPLATES` | List Invoice Templates | Look up membership invoice templates in ServiceTitan by id (ids is required, max 50). It cannot enumerate all templates: to browse every template use EXPORT_INVOICE_TEMPLATES; otherwise take ids from a customer membership's billing template or a recurring service's invoice template. |
| `SERVICETITAN_LIST_JOB_ATTACHMENTS` | List Job Attachments | List the files attached to one job in ServiceTitan. The spec documents no response schema, so the body is returned unchanged under data. |
| `SERVICETITAN_LIST_JOB_CANCELED_LOGS` | List Job Canceled Logs | List the canceled-log entries of one ServiceTitan job, one page per call; each entry records a cancellation of that job. |
| `SERVICETITAN_LIST_JOB_CANCEL_REASONS` | List Job Cancel Reasons | List the cancel reasons configured in ServiceTitan, one page per call. Use it to pick the reason_id for Cancel Job; it does not say why a given job was canceled. |
| `SERVICETITAN_LIST_JOB_CUSTOM_FIELD_TYPES` | List Job Custom Field Types | List the custom field types available for ServiceTitan jobs, one page per call. Use the returned IDs as type_id in the custom_fields of Create Job or Update Job. |
| `SERVICETITAN_LIST_JOB_HOLD_REASONS` | List Job Hold Reasons | List the hold reasons configured in ServiceTitan, one page per call. Use it to pick the reason_id for Hold Appointment; it does not say why a given job is on hold. |
| `SERVICETITAN_LIST_JOB_NOTES` | List Job Notes | List the notes on one ServiceTitan job, one page per call. |
| `SERVICETITAN_LIST_JOBS` | List Jobs | List ServiceTitan jobs, one page per call, filtered by status, customer, location, project, technician, job type or date ranges for creation, modification, completion and appointments. |
| `SERVICETITAN_LIST_JOB_TYPES` | List Job Types | List ServiceTitan job types, one page per call, filtered by name, priority, duration or dates. Use it to find the job_type_id for Create Job. |
| `SERVICETITAN_LIST_JOURNAL_ENTRIES` | List Journal Entries | List journal entries in ServiceTitan, one page per call (page_size max 500). Filter by posting, transaction or export dates, number range, status, sync status, transaction type, names, business units or reference numbers or custom fields. |
| `SERVICETITAN_LIST_JOURNAL_ENTRY_DETAILS` | List Journal Entry Details | List one journal entry's amounts in ServiceTitan aggregated by GL account, business unit, transaction and pricebook item, one page per call (page_size max 500). Use LIST_JOURNAL_ENTRY_SUMMARY for totals per account only. |
| `SERVICETITAN_LIST_JOURNAL_ENTRY_SUMMARY` | List Journal Entry Summary | List one journal entry's amounts in ServiceTitan aggregated by GL account and business unit, one page per call (page_size max 500). Use LIST_JOURNAL_ENTRY_DETAILS for the finer breakdown by transaction and pricebook item. |
| `SERVICETITAN_LIST_LABOR_TYPES` | List Labor Types | List payroll labor types in ServiceTitan, one page per call. A labor type classifies paid time and can map to a labor service in the pricebook. |
| `SERVICETITAN_LIST_LEAD_NOTES` | List Lead Notes | List the notes on one lead in ServiceTitan, one page per call. |
| `SERVICETITAN_LIST_LEADS` | List Leads | List leads in ServiceTitan, one page per call, filtered by status, customer, dates or the name and phone given on the lead. Use status Open to find leads that still need follow-up. |
| `SERVICETITAN_LIST_LOCATION_CONTACTS` | List Location Contacts | List contact entries for one or more ServiceTitan locations, or by created or modified date range, one page per call. Pass one location ID for the single-location case. A customer's contacts are separate records; use LIST_CUSTOMER_CONTACTS for them. |
| `SERVICETITAN_LIST_LOCATION_CUSTOM_FIELD_TYPES` | List Location Custom Field Types | List the custom field types defined for locations in ServiceTitan, one page per call. Use it to find the type_id needed when setting custom_fields on a location. |
| `SERVICETITAN_LIST_LOCATION_LABOR_RATES` | List Location Labor Rates | List the hourly labor rates set per customer location and labor type in ServiceTitan, one page per call. Pass location_ids to limit the result to specific locations. |
| `SERVICETITAN_LIST_LOCATION_NOTES` | List Location Notes | List the notes on one location in ServiceTitan, one page per call. |
| `SERVICETITAN_LIST_LOCATIONS` | List Locations | List locations in ServiceTitan, one page per call, filtered by customer, name, address, ids or dates. Only active locations are returned unless active is set to False or Any. |
| `SERVICETITAN_LIST_MEMBERSHIP_CUSTOM_FIELD_TYPES` | List Membership Custom Field Types | List the custom field types defined for customer memberships in ServiceTitan. Returns field definitions (id, name, data type), not the values stored on a membership. |
| `SERVICETITAN_LIST_MEMBERSHIPS` | List Memberships | List customer memberships in ServiceTitan, filtered by customer, status, duration, billing frequency or created/modified time. A customer membership is one customer's instance of a membership type; use the membership types tools for the templates themselves. |
| `SERVICETITAN_LIST_MEMBERSHIP_STATUS_CHANGES` | List Membership Status Changes | Return the status change history of one customer membership in ServiceTitan. Not paged: every change for that membership comes back in one call. |
| `SERVICETITAN_LIST_MEMBERSHIP_TYPE_DISCOUNTS` | List Membership Type Discounts | List the discounts granted by one membership type in ServiceTitan. Not paged. |
| `SERVICETITAN_LIST_MEMBERSHIP_TYPE_DURATION_BILLING_ITEMS` | List Membership Type Duration Billing Items | List the duration and billing options of one membership type in ServiceTitan, with their prices. Each option's id is the duration_billing_id needed to sell a membership. Not paged. |
| `SERVICETITAN_LIST_MEMBERSHIP_TYPE_RECURRING_SERVICE_ITEMS` | List Membership Type Recurring Service Items | List the recurring services included in one membership type in ServiceTitan. Not paged. |
| `SERVICETITAN_LIST_MEMBERSHIP_TYPES` | List Membership Types | List membership types in ServiceTitan, the templates that memberships are sold from. Discounts, duration/billing options, recurring services and tags are left out unless the matching include_ flag is true. |
| `SERVICETITAN_LIST_NON_JOB_APPOINTMENTS` | List Non Job Appointments | List ServiceTitan non-job appointments (technician time blocked for non-customer activities), one page per call, filtered by technician, start range or timesheet code. For customer job visits use List Appointments. |
| `SERVICETITAN_LIST_NON_JOB_TIMESHEETS` | List Non Job Timesheets | List non-job timesheets (time recorded against timesheet codes) in ServiceTitan, one page per call. Filter by employee_id, employee_type, dates or active status. Covers time not on a job; for dispatch-to-done time on job appointments use LIST_PAYROLL_JOB_TIMESHEETS. |
| `SERVICETITAN_LIST_OPT_OUTS` | List Opt Outs | Return every phone number that has opted out of contact in ServiceTitan, with its opt-out type. Not paged; numbers come back in E.164 format. |
| `SERVICETITAN_LIST_PAYMENT_CUSTOM_FIELD_TYPES` | List Payment Custom Field Types | List the custom field type definitions available for payments in ServiceTitan, one page per call. Use it to find valid custom field names before setting them with UPDATE_PAYMENT_CUSTOM_FIELDS. |
| `SERVICETITAN_LIST_PAYMENTS` | List Payments | List payments received from customers in ServiceTitan, one page per call. Filter by the invoices they were applied to, customer, deposit, paid date, status or total; use LIST_AP_PAYMENTS for payments made to vendors. |
| `SERVICETITAN_LIST_PAYMENT_TERMS` | List Payment Terms | List payment terms (the due-date rules attached to invoices and bills) in ServiceTitan, one page per call. Payment terms are read-only through the API. |
| `SERVICETITAN_LIST_PAYMENT_TYPES` | List Payment Types | List payment types (for example cash, check, credit card) in ServiceTitan, one page per call. Use it to find the type_id needed by UPDATE_PAYMENT. |
| `SERVICETITAN_LIST_PAYROLL_ACTIVITY_CODES` | List Payroll Activity Codes | List payroll activity codes (earning codes that map earnings to a payroll processor's codes) in ServiceTitan, one page per call. These are not timesheet activities; use LIST_TIMESHEET_ACTIVITIES for recorded time. |
| `SERVICETITAN_LIST_PAYROLL_ADJUSTMENTS` | List Payroll Adjustments | List payroll adjustments (manually entered earnings or deductions) in ServiceTitan, one page per call. Filter by employee ids or posted date. |
| `SERVICETITAN_LIST_PAYROLL_JOB_SPLITS` | List Payroll Job Splits | List payroll job splits across jobs in ServiceTitan, one page per call: one record per technician and job with that technician's split. Pass job_ids with one ID for a single job or a provider-formatted multi-ID string for several jobs. |
| `SERVICETITAN_LIST_PAYROLL_JOB_TIMESHEETS` | List Payroll Job Timesheets | List technician job timesheets across jobs in ServiceTitan (dispatch, arrive, cancel and done times), one page per call. job_ids limits the result to given jobs, but its format is not documented; use LIST_PAYROLL_JOB_TIMESHEETS_FOR_JOB for one job. Covers time on job appointments only; time on non-job codes (meetings, training) is in LIST_NON_JOB_TIMESHEETS, and paid earnings are in LIST_GROSS_PAY_ITEMS. |
| `SERVICETITAN_LIST_PAYROLL_JOB_TIMESHEETS_FOR_JOB` | List Payroll Job Timesheets for Job | List the technician timesheets recorded on one job in ServiceTitan (dispatch, arrive, cancel and done times), one page per call. Use LIST_PAYROLL_JOB_TIMESHEETS to read across jobs. |
| `SERVICETITAN_LIST_PAYROLLS` | List Payrolls | List payrolls (one employee's or technician's pay period record) across all staff in ServiceTitan, one page per call. Filter by employee type, period dates, approval date or status. |
| `SERVICETITAN_LIST_PAYROLL_SETTINGS` | List Payroll Settings | List the payroll settings (hourly rate, hire date, manager, external payroll id) of employees and technicians in ServiceTitan, one page per call. Filter by employee type or active status. |
| `SERVICETITAN_LIST_PRICEBOOK_CATEGORIES` | List Pricebook Categories | List pricebook categories in ServiceTitan, optionally only Services or Materials categories. Each category carries its nested subcategories. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_PRICEBOOK_DISCOUNTS_AND_FEES` | List Pricebook Discounts and Fees | List discounts and fees in the ServiceTitan pricebook, with optional search text and category filters. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_PRICEBOOK_EQUIPMENT` | List Pricebook Equipment | List equipment items in the ServiceTitan pricebook (sellable catalog entries such as furnaces), with optional search text and category filters. For equipment installed at a customer location use LIST_INSTALLED_EQUIPMENT. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_PRICEBOOK_MATERIAL_COST_TYPES` | List Pricebook Material Cost Types | List the cost types that can be assigned to materials in the ServiceTitan pricebook. Takes no inputs and returns a single page. |
| `SERVICETITAN_LIST_PRICEBOOK_MATERIAL_MARKUPS` | List Pricebook Material Markups | List the material markup tiers in the ServiceTitan pricebook, each a from/to range with the markup percent applied to it. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_PRICEBOOK_MATERIALS` | List Pricebook Materials | List materials in the ServiceTitan pricebook, with optional search text, category, and cost type filters. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_PRICEBOOK_SERVICES` | List Pricebook Services | List services in the ServiceTitan pricebook, with optional search text and category filters. Set calculate_prices to apply current dynamic pricing rules. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_PROJECT_BUDGET_CODES` | List Project Budget Codes | List the budget codes of one ServiceTitan project, one page per call, optionally filtered by budget code, segment or segment item IDs. |
| `SERVICETITAN_LIST_PROJECT_BUDGET_CODE_SEGMENT_ITEM_CHILDREN` | List Project Budget Code Segment Item Children | List the child items under one item of a budget code segment within a ServiceTitan project, one page per call. |
| `SERVICETITAN_LIST_PROJECT_BUDGET_CODE_SEGMENT_ITEMS` | List Project Budget Code Segment Items | List the items of one budget code segment within a ServiceTitan project, one page per call. |
| `SERVICETITAN_LIST_PROJECT_BUDGET_CODE_SEGMENTS` | List Project Budget Code Segments | List the budget code segments of one ServiceTitan project's work breakdown structure. |
| `SERVICETITAN_LIST_PROJECT_CUSTOM_FIELD_TYPES` | List Project Custom Field Types | List the custom field types available for ServiceTitan projects, one page per call. Use the returned IDs as type_id in the custom_fields of Create Project or Update Project. |
| `SERVICETITAN_LIST_PROJECT_DAILY_LOGS` | List Project Daily Logs | List the daily logs of one ServiceTitan project, one page per call, optionally limited to a date range. Returns summaries; use Get Project Daily Log for the full log. |
| `SERVICETITAN_LIST_PROJECT_NOTES` | List Project Notes | List the notes on one ServiceTitan project, one page per call. |
| `SERVICETITAN_LIST_PROJECTS` | List Projects | List ServiceTitan projects, one page per call, filtered by customer, location, status, job, technician, manager or date ranges. Use job_id to find the project a job belongs to. |
| `SERVICETITAN_LIST_PROJECT_STATUSES` | List Project Statuses | List the project statuses configured in ServiceTitan, one page per call. Use the IDs as status_id on a project. |
| `SERVICETITAN_LIST_PROJECT_SUB_STATUSES` | List Project Sub Statuses | List the project sub statuses configured in ServiceTitan, one page per call, optionally for one parent status. |
| `SERVICETITAN_LIST_PROJECT_TYPES` | List Project Types | List the project types configured in ServiceTitan, one page per call. Use the IDs as project_type_id on a project. |
| `SERVICETITAN_LIST_PROPOSAL_TEMPLATES` | List Proposal Templates | List proposal templates in ServiceTitan, which map the options of a proposal type to estimate templates. |
| `SERVICETITAN_LIST_PROPOSAL_TYPES` | List Proposal Types | List proposal types in ServiceTitan with their options. Use it to get the proposal_type_id and proposal_type_option_id values that proposal templates need. Not paged. |
| `SERVICETITAN_LIST_PROVIDER_BOOKING_CONTACTS` | List Provider Booking Contacts | List the contact entries on one booking in ServiceTitan that belongs to a given booking provider, one page per call. Works only when the connection was granted the booking provider tag passed as booking_provider_id. Use LIST_BOOKING_CONTACTS when the connection has no booking provider restriction. |
| `SERVICETITAN_LIST_PROVIDER_BOOKINGS` | List Provider Bookings | List the bookings in ServiceTitan that belong to one booking provider, one page per call. Works only when the connection was granted the booking provider tag passed as booking_provider_id. |
| `SERVICETITAN_LIST_PURCHASE_ORDER_MARKUPS` | List Purchase Order Markups | List the purchase order markup tiers in ServiceTitan, each a from/to range with the markup percent applied to it. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_PURCHASE_ORDER_REQUESTS` | List Purchase Order Requests | List purchase order requests in ServiceTitan, filtered by request status, number, job, project, technician, or date range. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_PURCHASE_ORDERS` | List Purchase Orders | List purchase orders in ServiceTitan, filtered by status, number, job, project, technician, inventory location, or date range. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_PURCHASE_ORDER_TYPES` | List Purchase Order Types | List purchase order types in ServiceTitan; a type id is required to create a purchase order. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_RECURRING_SERVICE_EVENTS` | List Recurring Service Events | List recurring service events in ServiceTitan, the visits generated from a location's recurring services, filtered by location, job, follow-up status or created/modified time. |
| `SERVICETITAN_LIST_RECURRING_SERVICES` | List Recurring Services | List location recurring services in ServiceTitan (a recurring service type applied to one location), filtered by membership, location or created/modified time. Technician ids are left out unless include_technicians is true. |
| `SERVICETITAN_LIST_RECURRING_SERVICE_TYPES` | List Recurring Service Types | List recurring service types in ServiceTitan, the templates that location recurring services are created from, filtered by membership type, recurrence type or duration type. |
| `SERVICETITAN_LIST_REMITTANCE_VENDORS` | List Remittance Vendors | List remittance vendors (the pay-to parties for vendor payments) in ServiceTitan, one page per call. These are not the inventory vendors that purchase orders are placed with. |
| `SERVICETITAN_LIST_REPORT_CATEGORIES` | List Report Categories | List the report categories in ServiceTitan. Start here: every other report tool needs a category id. |
| `SERVICETITAN_LIST_REPORTS` | List Reports | List the reports in one report category in ServiceTitan, with id, name and description. |
| `SERVICETITAN_LIST_REVIEWS` | List Reviews | List customer reviews collected by ServiceTitan Marketing Reputation, one page per call, filtered by date, rating, source, technician, campaign or location. Several filters take numeric codes whose meanings the spec does not document. |
| `SERVICETITAN_LIST_ROUTER_SESSIONS` | List Router Sessions | List the customer booking sessions that went through one Scheduling Pro router in ServiceTitan, with outcome, customer details and any job or booking created. |
| `SERVICETITAN_LIST_SCHEDULERS` | List Schedulers | List the online booking schedulers set up in ServiceTitan Scheduling Pro, with their status and default flag. Each record also carries data_api_key, the scheduler's web-install key; it is sensitive, so do not repeat it to the user unless asked. |
| `SERVICETITAN_LIST_SCHEDULER_SESSIONS` | List Scheduler Sessions | List the customer booking sessions of one Scheduling Pro scheduler in ServiceTitan, with customer details, outcome and any job or booking created. |
| `SERVICETITAN_LIST_SERVICE_AGREEMENT_CUSTOM_FIELD_TYPES` | List Service Agreement Custom Field Types | List the custom field types defined for service agreements in ServiceTitan. Returns field definitions, not the values stored on an agreement. |
| `SERVICETITAN_LIST_SERVICE_AGREEMENTS` | List Service Agreements | List service agreements in ServiceTitan, the maintenance contracts for commercial customers, filtered by customer, business unit, status or created/modified time. Read-only: the API has no way to create or change an agreement. |
| `SERVICETITAN_LIST_TAG_TYPES` | List Tag Types | List tag types in ServiceTitan, the labels that can be put on customers, jobs, locations and other records. The tag type ids are what other tools take as tag_type_ids. |
| `SERVICETITAN_LIST_TASKS` | List Tasks | List office tasks in ServiceTitan Task Management, one page per call, filtered by status, priority, assignee, customer, job, project or dates. Set include_subtasks to true to also return each task's subtasks. These are Task Management tasks, not the invoice workflow tasks of CREATE_INVOICE_TASK / LIST_INVOICE_TASKS. |
| `SERVICETITAN_LIST_TAX_ZONES` | List Tax Zones | List tax zones and their tax rates in ServiceTitan, one page per call; with no filter every active tax zone is returned. Tax zones are read-only through the API. |
| `SERVICETITAN_LIST_TEAMS` | List Teams | List ServiceTitan dispatch teams, one page per call. Inactive teams are left out unless include_inactive is true. |
| `SERVICETITAN_LIST_TECHNICIAN_PAYROLLS` | List Technician Payrolls | List the payrolls (pay period records) of one technician in ServiceTitan, one page per call. Use LIST_EMPLOYEE_PAYROLLS for an office employee. |
| `SERVICETITAN_LIST_TECHNICIAN_RATINGS` | List Technician Ratings | List technician ratings in ServiceTitan, one page per call, filtered by technician, job or dates. Each rating is tied to one technician and one job. |
| `SERVICETITAN_LIST_TECHNICIANS` | List Technicians | List technicians in ServiceTitan, the field staff who work jobs, filtered by name or user id. Office employees are a separate resource. |
| `SERVICETITAN_LIST_TECHNICIAN_SHIFTS` | List Technician Shifts | List ServiceTitan technician shifts, one page per call, filtered by technician, shift type (Normal, OnCall, TimeOff), time range, or text in the title or note. |
| `SERVICETITAN_LIST_TECHNICIAN_SKILLS` | List Technician Skills | List ServiceTitan technician skills, one page per call, optionally for one technician. Each entry is one skill held by one technician. |
| `SERVICETITAN_LIST_TIMESHEET_ACTIVITIES` | List Timesheet Activities | List timesheet activities (blocks of time recorded against an activity type, from the Timesheets API) in ServiceTitan, one page per call. It filters only by job, project, active status and created or modified dates, not by employee or work date; for job dispatch/arrive/done times use LIST_PAYROLL_JOB_TIMESHEETS, for time booked to payroll timesheet codes use LIST_NON_JOB_TIMESHEETS, and for paid earnings use LIST_GROSS_PAY_ITEMS. |
| `SERVICETITAN_LIST_TIMESHEET_ACTIVITY_CATEGORIES` | List Timesheet Activity Categories | List timesheet activity categories, the groups that activity types belong to, in ServiceTitan, one page per call. |
| `SERVICETITAN_LIST_TIMESHEET_ACTIVITY_TYPES` | List Timesheet Activity Types | List timesheet activity types in ServiceTitan, one page per call. Use it to find the activity_type_id needed to create a timesheet activity. |
| `SERVICETITAN_LIST_TIMESHEET_CODES` | List Timesheet Codes | List timesheet codes in ServiceTitan, one page per call. Each code says which employee type it applies to and whether it is unpaid, paid, clock in/out or paid time off. Codes are the categories used by LIST_NON_JOB_TIMESHEETS; they are not payroll activity codes (LIST_PAYROLL_ACTIVITY_CODES). |
| `SERVICETITAN_LIST_TRUCKS` | List Trucks | List trucks in ServiceTitan inventory, the vehicle inventory locations assigned to technicians. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_USER_ROLES` | List User Roles | List user roles in ServiceTitan, the permission sets assigned to employees and technicians. Use it to get the role_id needed to create an employee or technician. |
| `SERVICETITAN_LIST_VEHICLE_EVENTS` | List Vehicle Events | List historical driving events for FleetPro vehicles in ServiceTitan, by VIN and time window. Only data older than 7 days is available, the window may span at most 24 hours, at most 50 VINs per call, and results are capped at 10,000 records. |
| `SERVICETITAN_LIST_VEHICLE_GPS_RECORDS` | List Vehicle GPS Records | List historical GPS positions for FleetPro vehicles in ServiceTitan, by VIN and time window. Only data older than 7 days is available, the window may span at most 24 hours, at most 50 VINs per call, and results are capped at 10,000 records. |
| `SERVICETITAN_LIST_VEHICLES` | List Vehicles | List every FleetPro vehicle in ServiceTitan with its VIN, name and driver. Use it to get the VINs that the vehicle GPS and event tools filter by. Not paged. |
| `SERVICETITAN_LIST_VENDOR_CUSTOM_FIELD_TYPES` | List Vendor Custom Field Types | List the custom field types defined for ServiceTitan vendors, with each type's data type and options. Use it to find valid custom field names before writing vendor custom fields. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_VENDORS` | List Vendors | List inventory vendors (suppliers) in ServiceTitan, filtered by name, ids, active status, external data, or date range. Returns one page per call; request the next page while has_more is true. For the pay-to parties of vendor payments use LIST_REMITTANCE_VENDORS. |
| `SERVICETITAN_LIST_WAREHOUSES` | List Warehouses | List warehouses in ServiceTitan inventory; warehouse ids are used as inventory locations on purchase orders, returns, and trucks. Returns one page per call; request the next page while has_more is true. |
| `SERVICETITAN_LIST_ZONES` | List Zones | List ServiceTitan dispatch zones, one page per call. A zone groups zip codes, cities or territories and the business units and technicians that serve them. |
| `SERVICETITAN_LOOKUP_OPT_OUTS` | Lookup Opt Outs | Check the opt-out status of specific phone numbers in ServiceTitan. Numbers with no opt-out are left out of the result, and the whole request fails if any number cannot be parsed. |
| `SERVICETITAN_MARK_AP_BILLS_AS_EXPORTED` | Mark AP Bills as Exported | Mark one or more AP bills as exported to an external accounting system in ServiceTitan. Returns one result row per id with a success flag and error message, so check each row: a failed id does not fail the call. No operation to undo the mark is documented. |
| `SERVICETITAN_MARK_AP_CREDITS_AS_EXPORTED` | Mark AP Credits as Exported | Mark one or more AP credits as exported to an external accounting system in ServiceTitan. Returns one result row per id with a success flag and error message, so check each row: a failed id does not fail the call. No operation to undo the mark is documented. |
| `SERVICETITAN_MARK_AP_PAYMENTS_AS_EXPORTED` | Mark AP Payments as Exported | Mark one or more AP payments as exported to an external accounting system in ServiceTitan. Returns one result row per id with a success flag and error message, so check each row: a failed id does not fail the call. No operation to undo the mark is documented. |
| `SERVICETITAN_MARK_BANK_DEPOSITS_AS_EXPORTED` | Mark Bank Deposits as Exported | Mark one or more bank deposits as exported to an external accounting system in ServiceTitan. Unlike the other mark-as-exported tools, the documented response has no body, so there is no per-id result to check. ServiceTitan documents no operation to undo the exported mark. |
| `SERVICETITAN_MARK_CREDIT_MEMOS_AS_EXPORTED` | Mark Credit Memos as Exported | Mark one or more credit memos as exported to an external accounting system in ServiceTitan. Returns one result row per id with a success flag and error message, so check each row: a failed id does not fail the call. No operation to undo the mark is documented. |
| `SERVICETITAN_MARK_EXPENSE_TRANSACTIONS_AS_EXPORTED` | Mark Expense Transactions as Exported | Mark one or more expense transactions as exported in ServiceTitan. Only an expense in the Posted state moves to Exported; an id that is missing or not Posted comes back as a failure row while the call itself still succeeds. ServiceTitan documents no operation to undo a successful exported mark. |
| `SERVICETITAN_MARK_INVENTORY_BILLS_AS_EXPORTED` | Mark Inventory Bills as Exported | Mark one or more inventory bills as exported to an external accounting system in ServiceTitan. Returns one result row per id with a success flag and error message, so check each row: a failed id does not fail the call. ServiceTitan documents no operation to undo a successful exported mark. |
| `SERVICETITAN_MARK_INVOICES_AS_EXPORTED` | Mark Invoices as Exported | Mark one or more invoices as exported to an external accounting system in ServiceTitan. Returns one result row per id with a success flag and error message, so check each row: a failed id does not fail the call. No operation to undo the mark is documented. |
| `SERVICETITAN_MARK_RECURRING_SERVICE_EVENT_COMPLETE` | Mark Recurring Service Event Complete | Mark a recurring service event complete in ServiceTitan by linking it to a job. It also copies the recurring service's invoice template items onto that job's invoice. |
| `SERVICETITAN_MARK_RECURRING_SERVICE_EVENT_INCOMPLETE` | Mark Recurring Service Event Incomplete | Mark a recurring service event incomplete in ServiceTitan by unlinking it from a job. It also deletes the invoice items that were copied onto the job's invoice when the event was completed. |
| `SERVICETITAN_MATCH_BUDGET_CODES` | Match Budget Codes | Check budget code strings against the company-level ServiceTitan budget codes; each input code comes back with a validity flag and the budget codes it matches. Read-only. |
| `SERVICETITAN_MATCH_PROJECT_BUDGET_CODES` | Match Project Budget Codes | Check budget code strings against the budget codes of one ServiceTitan project; each input code comes back with a validity flag and the budget codes it matches. Read-only. |
| `SERVICETITAN_REJECT_PURCHASE_ORDER_REQUEST` | Reject Purchase Order Request | Reject a ServiceTitan purchase order request by its request id, with a required rejection reason. Takes the request id from LIST_PURCHASE_ORDER_REQUESTS, not a purchase order id. No way to withdraw a rejection is documented. |
| `SERVICETITAN_REMOVE_APPOINTMENT_CONFIRMATION` | Remove Appointment Confirmation | Remove the confirmation from a ServiceTitan job appointment, returning it to unconfirmed. |
| `SERVICETITAN_REMOVE_APPOINTMENT_HOLD` | Remove Appointment Hold | Remove the hold from a ServiceTitan job appointment that was put on hold. |
| `SERVICETITAN_REMOVE_CUSTOMER_TAG` | Remove Customer Tag | Remove one tag type from one customer in ServiceTitan. The tag type itself is kept. Use REMOVE_TAGS_FROM_CUSTOMERS for several customers or tags at once. |
| `SERVICETITAN_REMOVE_EQUIPMENT_FROM_EQUIPMENT_SYSTEM` | Remove Equipment from Equipment System | Detach installed equipment from a ServiceTitan equipment system, by system id and a list of installed equipment ids. The equipment records themselves are not deleted. |
| `SERVICETITAN_REMOVE_JOB_CANCELLATION` | Remove Job Cancellation | Undo the cancellation of a ServiceTitan job that was canceled. |
| `SERVICETITAN_REMOVE_LOCATION_TAG` | Remove Location Tag | Remove one tag type from one location in ServiceTitan. The tag type itself is kept. |
| `SERVICETITAN_REMOVE_TAGS_FROM_CUSTOMERS` | Remove Tags From Customers | Remove one or more tag types from several customers in ServiceTitan in one call. Every tag type listed is removed from every customer listed. Use REMOVE_CUSTOMER_TAG for a single customer and tag. |
| `SERVICETITAN_REPLACE_CONTACT` | Replace Contact | Replace a contact in ServiceTitan with the values sent. is_archived is required, and name, title or reference_id left out are cleared; use UPDATE_CONTACT to change only some fields. |
| `SERVICETITAN_REPLACE_CONTACT_METHOD` | Replace Contact Method | Replace a contact method of a contact in ServiceTitan with the values sent. type and value are required, and optional fields left out are cleared; use UPDATE_CONTACT_METHOD to change only some fields. |
| `SERVICETITAN_REPLACE_JOURNAL_ENTRY` | Replace Journal Entry | Replace an external journal entry in ServiceTitan, including all of its lines. Only entries created through the API (external) can be replaced, and lines are overwritten: send every line to keep, because any line left out is deleted. |
| `SERVICETITAN_RESCHEDULE_APPOINTMENT` | Reschedule Appointment | Move a ServiceTitan job appointment to a new start and end time, and optionally a new arrival window. It changes only the schedule, not the assigned technicians. |
| `SERVICETITAN_SELL_ESTIMATE` | Sell Estimate | Mark an estimate as sold in ServiceTitan and credit the sale to a technician. sold_by_id must be a managed technician, and an estimate sold this way is set to 'perform work later', so the job still has to be booked. |
| `SERVICETITAN_SEND_EMPLOYEE_ACCOUNT_INVITE` | Send Employee Account Invite | Send an account invitation to a ServiceTitan employee. The sent invitation cannot be recalled. |
| `SERVICETITAN_SEND_EMPLOYEE_PASSWORD_RESET_LINK` | Send Employee Password Reset Link | Send a password reset link to a ServiceTitan employee. The sent link cannot be recalled. |
| `SERVICETITAN_SEND_TECHNICIAN_ACCOUNT_INVITE` | Send Technician Account Invite | Send an account invitation to a ServiceTitan technician. The sent invitation cannot be recalled. |
| `SERVICETITAN_SEND_TECHNICIAN_PASSWORD_RESET_LINK` | Send Technician Password Reset Link | Send a password reset link to a ServiceTitan technician. The sent link cannot be recalled. |
| `SERVICETITAN_SET_APPOINTMENT_SUMMARY` | Set Appointment Summary | Set the work-performed summary for one technician on a ServiceTitan job appointment. Private preview: available to specific accounts only, so expect an error on tenants without it. |
| `SERVICETITAN_SET_ARRIVAL_WINDOW_ACTIVE` | Set Arrival Window Active | Activate or deactivate a ServiceTitan arrival window by setting its active flag. |
| `SERVICETITAN_SET_BUSINESS_UNIT_EXTERNAL_DATA` | Set Business Unit External Data | Attach external data (key/value pairs owned by an application GUID) to a business unit in ServiceTitan. It cannot change the unit's name, address or other settings. |
| `SERVICETITAN_START_REPORT_DATA_QUERY` | Start Report Data Query | Start a long-running report data query in ServiceTitan. If it finishes within about 10 seconds the rows come back directly; otherwise it returns a status and a query_token to poll for the result. Rate limit: 1 call of the same report per minute per tenant. Use GET_REPORT_DATA for fast reports that return within one call. |
| `SERVICETITAN_SUBMIT_LEAD_FORM` | Submit Lead Form | Submit a lead form to ServiceTitan with a person's name and optional email, phone, address and summary, creating a lead and returning its id. Use CREATE_LEAD when you already have a campaign id and want to set lead fields directly. |
| `SERVICETITAN_UNASSIGN_TECHNICIANS_FROM_APPOINTMENT` | Unassign Technicians from Appointment | Remove one or more technicians from a ServiceTitan job appointment. Returns the appointment. |
| `SERVICETITAN_UNSELL_ESTIMATE` | Unsell Estimate | Revert a sold estimate to unsold in ServiceTitan. It only works when no signature has been collected and the estimate has not been booked out into a job. |
| `SERVICETITAN_UPDATE_AP_BILL_CUSTOM_FIELDS` | Update AP Bill Custom Fields | Set custom field values on one or more AP bills in ServiceTitan. Each operation names one AP bill id and the fields to set; a field name must already exist as a custom field type, and the documented response has no body. |
| `SERVICETITAN_UPDATE_AP_CREDIT_CUSTOM_FIELDS` | Update AP Credit Custom Fields | Set custom field values on one or more AP credits in ServiceTitan. Each operation names one AP credit id and the fields to set; a field name must already exist as a custom field type, and the documented response has no body. |
| `SERVICETITAN_UPDATE_AP_PAYMENT_CUSTOM_FIELDS` | Update AP Payment Custom Fields | Set custom field values on one or more AP payments in ServiceTitan. Each operation names one AP payment id and the fields to set; a field name must already exist as a custom field type, and the documented response has no body. |
| `SERVICETITAN_UPDATE_APPOINTMENT_SPECIAL_INSTRUCTIONS` | Update Appointment Special Instructions | Replace the special instructions text on a ServiceTitan job appointment. The new text overwrites the existing instructions. |
| `SERVICETITAN_UPDATE_ARRIVAL_WINDOW` | Update Arrival Window | Replace the start time, duration and business units of a ServiceTitan arrival window. All three fields are required. To turn a window on or off use Set Arrival Window Active. |
| `SERVICETITAN_UPDATE_ARRIVAL_WINDOW_CONFIGURATION` | Update Arrival Window Configuration | Change the tenant-wide ServiceTitan arrival window setting that decides whether a job's default start time is the start or the end of the chosen arrival window. Affects all future bookings. |
| `SERVICETITAN_UPDATE_BOOKING` | Update Booking | Update fields of an existing booking in ServiceTitan for a given booking provider. Only the fields sent are changed; if address is sent, all six of its fields are required. |
| `SERVICETITAN_UPDATE_BOOKING_CONTACT` | Update Booking Contact | Update one contact entry on a booking in ServiceTitan for a given booking provider. Only the fields sent are changed. |
| `SERVICETITAN_UPDATE_BOOKING_PROVIDER_TAG` | Update Booking Provider Tag | Update the name or description of a booking provider tag in ServiceTitan. Only the fields sent are changed. |
| `SERVICETITAN_UPDATE_CALL` | Update Call | Update a call record in ServiceTitan: its call type, reason, excuse memo, tag and linked customer, location, job, campaign or agent. This is a PUT and excuse_memo, reason, customer, location and tag are required on every call; GET_CALL does not return the current location, excuse memo or tag, so have those values ready before calling. |
| `SERVICETITAN_UPDATE_CAMPAIGN` | Update Campaign | Update a marketing campaign in ServiceTitan. The spec requires name, business_unit_id, category_id and active on every call, so read the campaign first and send its current values for fields you are not changing. |
| `SERVICETITAN_UPDATE_CAMPAIGN_CATEGORY` | Update Campaign Category | Rename a marketing campaign category in ServiceTitan or change its active flag. name is required on every call, even when only active changes. |
| `SERVICETITAN_UPDATE_CAMPAIGN_COST` | Update Campaign Cost | Change the daily cost of an existing campaign cost record in ServiceTitan. The campaign, year and month of the record cannot be changed. |
| `SERVICETITAN_UPDATE_CLIENT_SPECIFIC_PRICING_RATE_SHEET` | Update Client Specific Pricing Rate Sheet | Update the per-SKU price exceptions of a client-specific pricing rate sheet in the ServiceTitan pricebook, by rate sheet id. The spec does not say whether the exceptions sent replace the sheet's current list or are merged into it. |
| `SERVICETITAN_UPDATE_CONTACT` | Update Contact | Update a contact's name, title, reference id or archived flag in ServiceTitan. The spec lists is_archived as required even though this is a partial update. Use REPLACE_CONTACT to overwrite every field. |
| `SERVICETITAN_UPDATE_CONTACT_METHOD` | Update Contact Method | Update the value or memo of a contact method in ServiceTitan. Only the fields sent are changed; the type cannot be changed here. Use REPLACE_CONTACT_METHOD to overwrite every field, including type. 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_CUSTOMER_CONTACT, CREATE_LOCATION_CONTACT or CREATE_BOOKING_CONTACT. |
| `SERVICETITAN_UPDATE_CONTACT_METHOD_PREFERENCE` | Update Contact Method Preference | Set the value of one communication preference on a contact method in ServiceTitan. The value is sent as a string whatever the preference's data type. |
| `SERVICETITAN_UPDATE_CREDIT_MEMO` | Update Credit Memo | Update a credit memo's summary, date, business unit or active flag in ServiceTitan; only the fields sent are changed. It cannot change amounts or applications: use ADD_CREDIT_MEMO_SPLITS to apply the memo to invoices. |
| `SERVICETITAN_UPDATE_CREDIT_MEMO_CUSTOM_FIELDS` | Update Credit Memo Custom Fields | Set custom field values on one or more credit memos in ServiceTitan. Each operation names one credit memo id and the fields to set; a field name must already exist as a custom field type, and the documented response has no body. |
| `SERVICETITAN_UPDATE_CUSTOMER` | Update Customer | Update fields of a customer in ServiceTitan. Only the fields sent are changed, but custom_fields and tag_type_ids are treated as full lists: send every value you want to keep. To add or remove one tag, use ADD_CUSTOMER_TAG or REMOVE_CUSTOMER_TAG. |
| `SERVICETITAN_UPDATE_CUSTOMER_CONTACT` | Update Customer Contact | Update one contact entry on a customer in ServiceTitan. Only the fields sent are changed; if preferences is sent, all five of its flags are required. This is the customer's own contact list, separate from the GUID person contacts managed with CREATE_CONTACT and CREATE_CONTACT_METHOD. |
| `SERVICETITAN_UPDATE_EMPLOYEE` | Update Employee | Update an office employee in ServiceTitan; only the fields sent are changed. business_unit_access_ids is a full replacement, and account_locked sets whether the account is locked. |
| `SERVICETITAN_UPDATE_EMPLOYEE_PAYROLL_SETTINGS` | Update Employee Payroll Settings | Update the payroll settings of one office employee in ServiceTitan. hourly_rate is required on every call; the spec does not say whether other omitted fields are kept or cleared. |
| `SERVICETITAN_UPDATE_EQUIPMENT_SYSTEM` | Update Equipment System | Update a ServiceTitan equipment system by id. Omitted fields are left unchanged; equipment_ids, when sent, replaces the system's whole equipment list (use ADD_EQUIPMENT_TO_EQUIPMENT_SYSTEM or REMOVE_EQUIPMENT_FROM_EQUIPMENT_SYSTEM to change one item), and an empty list for tags or custom fields clears them. |
| `SERVICETITAN_UPDATE_EQUIPMENT_TYPE` | Update Equipment Type | Rename a ServiceTitan equipment type or change its active status, by id. |
| `SERVICETITAN_UPDATE_ESTIMATE` | Update Estimate | Update an estimate in ServiceTitan. This is a PUT with every field optional; whether omitted fields and items are kept or cleared is not documented, so read the estimate first and send the full intended values. |
| `SERVICETITAN_UPDATE_ESTIMATE_TEMPLATE` | Update Estimate Template | Update an estimate template in ServiceTitan; only the fields sent are changed. Sending items replaces every item on the template, and summary and business_unit_id cannot be cleared once set. |
| `SERVICETITAN_UPDATE_EXPENSE_TRANSACTION_CUSTOM_FIELDS` | Update Expense Transaction Custom Fields | Set custom field values on one or more expense transactions in ServiceTitan. The request is all-or-nothing: an unknown custom field name or expense id returns 422 and no update is saved. |
| `SERVICETITAN_UPDATE_FINDING` | Update Finding | Update a ServiceTitan finding by id: its text fields, urgency level, or archived and active status. The location, equipment, and source job cannot be changed through this tool. Send only the fields to change; the spec marks none of them required. |
| `SERVICETITAN_UPDATE_FINDING_ATTACHMENT` | Update Finding Attachment | Update the file name, URL, or media type of an attachment on a ServiceTitan finding. Send only the fields to change; the spec marks none of them required. |
| `SERVICETITAN_UPDATE_GL_ACCOUNT` | Update GL Account | Update a general ledger (GL) account in ServiceTitan; only the fields sent are changed. Set active to false to deactivate the account, which is the only form of deletion: an account cannot be removed permanently. |
| `SERVICETITAN_UPDATE_GROSS_PAY_ITEM` | Update Gross Pay Item | Update a gross pay item in ServiceTitan and return its id. This is a PUT: payroll_id, amount, activity_code_id and date are required on every call, and the spec does not say whether optional fields left out are kept or cleared. |
| `SERVICETITAN_UPDATE_INSTALLED_EQUIPMENT` | Update Installed Equipment | Update fields of a ServiceTitan installed equipment record by id. Send only the fields to change; the spec marks none of them required. List fields such as custom_fields and tag_type_ids are sent as the lists you give. |
| `SERVICETITAN_UPDATE_INVENTORY_ADJUSTMENT` | Update Inventory Adjustment | Update fields of an existing ServiceTitan inventory adjustment by id. Only the fields you send are changed, but items is sent as the full list: lines left out of it are removed. |
| `SERVICETITAN_UPDATE_INVENTORY_ADJUSTMENT_CUSTOM_FIELDS` | Update Inventory Adjustment Custom Fields | Set custom field values on one or more ServiceTitan inventory adjustments in a single request. Each operation names the adjustment by objectId and the custom fields to write; the documented response has no body. |
| `SERVICETITAN_UPDATE_INVENTORY_BILL_CUSTOM_FIELDS` | Update Inventory Bill Custom Fields | Set custom field values on one or more inventory bills in ServiceTitan. Each operation names one inventory bill id and the fields to set; a field name must already exist as a custom field type, and the documented response has no body. |
| `SERVICETITAN_UPDATE_INVENTORY_RECEIPT_CUSTOM_FIELDS` | Update Inventory Receipt Custom Fields | Set custom field values on one or more ServiceTitan inventory receipts in a single request. Each operation names the receipt by objectId and the custom fields to write; the documented response has no body. |
| `SERVICETITAN_UPDATE_INVENTORY_RETURN` | Update Inventory Return | Update fields of an existing ServiceTitan vendor return by id. Only the fields you send are changed. |
| `SERVICETITAN_UPDATE_INVENTORY_RETURN_CUSTOM_FIELDS` | Update Inventory Return Custom Fields | Set custom field values on one or more ServiceTitan inventory returns in a single request. Each operation names the return by objectId and the custom fields to write; the documented response has no body. |
| `SERVICETITAN_UPDATE_INVENTORY_RETURN_TYPE` | Update Inventory Return Type | Update a ServiceTitan vendor return type by id. Only the fields you send are changed. |
| `SERVICETITAN_UPDATE_INVENTORY_TRANSFER` | Update Inventory Transfer | Update an existing ServiceTitan inventory transfer by id. The source location, transfer type, and date can only be changed while the transfer is Pending. |
| `SERVICETITAN_UPDATE_INVENTORY_TRANSFER_CUSTOM_FIELDS` | Update Inventory Transfer Custom Fields | Set custom field values on one or more ServiceTitan inventory transfers in a single request. Each operation names the transfer by objectId and the custom fields to write. |
| `SERVICETITAN_UPDATE_INVOICE` | Update Invoice | Update an invoice's header fields, line items or payment settlement status in ServiceTitan; only the fields sent are changed. Each entry in items needs description and quantity, and the documented response has no body, so read the invoice back with LIST_INVOICES to confirm. |
| `SERVICETITAN_UPDATE_INVOICE_CUSTOM_FIELDS` | Update Invoice Custom Fields | Set custom field values on one or more invoices in ServiceTitan. Each operation names one invoice id and the fields to set; a field name must already exist as a custom field type, and the documented response has no body. |
| `SERVICETITAN_UPDATE_INVOICE_ITEM` | Update Invoice Item | Update one line item on an invoice in ServiceTitan; item_id names the item to change, and description and quantity are required on every call. |
| `SERVICETITAN_UPDATE_INVOICE_TASK` | Update Invoice Task | Update the name, status, assignee, due date or description of a task on an invoice in ServiceTitan; only the fields sent are changed. task_id is a string id from LIST_INVOICE_TASKS. This is an invoice workflow task, not a Task Management task (CREATE_TASK). |
| `SERVICETITAN_UPDATE_INVOICE_TEMPLATE` | Update Invoice Template | Update a membership invoice template in ServiceTitan; only the top-level fields sent are changed. Whether items replaces or merges with the existing items is not documented, so read the template first and send the full intended item list. |
| `SERVICETITAN_UPDATE_JOB` | Update Job | Update fields of a ServiceTitan job; only the fields sent are changed, and job status cannot be changed here. custom_fields and tag_type_ids replace the whole list, so include every value you want to keep. |
| `SERVICETITAN_UPDATE_JOB_TYPE` | Update Job Type | Update fields of a ServiceTitan job type; only the fields sent are changed. custom_field_type_ids replaces the assigned list unless custom_fields_update_mode is Merge. |
| `SERVICETITAN_UPDATE_JOURNAL_ENTRY` | Update Journal Entry | Update a journal entry's status (Open or Closed) and custom fields in ServiceTitan. It cannot change lines or amounts; use REPLACE_JOURNAL_ENTRY for that. Custom fields not named are left as they are; a named custom field can be set to null but not deleted. |
| `SERVICETITAN_UPDATE_JOURNAL_ENTRY_SYNC_STATUS` | Update Journal Entry Sync Status | Record the result of syncing a journal entry to an external accounting system in ServiceTitan by setting its sync status. version_id is required when the status is Synced and must match the entry version that was synced. |
| `SERVICETITAN_UPDATE_LABOR_TYPE` | Update Labor Type | Replace a payroll labor type in ServiceTitan. This is a full update: name, code and active are required on every call, and leaving out service_code_id clears the labor type's service code. |
| `SERVICETITAN_UPDATE_LEAD` | Update Lead | Update fields of a lead in ServiceTitan. Only the fields sent are changed; status is not set here, use DISMISS_LEAD to dismiss. |
| `SERVICETITAN_UPDATE_LOCATION` | Update Location | Update fields of a location in ServiceTitan. Only the fields sent are changed, but custom_fields and tag_type_ids replace the full lists, so anything left out of them is removed. |
| `SERVICETITAN_UPDATE_LOCATION_CONTACT` | Update Location Contact | Update one contact entry on a location in ServiceTitan. Only the fields sent are changed; if preferences is sent, all five of its flags are required. This is the location's own contact list, separate from the GUID person contacts managed with CREATE_CONTACT and CREATE_CONTACT_METHOD. |
| `SERVICETITAN_UPDATE_LOCATION_PREFERRED_TECHNICIAN` | Update Location Preferred Technician | Set the preferred technician of a location in ServiceTitan. Both ids go in the path and no request body is sent; it replaces any technician set before. |
| `SERVICETITAN_UPDATE_MEMBERSHIP` | Update Membership | Update a customer membership in ServiceTitan; only the fields sent are changed. status takes Active, Suspended, Expired, Canceled or Deleted, and recurring_service_action None deletes the membership's existing recurring services. Explicit null clears to_date, location_id and recurring_location_id. |
| `SERVICETITAN_UPDATE_NON_JOB_APPOINTMENT` | Update Non Job Appointment | Replace a ServiceTitan non-job appointment. This is a full update: technician, start, duration and name are required every time. |
| `SERVICETITAN_UPDATE_PAYMENT` | Update Payment | Update a customer payment record in ServiceTitan: type, paid date, memo, status and how it is split across invoices. type_id and splits are required on every call even though this is a PATCH. |
| `SERVICETITAN_UPDATE_PAYMENT_CUSTOM_FIELDS` | Update Payment Custom Fields | Set custom field values on one or more payments in ServiceTitan. Each operation names one payment id and the fields to set; a field name must already exist as a custom field type, and the documented response has no body. |
| `SERVICETITAN_UPDATE_PAYMENT_STATUS` | Update Payment Status | Set the status (Pending, Posted or Exported) of one or more customer payments in ServiceTitan in one call. The documented response has no body, so read the payments back with LIST_PAYMENTS to confirm. |
| `SERVICETITAN_UPDATE_PAYROLL_ADJUSTMENT` | Update Payroll Adjustment | Update a payroll adjustment in ServiceTitan with a PUT. employee_id and posted_on are required on every call along with the employee_type query value; the spec does not say what happens to optional fields that are left out. |
| `SERVICETITAN_UPDATE_PRICEBOOK_CATEGORY` | Update Pricebook Category | Update fields of a ServiceTitan pricebook category by id and return the updated category. Every body field is optional. |
| `SERVICETITAN_UPDATE_PRICEBOOK_DISCOUNT_OR_FEE` | Update Pricebook Discount or Fee | Update fields of a discount or fee in the ServiceTitan pricebook by id. Every body field is optional and only the fields you pass are sent; categories and assets are sent as the lists you give. |
| `SERVICETITAN_UPDATE_PRICEBOOK_EQUIPMENT` | Update Pricebook Equipment | Update fields of an equipment item in the ServiceTitan pricebook catalog by id. Every body field is optional and only the fields you pass are sent; list fields such as categories and assets are sent as the lists you give. |
| `SERVICETITAN_UPDATE_PRICEBOOK_MATERIAL` | Update Pricebook Material | Update fields of a material in the ServiceTitan pricebook by id. Every body field is optional; a field left out is not sent. |
| `SERVICETITAN_UPDATE_PRICEBOOK_MATERIAL_MARKUP` | Update Pricebook Material Markup | Replace a material markup tier in the ServiceTitan pricebook by id. This is a full replacement: range_from, range_to, and percent are all required. |
| `SERVICETITAN_UPDATE_PRICEBOOK_SERVICE` | Update Pricebook Service | Update fields of a service in the ServiceTitan pricebook by id. Send only the fields to change; the spec marks none of them required. |
| `SERVICETITAN_UPDATE_PROJECT` | Update Project | Update fields of a ServiceTitan project; only the fields sent are changed. Whether a list field such as job_ids or project_manager_ids replaces or adds to the current list is not documented, so send the complete list you want the project to have; to add one job prefer Attach Job To Project. |
| `SERVICETITAN_UPDATE_PROPOSAL_TEMPLATE` | Update Proposal Template | Update a proposal template in ServiceTitan; only the fields sent are changed. Sending estimate_assignments or business_unit_ids replaces the whole list, and an empty list removes them all. |
| `SERVICETITAN_UPDATE_PURCHASE_ORDER` | Update Purchase Order | Update fields of an existing ServiceTitan purchase order by id; every body field is optional. When items is sent it replaces the item list: every active item left out is marked inactive. |
| `SERVICETITAN_UPDATE_PURCHASE_ORDER_CUSTOM_FIELDS` | Update Purchase Order Custom Fields | Set custom field values on one or more ServiceTitan purchase orders in a single request. Each operation names the purchase order by objectId and the custom fields to write by name. |
| `SERVICETITAN_UPDATE_PURCHASE_ORDER_MARKUP` | Update Purchase Order Markup | Update a ServiceTitan purchase order markup tier by id. All three values (range_from, range_to, percent) are required on every update. |
| `SERVICETITAN_UPDATE_PURCHASE_ORDER_TYPE` | Update Purchase Order Type | Update a ServiceTitan purchase order type by id. Although sent as a partial update, the documented body requires every setting, so send the full set of values. |
| `SERVICETITAN_UPDATE_RECURRING_SERVICE` | Update Recurring Service | Update a location recurring service in ServiceTitan; only the fields sent are changed. Service events are generated from the recurrence fields, but whether a change regenerates events that already exist is not documented. |
| `SERVICETITAN_UPDATE_TAG_TYPE` | Update Tag Type | Update a tag type in ServiceTitan; only the fields sent are changed. Setting active to false deactivates the tag type; there is no delete endpoint. |
| `SERVICETITAN_UPDATE_TECHNICIAN` | Update Technician | Update a technician in ServiceTitan; only the fields sent are changed. zone_ids and project_label_ids replace the whole list, and account_locked true locks the technician's account. |
| `SERVICETITAN_UPDATE_TECHNICIAN_PAYROLL_SETTINGS` | Update Technician Payroll Settings | Update the payroll settings of one technician in ServiceTitan. hourly_rate is required on every call; the spec does not say whether other omitted fields are kept or cleared, except pay_type, which is left unchanged when omitted. |
| `SERVICETITAN_UPDATE_TECHNICIAN_SHIFT` | Update Technician Shift | Update fields of a ServiceTitan technician shift; only the fields sent are changed. The technician and repeat settings cannot be changed here. |
| `SERVICETITAN_UPDATE_TIMESHEET_ACTIVITY` | Update Timesheet Activity | Replace a timesheet activity in ServiceTitan. This is a PUT: activity_type_id, start_time, tag_type_ids and active are required on every call, the request has no employee field so the employee cannot be changed, and the spec does not say whether optional fields left out are cleared. |
| `SERVICETITAN_UPDATE_TRUCK` | Update Truck | Update a ServiceTitan truck by id: name, memo, warehouse, template, assigned technicians, or active status. |
| `SERVICETITAN_UPDATE_VENDOR` | Update Vendor | Update fields of an existing ServiceTitan inventory vendor by id; every body field is optional, and fields left out are not sent. |
| `SERVICETITAN_UPDATE_VENDOR_CUSTOM_FIELDS` | Update Vendor Custom Fields | Set custom field values on one or more ServiceTitan vendors in a single request. Each operation names the vendor by objectId and the custom fields to write by name. |
| `SERVICETITAN_UPDATE_WAREHOUSE` | Update Warehouse | Update the external data attached to a ServiceTitan warehouse by id. External data is the only warehouse field this endpoint can change. |
| `SERVICETITAN_UPDATE_ZONE` | Update Zone | Update fields of a ServiceTitan dispatch zone; only the fields sent are changed. Whether a list field such as zips, cities or business_unit_ids replaces or adds to the current list is not documented, so send the complete list you want the zone to have. |
| `SERVICETITAN_UPSERT_ESTIMATE_ITEM` | Upsert Estimate Item | Add a line item to an estimate in ServiceTitan, or update an existing one when item_id is given. One item per call. With item_id the existing item is overwritten; whether fields left out are kept or cleared is not documented, and the add-or-update reading comes from the schema and ServiceTitan's guide, not the spec. |
| `SERVICETITAN_UPSERT_PROJECT_DAILY_LOG` | Upsert Project Daily Log | Create or update the daily log of a ServiceTitan project for one date. Only the fields and sections sent are changed; if no log exists for that date, one is created. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

Once connected, ChatGPT can access the ServiceTitan MCP server via Composio to run actions that you authorize, directly in your workspace.

## Complete Code

None listed.

## How to build ServiceTitan MCP Agent with another framework

- [Claude Cowork](https://composio.dev/toolkits/servicetitan/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/servicetitan/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/servicetitan/framework/atomic-agent)

## Related Toolkits

- [Google Sheets](https://composio.dev/toolkits/googlesheets) - Google Sheets is a cloud-based spreadsheet tool for real-time collaboration and data analysis. It lets teams work together from anywhere, updating information instantly.
- [Notion](https://composio.dev/toolkits/notion) - Notion is a collaborative workspace for notes, docs, wikis, and tasks. It streamlines team knowledge, project tracking, and workflow customization in one place.
- [Airtable](https://composio.dev/toolkits/airtable) - Airtable combines the flexibility of spreadsheets with the power of a database for easy project and data management. Teams use Airtable to organize, track, and collaborate with custom views and automations.
- [Asana](https://composio.dev/toolkits/asana) - Asana is a collaborative work management platform for teams to organize and track projects. It streamlines teamwork, boosts productivity, and keeps everyone aligned on goals.
- [Google Tasks](https://composio.dev/toolkits/googletasks) - Google Tasks is a to-do list and task management tool integrated into Gmail and Google Calendar. It helps you organize, track, and complete tasks across your Google ecosystem.
- [Linear](https://composio.dev/toolkits/linear) - Linear is a modern issue tracking and project planning tool for fast-moving teams. It helps streamline workflows, organize projects, and boost productivity.
- [Jira](https://composio.dev/toolkits/jira) - Jira is Atlassian’s platform for bug tracking, issue tracking, and agile project management. It helps teams organize work, prioritize tasks, and deliver projects efficiently.
- [Clickup](https://composio.dev/toolkits/clickup) - ClickUp is an all-in-one productivity platform for managing tasks, docs, goals, and team collaboration. It streamlines project workflows so teams can work smarter and stay organized in one place.
- [Monday](https://composio.dev/toolkits/monday) - Monday.com is a customizable work management platform for project planning and collaboration. It helps teams organize tasks, automate workflows, and track progress in real time.
- [Addressfinder](https://composio.dev/toolkits/addressfinder) - Addressfinder is a data quality platform for verifying addresses, emails, and phone numbers. It helps you ensure accurate customer and contact data every time.
- [Agiled](https://composio.dev/toolkits/agiled) - Agiled is an all-in-one business management platform for CRM, projects, and finance. It helps you streamline workflows, consolidate client data, and manage business processes in one place.
- [AirOps MCP](https://composio.dev/toolkits/airops_mcp) - AirOps MCP is AirOps' managed content platform exposing brand context, knowledge bases, and workflows. Use it to give agents brand-aware content, automate content workflows, and track Brand Kit edits.
- [Amazing Marvin](https://composio.dev/toolkits/amazing_marvin) - Amazing Marvin is a personal productivity app for tasks, projects, habits, planning, time tracking, and rewards. It helps you build a flexible workflow that matches how you actually work.
- [AnyDB](https://composio.dev/toolkits/any_db) - AnyDB is a flexible collaborative database platform for organizing records, files, and automated workflows. It helps teams centralize data, collaborate on records, and automate routine tasks.
- [ApptiveGrid](https://composio.dev/toolkits/apptivegrid) - ApptiveGrid is a collaborative no-code database and app platform for spaces, grids, forms, and structured records. It helps teams organize operational data, collect inputs, and build lightweight business apps without custom backend work.
- [Ascora](https://composio.dev/toolkits/ascora) - Ascora is a cloud-based field service management platform for service businesses. It streamlines scheduling, invoicing, and customer operations in one place.
- [Atlassian MCP](https://composio.dev/toolkits/atlassian_mcp) - Atlassian Rovo MCP connects agents to Jira, Jira Service Management, Confluence, Bitbucket, Compass, and Teamwork Graph workflows. It lets teams surface and act on Atlassian data while respecting existing user permissions.
- [Basecamp](https://composio.dev/toolkits/basecamp) - Basecamp is a project management and team collaboration tool by 37signals. It helps teams organize tasks, share files, and communicate efficiently in one place.
- [Beeminder](https://composio.dev/toolkits/beeminder) - Beeminder is an online goal-tracking platform that uses monetary pledges to keep you motivated. Stay accountable and hit your targets with real financial incentives.
- [Boxhero](https://composio.dev/toolkits/boxhero) - Boxhero is a cloud-based inventory management platform for SMBs, offering real-time updates, barcode scanning, and team collaboration. It helps businesses streamline stock tracking and analytics for smarter inventory decisions.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and ServiceTitan MCP?

With a standalone ServiceTitan MCP server, the agents and LLMs can only access a fixed set of ServiceTitan tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from ServiceTitan and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with ChatGPT?

Yes, you can. ChatGPT fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right ServiceTitan tools.

### Can I manage the permissions and scopes for ServiceTitan while using Tool Router?

Yes, absolutely. You can configure which ServiceTitan scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your ServiceTitan data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
