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 your shop needs. Technician GPS, part inventory, price books, payment capture, membership billing, QuickBooks sync. Rebuilding that from scratch takes years your margin can't carry, and it usually produces software that's worse than what already exists.
Your board of record is the single source of truth for jobs, customers, technician schedules and invoices. Your 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 doesn't it do for your shop, and is that 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 doesn't ship a triage table tuned to your dispatch rules. It doesn't check real capacity before promising a slot, and it doesn't track permits and inspections against your city's requirements. Those gaps are where a custom layer on top of your 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 your electrical side.
- 02Capacity-aware booking: you only offer a slot 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. Your custom follow-up sequence catches it instead.
- 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: if you're running several brands on separate FSM instances, you need 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 you more in licensing and retraining than building one system that serves every brand. Second, a workflow your FSM genuinely can't express, like a pricing structure, a dispatch rule or a compliance record no configuration screen reaches. You confirm that by checking the platform's actual settings and API surface, never by assuming it from a demo.
Third, your business might already be centered on a spreadsheet or a home-grown ERP with no FSM behind it at all. There, the comparison isn't custom versus ServiceTitan. It's custom versus adopting a platform for the first time. Either can be right, depending on how far your 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 solves 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 your custom layer can write to directly. Building against either is mostly integration work: matching customers, creating jobs in your 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 your own credentials, never a shared key across clients. You confirm that access during the audit, not from a sales deck. A custom layer for a ServiceTitan shop has to register as its own developer organization, and your admin then approves the connection. ServiceTitan doesn't allow one app to run on a client's key on another vendor's behalf.
None of this changes the recommendation, only the order: confirm access first, scope the layer second, build third. If you run FieldEdge, Service Fusion, an older FSM or a spreadsheet, you go through the same sequence. Only the starting API surface changes, and sometimes there's 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. Your layer reads and writes through ServiceTitan's developer-program API using your own tenant credentials. ServiceTitan stays the board of record for jobs, technicians and invoices, and 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. It's 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. What your custom layer has to build, though, like triage, capacity checks and 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, so a rollup running several brands on separate instances needs a custom reporting layer instead. It pulls from each platform and rolls the numbers up into a single view.
05What happens to support after a custom layer goes live?+
Your first two months of support and maintenance after launch are free. After that, the layer gets maintained the way any production software is, with fixes and changes as your dispatch rules or permit requirements change.
Related
- Plumbing and electrical dispatch automation →What we build for plumbing and electrical dispatch.
- How to automate plumbing and electrical dispatch with AI →The full intake-to-write-back flow, in detail.
- Can an AI receptionist handle no-power calls for an electrical contractor →The same access model question, on the electrical side.
- AI agent development →Custom agents built into your existing systems.
- Voice AI agent development →Phone agents that book and escalate into your board.
- Plumbing and electrical hub →Every stage from intake through sales, dispatch and retention.

