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 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?

When a custom layer beats switching

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.
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 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.

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 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.

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

By Abdul Basit, CEO, HashlogicsUpdated
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