Skip to content

Integration · Field service

Connect Claude & ChatGPT to ServiceTitan

Ask your AI who is booked tomorrow, what a customer owes, or to book a job in ServiceTitan. It can search customers, locations, jobs and appointments, read estimates, invoices and payments, and create leads and jobs. It can also assign technicians, reschedule appointments and add notes, so the office gets answers without clicking through the dispatch board.

Connect ServiceTitan free

Free plan, no credit card. Takes about a minute.

Try asking

  • “Which appointments are scheduled for tomorrow, and who is assigned?”

    The AI searches appointments starting tomorrow and lists the assigned technicians for each one.

  • “Book a maintenance job for customer 48213 at their main address next Tuesday from 8 to 10.”

    It finds the customer's location and the maintenance job type, copies business unit and campaign from a similar job, and creates the job with one appointment.

  • “Move appointment 90127 to Thursday afternoon.”

    It reschedules the appointment to the new start and end time, with a new arrival window if you give one.

What your AI can do

Jobs and dispatch

Search and book jobs, add appointments, reschedule them, assign technicians, add job notes and cancel jobs with a reason.

Customers and leads

Search customers and service locations, read contacts, update customer details, add customer notes and create leads.

Estimates, invoices and payments

Read estimates with line items, search invoices by customer, job or due date, and list payments applied to invoices.

  • “What does the Hansen household still owe?”

    It searches the customer, then their invoices and payments, and shows open balances.

  • “Show me the estimates on job 1873 and their status.”

    It lists the estimates on the job and can open one to show its line items and totals.

  • “A caller wants a quote on a new water heater. Log it as a lead.”

    It creates a lead with a summary, the caller's contact details and a follow-up date, linked to a campaign.

29 tools for ServiceTitan

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • add_customer_noteChanges dataAdd a note (`text`) to a customer (`customer_id`). Set `pin_to_top` to pin it, or `add_to_locations` to copy it to the customer's locations.
  • add_job_appointmentChanges dataAdd another appointment to an existing job (`job_id`) with `start` and `end` in UTC, optional `technician_ids`, arrival window and `special_instructions`.
  • add_job_noteChanges dataAdd a note (`text`) to a job (`job_id`); set `pin_to_top` to pin it.
  • assign_techniciansChanges dataAssign one or more technicians (`technician_ids`) to an appointment (`job_appointment_id`).
  • cancel_jobDeletesCancel a job by `job_id` with a `reason_id` (from list_job_cancel_reasons) and a `memo` explaining why.
  • create_jobChanges dataBook a new job with `customer_id`, `location_id`, `job_type_id`, `business_unit_id`, `campaign_id`, `priority` and at least one entry in `appointments` (`start`/`end` in UTC). Copy business unit and campaign IDs from a similar existing job if you do not know them.
  • create_leadChanges dataCreate a lead with a `summary`, `campaign_id` and either a `follow_up_date` or `call_reason_id`, plus the caller's name, phone, email and address or an existing `customer_id`/`location_id`.
  • get_appointmentGet one appointment by `appointment_id`, with its start and end times, arrival window, status and job.
  • get_customerGet one customer by `customer_id`, including address, balance, type and flags such as do-not-service.
  • get_estimateGet one estimate by `quote_id` (the estimate ID), with its line items, totals and status.
  • get_jobGet one job by `project_id` (the job ID), with its status, customer, location, job type, business unit, campaign and summary.
  • get_leadGet one lead by `lead_id`, with its summary, contact details, status and follow-up date.
  • get_locationGet one service location by `address_id` (the location ID), including its address and customer.
  • list_appointment_assignmentsList which technicians are assigned to appointments, filtered by `job_id` or `appointment_ids`. Also a way to find technician IDs.
  • list_customer_contactsList the phone numbers and email addresses stored on a customer (`customer_id`).
  • list_estimatesList estimates, filtered by `job_id`, `job_number`, `project_id`, `location_id`, `status`, sold dates or totals.
  • list_job_cancel_reasonsList the job cancel reasons set up in ServiceTitan. Use it to get the `reason_id` for cancelling a job.
  • list_job_notesList the notes on a job (`job_id`).
  • list_job_typesList job types (for example repair or maintenance) with their IDs, filtered by `name` or `active`. Use it to pick the `job_type_id` for a new job.
  • list_leadsList leads, filtered by `status`, `customer_id`, `lead_phone`, `lead_customer_name` or created dates.
  • list_paymentsList customer payments, filtered by `customer_id`, `applied_to_invoice_ids`, paid dates (`paid_on_after`, `paid_on_before`) or totals.
  • reschedule_appointmentVisible to othersReschedule an appointment (`appointment_id`) to a new `start`/`end` (UTC), optionally with a new arrival window.
  • search_appointmentsSearch appointments by `job_id`, `customer_id`, `technician_id`, `status` (Scheduled, Dispatched, Working, Hold, Done, Canceled) or start date range (`starts_on_or_after`, `starts_before`).
  • search_customersSearch customers by `name`, `phone`, `street`, `city`, `zip`, `active` or created/modified dates. Use this to find a customer's ID before other lookups.
  • search_invoicesSearch customer invoices by `customer_id`, `job_id`, `job_number`, `number`, invoice date, due date or balance. Use `ids` to fetch specific invoices.
  • search_jobsSearch jobs by `customer_id`, `location_id`, `number`, `job_status` (Scheduled, Dispatched, InProgress, Hold, Completed, Canceled), `technician_id`, appointment dates or created/completed dates.
  • search_locationsSearch service locations (the addresses where work is done) by `customer_id`, `name`, `street`, `city`, `zip` or `active`. Use it to find the `location_id` needed for new jobs.
  • update_customerChanges dataUpdate a customer by `customer_id`: name, type (residential or commercial), active flag, do-not-mail/do-not-service, payment term or custom fields. Only the fields you pass change.
  • update_jobChanges dataUpdate a job by `project_id` (the job ID): summary, priority, job type, business unit, campaign, customer PO or custom fields. Only the fields you pass change.

