Problems & solutions · Field Service Management

Utility Crew Callout and Dispatch Problems: The 5 That Cost Real Money, and How to Avoid Them

Utility Crew Callout AND Dispatch Software workflow illustration showing common problems and fixes.
The short answer

The single most expensive failure in a callout system is one that records what happened without being able to replay it. Six months after a storm an employee files a grievance saying he was skipped, and unless you can reproduce the ordered list exactly as it stood that night, the rule set in force, every contact attempt with its channel and timestamp, and every decline and no answer, you settle. That settlement is paid at the overtime rate for hours nobody worked, it happens several times a year at most utilities, and it is treated as the cost of doing business. A first release that fixes it runs $70,000 to $140,000 over 12 to 16 weeks in Digital Heroes delivery experience.

Why does the rules engine get hard coded to the current agreement?

It happens because the requirements document is written from today's contract. Somebody transcribes the callout article, a developer reads it as a specification, and the ordering logic gets built into the code that walks the roster. It works, it demonstrates well, and it is obsolete at the next round of bargaining.

The reason this is uniquely damaging in utilities is that your contract is the specification and it is yours alone. Whether equalisation counts hours offered or hours worked. Whether the accumulator resets annually or rolls. Whether a no answer counts the same as a decline. How long the phone rings before it becomes a no answer. Whether an employee on vacation is charged. Whether the list is ordered by district first or classification first. What happens when a district list is exhausted. Whether a supervisor can skip the list in a genuine emergency, and what documentation that requires. Every one of those is a clause with a grievance attached, and two locals inside the same utility can answer them differently.

The fix is architectural and you can insist on it before signing. Model the callout list as an ordered query over the roster with pluggable criteria, meaning classification, district, accumulator value, availability status and qualification set, then express your clauses as configuration on top. Hand three of your strangest clauses to any prospective developer and ask them to show you how the engine expresses them. If the demonstration involves changing code, you are buying a system that expires when your agreement does.

What goes wrong with roster and overtime accumulator data?

The rules engine is only as good as the roster underneath it, and the roster is the part nobody scopes properly. It has to know classification, district, qualifications and certifications with expiry dates, standby status, leave, restricted duty, and the accumulated overtime figure that determines position on the list. Most of that lives in a human resources (HR) system that was never designed to answer a question at 11pm.

Two failures recur. The first is staleness: a nightly feed means an employee who went on leave this morning gets called tonight, or an apprentice who topped out last week is still ordered as an apprentice. The second is the accumulator itself. Hours flow from payroll, payroll closes on its own cycle, and the number the dispatcher sees during a storm can be a fortnight behind the number that will be used to judge the callout afterwards. That gap is where grievances are born, because the list was correct against the data available and wrong against the data of record.

Fix it by deciding explicitly which system owns each field and writing it down. Take roster attributes from human resources on a frequent feed with a change log, but compute and hold the accumulator in the callout system itself, incrementing it from callout events as they happen and reconciling to payroll on a schedule with a variance report. Then freeze the accumulator value used in every callout alongside the event, so the question later is not what the number is now but what it was at 11.04pm.

Why do telephony and outage management integrations break after launch?

Callout depends on a telephone network during precisely the conditions that degrade telephone networks. Regional storms take down cell sites, carriers throttle, and voice paths that were reliable in testing behave differently when a hundred simultaneous calls go out to one exchange. A system that assumes the provider is up is worse than a phone tree, because the dispatcher trusts it and stops dialling.

The prevention is multi channel from the start, with voice, text message and application push all instrumented, every attempt recorded with the channel it used, and a retry queue that survives a provider being unavailable for twenty minutes. Voice matters more than people expect. At 2am a ringing phone wakes someone and a push notification does not, so voice degrading gracefully is not a nice extra.

The outage management integration breaks differently. It usually works, then a vendor upgrade changes an interface, or the crew count the system requests turns out to be derived from predicted devices rather than confirmed ones and starts asking for crews that are not needed. Because outage platforms from Schneider, Oracle, GE and Survalent each expose different interfaces with different operational sensitivity, this is real engineering per utility rather than a connector you switch on. Nightly contract tests against each endpoint, alerting a named person, turn a vendor upgrade into a Tuesday morning ticket rather than a discovery made at hour three of an event.

