Hashlogics
Answers

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
When buying is right

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.

When a custom layer beats switching

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.
When a full custom build is right

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.

Build vs buy vs replace

Where each option actually fits

CriterionBuy and run as-isBuy, build a layer on topFull custom build
Job, technician and invoice managementCovered out of the box.Unchanged, stays on the platform.Rebuilt from scratch.
Triage and capacity-aware bookingGeneric rules only.Built to your dispatch logic.Built to your dispatch logic.
Permit, inspection and multi-brand reportingNot covered.Added as a layer, written back to the board.Native to the system.
What has to be builtNothing.The layer only, scoped to the gap after the audit.The whole system, then tested against every role.
Team retrainingNone.Minimal, same board.Full retrain across every role.
Right forSingle-brand shops with standard workflows.Most shops with one real operational gap.Multi-brand rollups or a workflow no FSM expresses.
The layer on top of the boardLive
  1. IntakeCall, text or web form, triaged by rule
  2. Capacity checkReal technician availability, not a guess
  3. BookingSlot confirmed, written back to the FSM
  4. Permit and inspection trackingDates and renewals tied to the job record
  5. 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 the integration honestly requires

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.

Questions, answered
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.

Written by Abdul Basit, CEO, HashlogicsVerified
Start

Let’s deploy working AI into your business.

We build AI agents and automation, ship them into the tools you already run, then stay on under an agreed service level. A senior engineer reads every brief, and your call gets scheduled within 24 hours.

What happens next

  1. 01

    You send a brief or book a call

    Two minutes, whichever you prefer.

  2. 02

    A senior engineer replies within 24 hours

    Not a sales rep.

  3. 03

    Honest scoping, in writing

    And if we’re not the right fit, we say so.

Abdul Basit, CEO of Hashlogics

“I started Hashlogics because too many teams ship a demo, get paid, and disappear. We build to a standard we’d run ourselves — and we stay to keep it running.”

Abdul Basit · CEO · a direct line

Not ready to talk? Take the checklist.

12 questions to ask any AI agency before you sign. They separate a demo shop from a team that ships to production.

Get the checklist

Free · no newsletter