Set up in three steps

  1. 1

    Pick the app

    Create a free PipMCP account and choose ServiceTitan from the app list.

  2. 2

    Paste your key

    Enter four values: Client ID, Client Secret, App Key and Tenant ID. As a ServiceTitan admin, sign in at developer.servicetitan.io with 'Login as Production Environment User', create an app with the API scopes you need and copy its App Key. Then in ServiceTitan go to Settings > Integrations > API Application Access, click Connect New App, pick your app and allow access. The Client ID, Client Secret and Tenant ID are shown there.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    Click your name, then Settings › Connectors › Add custom connector. Paste your link as the Remote MCP server URL. Switch it on from the + menu in a chat.

Questions

What can the AI do in ServiceTitan?

The AI can search and read customers, locations, contacts, jobs, appointments, leads, estimates, invoices and payments. It can create leads and jobs, add appointments, assign technicians, reschedule appointments, add notes, update customers and jobs, and cancel a job with a reason if you switch that tool on.

Does the AI see my ServiceTitan credentials?

No. Your ServiceTitan credentials are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start read-only. Cancelling a job or rescheduling an appointment affects customers and technicians, and both can require your approval before they run. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your PipMCP link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

PipMCP has a free plan with no credit card required. Paid plans bill per completed task. You also need your own ServiceTitan account.

Why does ServiceTitan need four values?

ServiceTitan's API uses an App Key that identifies the app you create in the developer portal, plus a Client ID and Client Secret that are issued when an admin connects that app to your account. The Tenant ID tells the API which ServiceTitan account to use. PipMCP exchanges them for short-lived access automatically.

Let your AI work in ServiceTitan today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect ServiceTitan free

PipMCP is not affiliated with ServiceTitan. Product names are trademarks of their owners.