What happens when mutual assistance and fatigue tracking are left out?

Almost every callout project scopes the roster and the phone calls and defers mutual assistance to phase two. Then fifty trucks arrive on a Sunday from three states away and the system that just cost you six figures has nothing to say about them.

The costs of running that on whiteboards land later and they are specific. Assignments given verbally that nobody recorded, so crews sit idle for hours when their guide is reassigned. Qualifications and clearances tracked on a printed sheet. And an invoice reconciliation weeks afterwards where a contractor's hours match nothing you can verify. If your storm costs go into a regulatory cost recovery filing, that reconciliation is the difference between recovering the money and absorbing it.

Fatigue is the other deferred item and it is the one with a safety consequence. Hours worked and rest taken per employee has to be visible in the storm room while decisions are being made, not reconstructed in March. Where crews operate commercial vehicles, hours of service rules and the utility service vehicle provisions apply, and emergency declarations can change what is permitted during a restoration. Your safety and legal teams make those determinations. The system's job is to hold real numbers so the determination is made from data rather than from a guess.

The fix is to scope both as thin slices in release one rather than as full modules later: incoming crew records with qualifications and a daily time capture, and an hours-worked counter with a threshold alert. Both are small. Both are unrecoverable if the storm arrives first.

Should you build custom or configure what you already own?

If your contract language fits a product's rules model reasonably well and what you need is reliable automated callout with a defensible log, buy ARCOS. It is the established product in this exact category, it does callout, roster rules, crew manager and mutual assistance, and there is no prize for building what you can buy. Configure it properly, integrate it once, and spend the difference on line crews.

If you already run Clevest for field mobility and switching, keep it there. Union callout is not its centre of gravity and it complements rather than replaces this workflow. If you are mid way through an IFS deployment across the utility, look at what its scheduling can express before opening a separate project, because an enterprise platform you are already implementing is a cheaper place to configure rules than a new one is to buy.

Build when the signals stack up: multiple bargaining units with genuinely different callout language, grievance settlements you cannot defend, mutual assistance running entirely on whiteboards, storm cost filings reconstructed after the fact, or dispatchers who already work around the tool you bought. That last one is decisive. Once dispatchers work around the system during a storm, it has stopped being the record.

How do hidden costs get into the quote?

Bargaining units are the largest and the least visible. A quote written against one agreement prices one rule set. Two locals with materially different language is close to two engines, because the test surface doubles and every ambiguity has to be resolved twice with two sets of stewards. Ask for the price per additional agreement in writing.

Telephony reliability engineering is the second. Multi channel delivery, retry queues, failover between providers and a load profile that assumes four hundred simultaneous contacts is work that does not appear in a demo and does not appear in a thin proposal either.

After that: integration with human resources and payroll, which is rarely as simple as a roster export; each outage management platform interface; and the storm-mode load testing that proves the system behaves when it is finally needed. Watch also for the go-live date. A launch scheduled inside your storm season quietly imports a large contingency into the project, because nobody will accept the risk and the date will move.

What separates a build that works from one that fails here?

Ask one question first: how would you answer a grievance filed six months after a storm. If the reply does not involve replaying the frozen list and rule set as they stood that night, the system will not defend you and you will keep settling.

Then ask what happens when the telephony provider degrades during a regional event. You want fallback channels and queued retries described in concrete terms, not reassurance about uptime.

Then check the operating model. Build for one bargaining unit and one district's storm process first, prove it in a real event, and expand from there. Plan the go live for the quietest month you have, and run the old process alongside the new one through the first event rather than betting the storm on a cutover.

