ServiceTitan
HVAC, plumbing, and electrical business software
What ServiceTitan does
ServiceTitan is an operating platform for commercial and residential trades businesses. It combines call booking, dispatch, job management, sales, invoicing, reporting, and add-on products like Scheduling Pro so larger service organizations can run their customer, field, and back-office workflows from one system.
Where ServiceTitan falls short
ServiceTitan is powerful once the operating workflow is defined, but it is not a full website or content platform. The native website path is centered on Scheduling Pro and booking flows, so teams still need an external website layer when they want richer SEO, tighter qualification logic, or more tailored pre-booking experiences.
How we set ServiceTitan up
On the native path, a homeowner uses Scheduling Pro on the website and ServiceTitan creates either a Job directly or a Booking that appears on the Calls > Bookings screen for a CSR to work. On the custom path, the website uses ServiceTitan's client-credentials OAuth flow to obtain an access token, then calls the REST API with the tenant ID and app key. A typical implementation creates or reuses the Customer and Location first, sends the intake into Booking or Lead when office follow-up is still needed, and books a Job when the workflow is ready to commit. That means the website handoff lands as a real ServiceTitan record instead of a generic email lead sitting outside dispatch and CSR workflows.
Integration method: rest-api
What ServiceTitan already owns
ServiceTitan is an operating platform for commercial and residential trades businesses. It combines call booking, dispatch, job management, sales, invoicing, reporting, and add-on products like Scheduling Pro so larger service organizations can run their customer, field, and back-office workflows from one system.
Primary users: CSRs, dispatchers, office managers, sales managers, service managers, and operators at trades businesses
Typical fit: Mid-market to larger residential and commercial trades businesses with dedicated office, dispatch, and field teams
Core functions
- Book calls and create bookings
- Dispatch technicians and manage appointments
- Create and manage jobs
- Manage customers and service locations
- Run estimates, invoices, and payments
- Track reporting and operational performance
- Support online scheduling through Scheduling Pro
- Coordinate projects, memberships, and field workflows
What still has to happen around ServiceTitan
ServiceTitan is powerful once the operating workflow is defined, but it is not a full website or content platform. The native website path is centered on Scheduling Pro and booking flows, so teams still need an external website layer when they want richer SEO, tighter qualification logic, or more tailored pre-booking experiences.
It does not replace a full marketing site, CMS, or content engine for organic search and answer-engine visibility.
Native website capability is strongest inside Scheduling Pro, not as a broad no-code landing-page builder.
Complex custom intake experiences often still require an external site or custom widget before data enters ServiceTitan.
API implementation requires app creation, tenant setup, client credentials, tenant IDs, and app keys rather than a simple self-serve API key model.
Public webhook documentation is incomplete for new implementations because current subscriptions are restricted while V2 webhooks are still being developed.
Reviewers repeatedly call out setup complexity, learning curve, pricing pressure, and some workflows that still need manual workarounds or integration help.
Website and CRM integration surface
Native website path
ServiceTitan's native website path is Scheduling Pro, which can be installed on a customer-facing website and can also power a Book Online link on Google Business Profile. Depending on scheduler configuration, the customer experience can create a job directly or send a booking request back to the office for CSR follow-up.
Developer surface
- Public API
- Yes
- API style
- rest-v2
- Auth
- oauth2-client-credentials
- Webhooks
- Yes
- Rate limits
- Documented
- Sandbox
- Yes
ServiceTitan's default limit is 60 calls per second per application per tenant for most APIs. Reporting APIs are limited to 5 of the same report per minute per tenant.
Integration patterns that make sense
Native First
FitUse Scheduling Pro when the business wants online scheduling or booking requests inside ServiceTitan's own booking flow and can stay within the scheduler's configuration model.
A Scheduling Pro scheduler is installed on the website using its scheduler ID and data API key. The customer books online and the resulting record lands in ServiceTitan as either a job or a booking request depending on the scheduler setup.
Api First
LimitedUse the API-first path when the public website needs a more custom front-end, richer intake steps, or direct control over how bookings, customers, locations, and jobs are created.
A server-side integration obtains a short-lived ServiceTitan access token with the client-credentials flow, then calls V2 REST endpoints with the app key, tenant ID, and access token to create or update records.
Hybrid
FitUse a hybrid path when the company wants ServiceTitan as the system of record but needs a custom website layer to qualify intent before sending it into Scheduling Pro or the bookings API.
The website controls messaging, qualification, and routing, then passes the final structured payload into ServiceTitan through Scheduling Pro where it fits or through REST endpoints such as Bookings, Customers, Locations, Leads, and Jobs.
Data objects your stack has to preserve
Create
Booking, Customer, Location, Lead, Job, Task, Installed Equipment
Read
Booking, Customer, Location, Lead, Job, Appointment, Project, Task, Invoice, Membership, Installed Equipment, Scheduling Pro session
Update
Booking, Customer, Location, Lead, Job, Task, Installed Equipment
Who usually fits a ServiceTitan-centered website rebuild
Use this section to decide when ServiceTitan's online scheduler path is enough and when the website should qualify harder before it hands off through the REST API.
Best fit
- - Teams already running ServiceTitan as the system of record
- - Operators who need stronger qualification before data reaches ServiceTitan
- - Businesses that need a public site and intake flow shaped around field service demand
What operators complain about
- We are frustrated that the product has a steep learning curve because there is so much functionality to configure and understand.
- We are frustrated that onboarding and initial setup can be long, complex, and hard for smaller shops to absorb.
- We are frustrated that pricing is a recurring concern, especially for companies that feel they are paying enterprise-level costs for features they are still learning.
- We are frustrated that some workflows are still described as slow, clunky, or dependent on manual workarounds and external API help.
- We are frustrated that inventory and accounting-adjacent workflows are common areas where users say more polish is still needed.
- We are frustrated that reporting is powerful but some users still describe parts of it as restrictive or hard to configure without support.
Technical trust before you connect the stack
Native path
online scheduler
The website should only promise the ServiceTitan handoff paths that are publicly documented.
Auth model
OAuth2 Client Credentials
If a custom handoff is needed, authorization into ServiceTitan has to stay explicit and documented.
API surface
REST V2
ServiceTitan still has to compete with Housecall Pro, FieldEdge, Jobber while keeping the website handoff cleaner.
Auth: ServiceTitan's V2 APIs use OAuth 2.0 client credentials, not a user-by-user browser approval flow. The integration needs a tenant-specific client ID and client secret plus the app key and tenant ID, then it requests a short-lived access token from ServiceTitan's token endpoint.
Data flow: If the business uses Scheduling Pro, the website sends the customer through ServiceTitan's own booking experience and the resulting booking data lands directly inside the account. If the business uses a custom website flow, the site sends structured data to a backend integration that calls ServiceTitan's REST endpoints to create or update the right records.
Webhooks: ServiceTitan documents that existing webhook subscribers continue to receive webhook events, but new subscriptions to the current webhook version are restricted while V2 webhooks are being developed.
Security: Access is scoped through the app's configured API scopes and the tenant connection model. ServiceTitan explicitly warns customers not to share admin access or app credentials with third parties outside approved integration patterns.
Also in the evaluation set
If ServiceTitan is on the table, these adjacent systems usually come up too. Use the CRM Scorecard to decide whether you need a horizontal CRM, a vertical operating system, or a cleaner connection between both.
ServiceTitan by industry
How ServiceTitan gets configured for specific operating patterns.
appliance-repair
We keep getting repair requests, but the website still hides the appliance, brand, and warranty context until after the callback starts. When same-day failures and warranty work hit the same handoff,
See the setupasphalt-paving
We keep getting vague paving inquiries with no clue how big or urgent the job is. When patching, maintenance, and resurfacing requests all hit the same handoff, estimate time leaks before a usable Ser
See the setupauto-detailing
We get a dozen pricing requests, but the website still leaves the office guessing what kind of vehicle and condition just came in. When standard details, ceramic-coating consults, and low-fit cleanup
See the setupAV-installation
We keep getting project inquiries, but the website still makes every service call and theater consult look the same. When urgent service work and planned installs hit the same handoff, sales time leak
See the setupchimney
We get buried during the fall rush, but the website still sends every sweep, leak, and rebuild inquiry through the same handoff. When low-ticket sweeps and higher-value repair work hit the same queue,
See the setupcommercial-cleaning
We keep getting 'need cleaning' messages, but the website still skips building type, frequency, and scope. When one-time cleanups, recurring janitorial work, and multi-site inquiries hit the same hand
See the setupcommercial-equipment
We keep getting equipment service requests, but the website still hides the asset, site, and urgency until after the callback starts. When critical downtime and preventive-maintenance inquiries hit th
See the setupconcrete-epoxy
We lose jobs because I'm on the grinder and cannot answer the phone, and our website just sends us tire-kickers who want a cheap paint job instead of a professional flake system. When the residential
See the setupdeck-building
We get spring demand, but the website still makes us call back just to learn whether this is a new build or a tiny repair. When full deck projects and low-fit fixes hit the same handoff, estimator tim
See the setupelectrical
We keep running into this problem: an emergency panel call and a remodel quote land in the same booking queue. The electrician is on a job site, the CSR is juggling dispatch, and that callback delay l
See the setupenergy-contractors
We keep getting solar and electrification inquiries with almost no property or project detail. When residential solar, commercial energy, storage, and EV requests all hit the same vague contact path,
See the setupexcavation-grading
We're getting excavation inquiries, but the website still does not tell us what kind of site work this actually is. When grading, trenching, and pad-prep requests hit the same handoff, estimator time
See the setupfence-installation
We're wasting gas driving out to give free quotes to tire kickers who have zero budget, while the real jobs slip through the cracks because we take too long to type up the estimate and follow up. That
See the setupfire-and-security
We keep getting website inquiries, but the site still hides whether this is inspection work, a service fault, or a sales request. When urgent system issues and planned projects hit the same handoff, r
See the setupgarage-door
We spend a fortune on Google LSA and PPC, but our website doesn't convert, and by the time we call form fills back, they've already hired someone else. When the emergency repair request hits a slow we
See the setupgeneral-contractors
We keep calling people back just to figure out what kind of project they even want. When kitchen remodels, deck builds, and broad commercial inquiries all hit the same handoff, estimator time leaks be
See the setupglass-repair-installation
We keep getting glass requests, but the website still makes broken-glass emergencies and measured quotes look the same. When board-up work and planned installs hit the same handoff, response time leak
See the setupgutter-cleaning
We are buried in leaves from October through November; the phone rings off the hook while we are on ladders, and we lose at least half our requests to voicemail because we cannot safely answer while b
See the setupholiday-lighting
We get overwhelmed with requests the week of Thanksgiving, but half of them expect us to hang the tangled lights they bought at Home Depot for $200. When the residential holiday lighting hits a slow w
See the setupHVAC
We keep running into this problem: when it gets hot or cold, the phones explode and the website inquiries that should be easy money get buried. When emergency and replacement intent hit a weak handoff
See the setupirrigation
We get crushed during startup and blowout season, but the website still makes every irrigation request look the same. When leaks, seasonal service, and install opportunities hit the same handoff, rout
See the setupjunk-removal
We keep seeing the same leak: the site sends vague pickup requests with no photo proof, no real volume estimate, and no clue whether the customer wants same-day help or a planned cleanout. That quote
See the setuplandscaping
We keep running into this problem: the website collects generic estimate requests but not enough job context to prioritize serious landscaping work versus low-fit price shoppers. The owner is driving
See the setuplocksmith
We pay for urgent demand, but the website still sends every lockout, rekey, and commercial access request into the same handoff. When emergency jobs and planned work hit the same queue, response time
See the setupmechanical-contractors
We keep mixing replacement opportunities with routine service requests. When repair, replacement, and maintenance demand all hit the same intake, the office does manual triage that the website should
See the setupmold-remediation
We keep losing emergency mold calls to the national franchises because our website doesn't answer the phone at midnight, and by morning the customer already hired someone who picked up on the first ri
See the setupmoving-company
We keep getting move inquiries, but the website still hides the date, distance, and inventory behind a vague message. When last-minute moves and planned quotes hit the same handoff, booking time leaks
See the setuppainting
We get website requests but half the time we drive across town and the homeowner just wanted a ballpark number, or they are comparing us against three other bids and we had no chance. Our estimators a
See the setuppest-control
We keep running into this problem: an emergency bed bug call and a routine quarterly request land in the same booking queue. The office gets buried in spring swarm season, callbacks take four hours in
See the setupplumbing
We keep running into this problem: emergency plumbing calls and estimate requests land in the same queue and nobody knows which one is the burst pipe until a CSR calls back. When the callback takes tw
See the setuppool-service
We need the website to tell us if this is a good route-fit service account or just another one-off problem call. When weekly service and green-pool repairs hit the same handoff, route time leaks befor
See the setuppressure-washing
We get quote requests, but most of them are missing the details we need to price the job without chasing people down. When residential and commercial cleaning work hit the same handoff, quoting time l
See the setupproperty-management
We keep getting maintenance requests, but the website still sends them without enough property detail to know who should handle them first. When tenant issues, owner questions, and new management inqu
See the setupremodeling
The site gets inquiries, but too many are the wrong jobs and the right projects are not qualified before they hit our calendar. When kitchen, bath, addition, and lower-fit repair requests hit the same
See the setuproofing
When weather hits, the site floods us with inspection requests but half of them are missing the details we need to move fast. Storm and inspection demand bleeds fast when the website handoff is thin.
See the setupseptic
We keep getting septic requests, but the website still makes every backup, pump, and inspection look the same. When emergencies and routine service hit the same handoff, response time leaks before a r
See the setupspecialty-trades
We keep making customers explain the same problem twice because the site captured almost nothing useful. When urgent plumbing, electrical, and HVAC requests hit the same generic queue as planned quote
See the setuptree-service
We keep running into this problem: the good tree requests need fast triage, but the website dumps everything into the same inbox with almost no usable detail. When emergency removals and routine pruni
See the setuputility-contractors
We keep getting generic messages that do not tell us whether the sender is a buyer, partner, or job seeker. When bid invites, capability questions, and partner requests all land in the same inbox, the
See the setupwater-damage-restoration
We waste thousands of dollars a month on Google Ads because people click our site, get confused, and call a national franchise instead. When the emergency water mitigation hits a slow website handoff,
See the setupwindow-cleaning
We're drowning in voicemails while we're up on ladders, and by the time we get down to call back, the request already hired someone else who answered first. That handoff leak costs bookings before the
See the setupNot sure if ServiceTitan is the right fit?
The CRM Scorecard surfaces what your team actually needs from a CRM before you commit to one.
Take the CRM Scorecard