Should a plumbing company build custom dispatch software or buy ServiceTitan?
Almost never replace the board of record. Buy ServiceTitan, Housecall Pro, Jobber or whatever you run, then have us build the automation and custom integration layer it does not cover.
Answered in short
5 things that decide this
- 01A plumbing or electrical company should almost never replace its field-service management platform. Buy ServiceTitan, Housecall Pro, Jobber or whatever you already run, and keep it as the board of record.
- 02The right move is a custom layer written into that board: intake and a triage table, capacity-aware booking, permit and inspection tracking, quote follow-up, and rollup reporting across brands.
- 03A full custom build only earns its cost for a specific shape of company: a multi-brand rollup consolidating several shops, a workflow the FSM genuinely cannot express, or a business still running on a spreadsheet or a home-grown system with no vendor behind it.
- 04Housecall Pro and Jobber expose booking through published APIs. ServiceTitan needs developer-program API access plus the tenant's own credentials, confirmed for your account during the audit.
- 05Custom means built for your board, not switched on from a settings menu. It gets maintained after launch, and the first two months of that support and maintenance are free.
Why the platform wins for almost everyone
ServiceTitan, Housecall Pro, Jobber, FieldEdge and Service Fusion, or whatever you run, have spent years solving the boring parts a shop actually needs. Technician GPS, part inventory, price books, payment capture, membership billing, QuickBooks sync. Rebuilding that from scratch takes years a shop's margin cannot carry. It also produces software that is worse than what already exists.
The board of record is the single source of truth for jobs, customers, technician schedules and invoices. Owner-operators, service managers and CSRs already know how to work it. Ripping it out resets that muscle memory for every dispatcher and apprentice on the team. The rebuild still has to catch up to years of platform maturity.
So the honest starting position is: keep the platform, and ask a narrower question. What does it not do for your shop, and is the gap worth closing with a custom layer.
The gaps the platform leaves for you to build
Every FSM ships a general job-management core. It does not ship a triage table tuned to your dispatch rules. It does not check real capacity before promising a slot, and it does not track permits and inspections against your city's requirements. Those gaps are where a custom layer on top of the board pays for itself.
- 01Intake and triage table: a burst pipe, a sewer backup and a dripping faucet get sorted by written rules, not by whichever CSR picks up. A no-power call and a tripped breaker sort the same way on the electrical side.
- 02Capacity-aware booking: a slot only gets offered after a real check against technician skill, licence class, truck stock and drive time, not the first open-looking window on the calendar.
- 03Permit and inspection tracking: rough-in and final inspection dates, backflow test renewals, panel-upgrade permit pulls, all tracked against the job so nothing sits waiting on a forgotten call to the city.
- 04Quote follow-up: an estimate for a repipe or a service upgrade that nobody chases becomes a job for the next shop. A custom follow-up sequence catches it.
- 05Review requests: a completed job triggers an ask at the moment satisfaction is highest, tied to the actual job record instead of a generic blast.
- 06PE-rollup reporting: a platform-backed group running several brands on separate FSM instances needs one dashboard that rolls call volume, booking rate and revenue up across all of them. No FSM does that natively across tenants.
The narrow case for replacing the platform
Three situations make a full custom build the right call instead of a layer on top. First, a multi-brand rollup where several acquired shops each arrive on a different FSM. Consolidating onto one platform can cost more in licensing and retraining than building one system that serves every brand. Second, a workflow the FSM genuinely cannot express: a pricing structure, a dispatch rule or a compliance record no configuration screen reaches. That gets confirmed by checking the platform's actual settings and API surface, never assumed from a demo.
Third, a business already centered on a spreadsheet or a home-grown ERP with no FSM behind it at all. There, the comparison is not custom versus ServiceTitan. It is custom versus adopting a platform for the first time. Either can be the right answer, depending on how far the spreadsheet has already been stretched to do a platform's job.
Outside those three, replacing a working FSM to fix a triage or reporting gap is solving the wrong problem at the wrong cost.
Where each option actually fits
| Criterion | Buy and run as-is | Buy, build a layer on top | Full custom build |
|---|---|---|---|
| Job, technician and invoice management | Covered out of the box. | Unchanged, stays on the platform. | Rebuilt from scratch. |
| Triage and capacity-aware booking | Generic rules only. | Built to your dispatch logic. | Built to your dispatch logic. |
| Permit, inspection and multi-brand reporting | Not covered. | Added as a layer, written back to the board. | Native to the system. |
| What has to be built | Nothing. | The layer only, scoped to the gap after the audit. | The whole system, then tested against every role. |
| Team retraining | None. | Minimal, same board. | Full retrain across every role. |
| Right for | Single-brand shops with standard workflows. | Most shops with one real operational gap. | Multi-brand rollups or a workflow no FSM expresses. |
- IntakeCall, text or web form, triaged by rule
- Capacity checkReal technician availability, not a guess
- BookingSlot confirmed, written back to the FSM
- Permit and inspection trackingDates and renewals tied to the job record
- Rollup reportingOne dashboard across every brand's FSM
The board of record stays the same. Everything above it is what a custom layer adds.
What each platform's API actually needs from you
Housecall Pro and Jobber expose booking, customer and job data through published APIs a custom layer can write to directly. Building against either is mostly integration work: matching customers, creating jobs in the shop's own job-type structure, and handling the platform's own auth flow.
ServiceTitan is different. It needs developer-program API access, granted per tenant, plus the shop's own credentials, never a shared key across clients. That access gets confirmed during the audit, not assumed from a sales deck. A custom layer for a ServiceTitan shop has to register as its own developer organization. The shop's admin then approves the connection. ServiceTitan does not allow one app to run on a client's key on another vendor's behalf.
None of this changes the recommendation. It changes the order: confirm access first, scope the layer second, build third. A shop on FieldEdge, Service Fusion, an older FSM or a spreadsheet goes through the same sequence. Only the starting API surface changes. Sometimes there is none at all.
Some of the systems we have shipped
Related questions
01Can a custom layer sit on top of ServiceTitan without replacing it?+
Yes. The layer reads and writes through ServiceTitan's developer-program API using the shop's own tenant credentials. ServiceTitan stays the board of record for jobs, technicians and invoices. Nothing about the core platform changes.
02What does a triage table actually sort on for plumbing and electrical calls?+
Burst pipe, sewer backup and no-hot-water sort ahead of a routine fixture install on the plumbing side. No-power, a hot panel or a burning smell sort ahead of a flickering-light call on the electrical side. The order is a written rule your dispatcher sets, not a guess made call to call.
03Does Housecall Pro or Jobber make a custom layer easier to build than ServiceTitan?+
The access itself is simpler. Both expose booking through a published API without ServiceTitan's tenant-approval process. The scope of what a custom layer has to build, triage, capacity checks, permit tracking, stays the same regardless of the platform underneath it.
04Is PE-rollup reporting across brands something ServiceTitan or Housecall Pro provides natively?+
No. Each platform reports within its own tenant. A rollup running several brands on separate instances needs a custom reporting layer instead. It pulls from each platform and rolls the numbers up in a single view.
05What happens to support after a custom layer goes live?+
The first two months of support and maintenance after launch are free. After that, the layer is maintained the way any production software is, with fixes and changes as the shop's dispatch rules or permit requirements change.
Related
- Trades and field service software →What we build for plumbing operations.
- Can an AI receptionist book into ServiceTitan →ServiceTitan's access model, in full.
- Should an AI receptionist handle emergency calls →The triage question, answered in full.
- AI agent development →Custom agents built into your existing systems.
- Voice AI agent development →Phone agents that book and escalate into your board.