Finally, settle ownership in writing before kickoff, covering the repository, the database and the cloud accounts. Callout logs are labour relations evidence and storm cost data supports regulatory filings, so neither can sit in an environment you do not control. A concrete next step: pull the last three grievances you settled, and ask a candidate developer to show you exactly which fields their system would have captured that would have changed the outcome.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. PTC identifies the leading causes of failed first visits as parts unavailability (the single most-cited complaint, named by 51% of field service executives), technicians lacking the required equipment or skills, and insufficient time allocated to the job - making parts logistics and skills-based dispatch the highest-leverage fixes. Source: PTC (2023) →
  2. Mordor Intelligence sizes the field service management market at USD 6.26 billion in 2026, forecasting USD 9.87 billion by 2031 at a 9.54% CAGR, confirming sustained double-digit-adjacent demand for FSM software. Source: Mordor Intelligence (2026) →
  3. One in four US employees report lacking career advancement opportunities; 48% of employees who participated in mentorship programs report high job satisfaction versus 29% of non-participants, and access to advancement opportunities ranges from 33% at organizations under 10 employees to 74% at those with 1,000+. Source: Gallup (2025) →
  4. 48% of private companies cite integration with legacy systems or technical debt as a top obstacle to realizing the full value of their digital and AI investments (behind data quality/availability at 72% and gaps in AI fluency or technology talent/leadership at 53%). Source: Deloitte (2026) →
Naomi B. · Senior Account Director · Enterprise · New York

