ServiceTitan exposes dispatch capacity, so the phone can quote a real arrival window.
ServiceTitan is the system of record for a large share of established HVAC, plumbing and electrical contractors, and its API is one of the most complete in this category. It publishes booking creation, job management and, unusually, dispatch capacity and arrival windows, which is the difference between an agent that takes a message and an agent that can tell a caller when the truck arrives.
What is ServiceTitan, and who runs on it?
ServiceTitan is field service management software for the trades: dispatch board, job costing, CRM, invoicing and reporting in one system. It skews toward larger and more established contractors than the rest of this category: companies with multiple trucks, a dispatcher, and enough call volume that how a call is booked has real revenue consequences.
That profile matters for the phone. A one-truck operator can call a customer back at lunch. A twelve-truck HVAC company in August cannot, because the calls arrive in a wave, the dispatcher is already rebuilding the board around a no-show, and every call that goes to voicemail during that wave is a job that goes to whoever picks up next.
ServiceTitan is also the rare system where the schedule is genuinely constrained. Capacity is not a list of open boxes; it is technicians with different skills, in different zones, with drive time between them. Any agent that books into it without reading that constraint is creating work for the dispatcher, not removing it.
What gap does ServiceTitan leave?
It runs the board and it does not answer the phone. ServiceTitan knows exactly which technician has capacity in which zone on Thursday afternoon, but that knowledge only reaches a caller if a person at a desk is free to look it up while the line is ringing.
The gap is worst exactly when it is most expensive. Trade calls cluster (a heat wave, a cold snap, the first hard rain of the season) and the days that generate the most inbound are the days the office is least able to absorb it. A missed call in February is a missed call. A missed call during the first 35-degree week is a replacement quote that went to a competitor.
After hours is the other half. A furnace fails at 9pm and the homeowner calls the first three numbers they find. Whoever answers has the job, and it is rarely decided on price.
None of this is a criticism of ServiceTitan. It is field service management software and it manages field service. It was never supposed to answer the phone, which is precisely why it now sells a product that does.
What does ServiceTitan's API actually allow?
Booking creation, appointment and job management, and, the part that matters most here, dispatch capacity and arrival windows. All appear by name in ServiceTitan's own module index. That last one is what lets a phone agent commit to a window rather than promise that somebody will call back.
Verified against the vendor's own API reference
| Capability | In ServiceTitan’s API | Endpoint |
|---|---|---|
| Create a booking request | Yes | CRM · Bookings |
| Create and manage appointments | Yes | JPM · Appointments |
| Create and read jobs | Yes | JPM · Jobs |
| Read dispatch capacity | Yes | Dispatch · capacity |
| Read arrival windows | Yes | Dispatch · arrival windows |
| Read and update customer records | Yes | CRM · Customers, Contacts |
Read from ServiceTitan developer portal: API module index on August 10, 2026. APIs change; this is what the index listed that day.
What that means for your build
This is the ceiling, not a description of every build. What a given contractor's agent uses is a scope decision made during onboarding, and for ServiceTitan the honest default is narrower than the API permits: most companies want the agent reading capacity and holding a window, with the dispatcher keeping final say over which truck takes it. Booking straight onto the board is available and some companies want it. We will tell you which we are building before we build it.
What it will not do
- Decide which technician should take a job. Skill, zone, drive time and who is already running late are dispatcher judgments, and an agent that overrides them creates the exact rework the phone was supposed to remove.
- Quote a repair price over the phone. Trade pricing depends on what is actually wrong, and a number invented on a call becomes an argument at the door.
- Diagnose the fault. It can capture the symptom precisely (no heat, breaker tripping, water at the base of the tank) which is what the tech needs to arrive with the right parts.
- Decide what counts as an emergency. That threshold is the contractor's and it goes in the config, not the model's judgment.
What does a trade call actually sound like at 9pm?
A homeowner with no heat, a question about price the phone must not answer, and a decision that gets made on whoever picks up. The useful thing an agent does here is commit to a window and capture the symptom well enough that the truck arrives with the right part.
An example call: composite, not a recording
A furnace stops on a Tuesday night in February. This is the highest-value inbound call a residential HVAC contractor gets, and it is the one most likely to reach voicemail.
- Caller
My furnace just quit. There's no heat at all and it's supposed to go to minus twenty tonight.
- Agent
That's an emergency call and I can get someone out tonight. First - is the thermostat showing anything, and have you checked whether the breaker's tripped?
Capturing the symptom, not diagnosing it. A tripped breaker and a dead board send a different truck with different parts. - Caller
Screen's blank. Breaker looks fine.
- Agent
Got it - I've logged that. I have a technician who can be there between 10:30 and midnight tonight. Does that work?
Dispatch capacity and arrival windows are both readable via the API, so this is a real window, not a hedge. - Caller
Yes. What's it going to cost?
- Agent
There's an after-hours call-out fee, and I'll have the office confirm the exact figure with you before the tech leaves - but I won't guess at the repair itself, because that depends on what he finds.
The refusal is the point. A repair price invented on the phone becomes a dispute on the doorstep at midnight, which costs more than the call was worth.
Booked into a real window with the symptom captured and the pricing question routed to a person, at 9:14pm, on a night when the office phone would otherwise have taken a message.
ServiceTitan publishes its own voice agent at a 90% booking rate capacity-adjusted and 70% overall - and the twenty points between those two numbers is every call where booking something was not the same as booking the right thing.
If your dispatcher spends the first hour of every morning unpicking what the phone booked overnight, that is the problem worth fixing, and it is not fixed by booking more.
Start free pilotQuestions ServiceTitan contractors ask
Sometimes you would not: if it books what you need booked, the bundled option is the cheapest path and we will say so. The reason to look further is the number ServiceTitan publishes itself: a 90% booking rate capacity-adjusted, and 70% overall, on their AI Voice Agent page read August 12, 2026. A bundled agent is measured on booking rate because that is the metric that justifies the add-on, and booking rate is the wrong target for a trade where the wrong job on the wrong truck costs more than a missed call. We build the agent around your capacity rules and your emergency threshold instead, which means it books less and creates less rework.
The API supports it. CRM Bookings, JPM Appointments and JPM Jobs all appear by name in ServiceTitan's module index, verified August 10, 2026. Whether your build writes onto the board or holds a window for the dispatcher to confirm is a scope decision, and for multi-truck companies we usually recommend holding, because a dispatcher rebuilding a route around a badly-placed booking loses more time than the call saved.
Yes, and this is the single most useful thing ServiceTitan's API exposes that most phone systems never touch. Dispatch capacity and arrival windows are both readable, so the agent can offer a real window rather than the industry-standard promise that somebody will call back to schedule. Callers accept a window. They do not wait by the phone for a callback.
It hands off, and the threshold is yours rather than ours. Gas smell, water actively flooding, anything you have decided is a live-person call: those route immediately, with everything already captured so the person picking up is not starting from nothing. The agent is also configured to refuse repair pricing outright, because a number given on the phone becomes a dispute at the door.
Call it at 9pm and see what it books
The free pilot is about fourteen days to a working line with no call limit. Describe a dead furnace, then push it on price and listen to where it stops; that refusal is the part that decides whether an agent belongs on your phone.
Start free pilotLast updated .