Naomi runs enterprise accounts, which means procurement cycles, security reviews, multiple stakeholders and a scope that shifts as it climbs the org chart. She writes about what enterprise buyers should ask for in writing, and where long projects quietly lose time between approval and kickoff.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How do we know if a callout system can survive our next round of bargaining?
Hand the developer three of the strangest clauses in your current agreement and ask them to show how the engine expresses them. If the demonstration involves editing code rather than configuration, the system expires when your contract does. The structure you want is an ordered query over the roster with pluggable criteria for classification, district, accumulator value, availability and qualifications, with your clauses layered on top as data.
Should the callout system or payroll own the overtime accumulator?
The callout system should compute and hold it, incrementing from callout events as they happen, and reconcile to payroll on a schedule with a variance report. Payroll closes on its own cycle, so a figure pulled from it during a storm can be a fortnight behind the figure used to judge the callout afterwards. That gap is where grievances start, because the list was right against the data available and wrong against the data of record.
What roster data actually has to be current at 11pm?
Classification, district, qualifications and certifications with expiry dates, standby status, leave and restricted duty. A nightly feed means someone who went on leave this morning gets called tonight and an apprentice who topped out last week is still ordered as an apprentice. Decide which system owns each field, write it down, and take the attributes on a frequent feed with a change log so a dispatcher can see when something last changed.
Why is voice calling still necessary when everyone has the app?
Because at 2am a ringing phone wakes someone and a push notification does not. Multi channel means voice, text message and app push all instrumented, with every attempt recorded against the channel it used and a retry queue that survives a provider being unavailable for twenty minutes. A system that depends on one telephony path is worse than a phone tree, because the dispatcher trusts it and stops dialling.
Can mutual assistance wait until phase two?
Only if you are certain the next big storm will too. Scope a thin slice into release one instead: incoming crew records with qualifications and clearances, a staging and guide assignment, and daily time capture. That is small work, and it is what stops crews sitting idle for hours and stops the contractor invoice reconciliation becoming a six week argument. Time captured at the source is also worth far more in a storm cost recovery filing than time reconstructed months later.
Does the callout system need to integrate with our outage management platform on day one?
No, and release one is usually stronger without it. The value arrives later, when predicted devices and affected customer counts drive how many crews you need and where, assignments flow out with the job, and restoration progress updates without radio traffic. Because Schneider, Oracle, GE and Survalent each expose different interfaces with different operational sensitivity, treat it as real engineering scoped separately rather than as a connector you switch on.
We already own ARCOS. What would justify building instead?
Multiple bargaining units with genuinely different callout language, grievance settlements you cannot defend from your current records, mutual assistance running entirely on whiteboards, or storm cost filings reconstructed after the fact. The decisive signal is dispatchers working around the tool during an event, because once that starts the product has stopped being the record whatever the reports say. Short of that, configure what you own and spend the money on crews.
When should we schedule go live?
The quietest month you have, and never inside storm season. Run the old process alongside the new one through the first real event rather than betting a storm on a cutover, and expect the first event to produce a list of small rule corrections your stewards will want made. A launch date set inside storm season usually moves anyway, and the contingency for that risk gets priced into the project whether or not anyone names it.
What features should the first version of a custom field service app include?
Version one needs the daily loop and nothing else: job creation, a drag-and-drop dispatch board, a technician mobile app that works offline, photo and signature capture, and invoicing that reaches your accounting system. Customer portals, route optimization, inventory, and reporting dashboards belong in phase two. The test for every feature is whether a dispatcher or technician touches it every day; if not, cut it.
Who owns the code when an agency builds our field service software?
You should own it outright, and the contract must say so: source code, designs, documentation, and every account (hosting, app stores, domains) registered to your company rather than the agency's. Work-for-hire terms with ownership transferring on payment are standard at reputable agencies, and it is how Digital Heroes contracts every build. Walk away from any proposal where you license the platform instead of owning it, because that recreates the vendor lock-in you were leaving ServiceTitan to escape.
At what point does it make sense to switch from ServiceTitan to custom software?
The switch usually pencils out once your ServiceTitan bill passes roughly $75,000 a year and your team still maintains workaround spreadsheets beside it. ServiceTitan keeps pricing quote-only, and the quotes owners share in Digital Heroes scoping calls run several hundred dollars per technician per month on annual contracts, so a 30-technician shop can spend a full custom build's budget every 12 to 18 months in fees. If ServiceTitan fits your workflow cleanly, stay; the case for custom is a workflow the product forces you to bend.
How much would it cost to build something like ServiceTitan just for my company?
A true ServiceTitan clone would cost millions and you do not need one, because companies that bring this request to Digital Heroes typically use 20 to 30 percent of its features. Building that slice, shaped to your exact dispatch board and technician day, runs $80,000 to $200,000 depending on offline requirements and integrations. The field service builds that succeed copy a workflow, not a product.
How many people should be working on my software project?
Three to five for a typical focused build: a project lead, one or two engineers, a designer, and part-time QA, which is the standard shape across 2,000+ Digital Heroes projects. Larger platforms justify 6 to 10, but a ten-person team on a small first version usually signals bill padding rather than horsepower. What predicts success is whether a senior engineer is writing your code daily, not the headcount on the proposal.
What tech stack should a custom field service platform be built on?
The dependable 2026 stack is React Native or Flutter for the technician app, React for the dispatch console, Node.js or Python on the backend, and PostgreSQL with an offline sync layer on the device. Boring, widely used technology wins here because any competent team can maintain it five years from now. Be wary of an agency proposing a stack only they can staff; that is a lock-in strategy, not an engineering decision.
What should I have ready before I contact a development agency about field service software?
Bring your current workflow, not a feature list: how a job moves from first call to paid invoice today, where it breaks, what tool you use now with its monthly bill, and the workaround spreadsheets your team maintains. Add your integration list (accounting system, payment processor, phone system) and an honest budget range. A good agency can scope accurately from that in one or two calls, while a vague request for an app like ServiceTitan costs you weeks of discovery.
Will an app built for 10 users survive growing to 500?
Yes, if it is built on standard cloud infrastructure with a sound data model, because moving from 10 to 500 users is a hosting configuration change, not a rebuild. The scaling decisions that actually hurt are made early and invisibly: how the database is structured, how accounts and permissions are modeled, and whether background work is queued properly. Ask your agency how the system would handle ten times the load; the right answer is boring and specific, and a promise to cross that bridge later means you will pay for the bridge twice.
Can we migrate years of data out of our current system into new custom software?
Almost always yes, through CSV exports or the vendor's API, and migration should be scoped as its own workstream with field mapping, a dry run, and a planned cutover window rather than an afterthought. The real time sink is rarely moving the data; it is cleaning it, since years of duplicates, free-text fields, and inconsistent formats surface all at once. Pull a full export from your current vendor before committing to anything new, because some SaaS plans restrict exports on lower tiers.
Who can build a custom field service management software system?

Digital Heroes builds custom field service management software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other field service management software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?