AI for HVAC & Field Service: Custom Agents vs Bundled FSM AI

by Sandlabs Team, Founder, Sandlabs

This is about AI for HVAC and field-service businesses — where the time actually goes, and whether the AI bundled into your job-management software reaches it. Picture a commercial HVAC contractor we worked with — fast-growing, running two lines off the one back office. One line is recurring B2B service and maintenance: scheduled plant inspections, reactive call-outs, the steady stuff that keeps buildings running. The other is project work: pricing builders for new fit-outs, where every job starts with a tender. Two very different rhythms, one admin desk. And that desk was the part starting to crack.

The pinch shows up in two places. Tendering eats time — for each builder request, someone reads the specs and measurements, prices up the parts (often chasing suppliers and subbies to confirm figures), then hand-builds the tender proposal as a PDF from a blank page. Desk-bound, document-heavy, slow. The second pinch is in the field: engineers raise invoices on site through their job-management app, but doing it on a phone between jobs is awkward, so billing slips to end-of-day or end-of-week and cash-flow lags behind the work. The contractor was already paying for the AI bundled into their job-management software. It didn't fix either problem — because it's built for the average shop, not theirs.

Bundled AI vs an Agent Built for Your Field-Service Workflow

The bundled AI drafted a tidy reply but still couldn't read this contractor's spec format, price from their parts logic, or output their branded tender — so the field-service work that actually pays the bills sat outside what it could reach. That's the gap a custom agent fills. But first, be fair to the bundled layer.

The AI now built into field service management (FSM) platforms is a sensible baseline. It's improving fast, it's cheap to switch on, and it's genuinely good at the common 80% — summarising a job note, drafting a tidy reply, nudging an overdue invoice. If that covers your week, use it. There's no prize for building custom when the bundle already fits.

The catch is in the name: one-size-fits-all. Bundled FSM AI is shaped for the average operator across thousands of shops, so it can't read this contractor's spec format, price from their parts logic and supplier relationships, or output their branded tender document. It works inside the four walls of the platform; your money-making workflows don't always stay inside those walls. That's the whole argument — fit beats features. A custom AI agent is shaped to how a specific business actually works and fills the exact gaps the bundled layer leaves. Not "bundled AI is bad," but "bundled AI is generic, and your best workflows are specific."

This piece assumes the platform is already settled and asks the next question: do you bolt on the vendor's native AI, or build a purpose-built agent that fits your workflow? For the broader case that AI applies to trades at all, there's our overview of AI for tradies and service businesses. And for the general build-or-buy logic behind all of this, see build-vs-buy for custom AI.

Below are the two agents that earned their keep for this contractor. Both are workflows a generic bundle struggles to reach, and both are good examples of how custom agents fit into broader workflow automation.

The Tender Agent: Reads the Specs, Drafts the Proposal

Today the project line starts the same way every time. A builder sends through a request — specs, drawings, a schedule of measurements. The owner reads it, works out the scope, prices the parts (chasing a supplier or a subbie when a figure isn't to hand), then opens a blank document and builds the tender PDF section by section. In the engagements we see, that's often a two-to-four-hour job per tender, and it's the owner doing it, not a junior — because pricing judgement and the relationship live in their head.

The tender agent changes where the hours go, not who's in charge. It reads the incoming specs and drafts an estimate from the parts and scope it can reliably read off the spec — priced against the shop's own cost catalogue and past-tender language, not a generic vendor template — and outputs the branded tender document. Crucially, it doesn't silently price what it can't confirm: anything ambiguous, or any measurement it can't read cleanly off a drawing or schedule, it flags for the owner to fill in rather than guessing. (Measurement takeoff from drawings is exactly where these agents are weakest, so the agent surfaces low-confidence items instead of burying a wrong quantity in a priced line.) The owner opens a near-finished draft instead of a blank page: review, fill the flagged gaps, adjust the lines that need judgement, sign off, send. In the engagements we see, this turns a multi-hour tender into a review measured in tens of minutes. The judgement stays with the owner; the typing and formatting don't.

This is exactly where the bundled-vs-custom gap is most concrete. A generic "draft a quote" feature doesn't know your parts logic or your document. A purpose-built Simpro quote/tender drafting agent, grounded in your real catalogue and your tender templates, does. And nothing reaches the builder without owner sign-off — the agent drafts, the owner sends.

On the service line, the same fit principle applies to a different workflow. Reactive maintenance and PM-driven jobs arrive as emails and call-outs that need triaging into the job system — a different shape from project tendering, and a different purpose-built build: an AroFlo PM-email agent that owns the service side. One shop running service and projects is a good illustration of why a single bundled feature struggles: two money-making workflows, two different shapes, two purpose-built agents rather than one average-fit bundle.

WhatsApp Invoicing From the Field

The on-site reality is simple. An engineer finishes a job, needs to raise an invoice, and the only tool to hand is the FSM app on a phone. Tapping through invoice fields with cold hands between call-outs is awkward enough that it gets deferred — so billing lags the work by days, and cash-flow lags with it. The bundled AI can't help here either, because the problem isn't inside the platform. It's the friction of getting the data in from where the tech actually stands.

So the fix meets the engineer where they already are. They send a WhatsApp message (via the WhatsApp Business API) — the cost and the customer, maybe a photo or a voice note. The agent reads it, generates the invoice, and writes it back into the FSM, which stays the source of truth. How deeply we can write back depends on your platform's API — invoice creation is well-supported on some systems and more limited on others, so we scope this per platform. The invoice lands in the owner's review queue; once approved, it goes out. No app-wrestling on site, and billing keeps pace with the work instead of trailing it by a week. In the engagements we see, closing that gap is where the cash-flow improvement comes from — not a bigger number per invoice, just invoices going out days sooner.

The platform still owns the data. The agent complements it — it doesn't replace it. For a mobile-first shop where the field tech is the main user, this is the ServiceM8 voice/field-to-invoice agent: capture where the work happens, write back to the system of record.

Two workflows, one custom agent

Builder specs become a branded tender draft; a WhatsApp message becomes a draft invoice in your FSM. Owner approves before anything goes out.

Builder specs / measurementsWhatsApp — cost + customerFSM job dataSANDLABSCustom AI Agentread · draft · write backBranded tender draftDraft invoice in FSMOwner approves from phone

How We Keep It Safe and in Your Control

Nothing reaches a builder or a customer without the owner seeing it first — that's the fear most operators raise, and it's the first thing wired in. A purpose-built agent also exposes the controls a bundled black box doesn't, which is another reason fit wins. Here's how the build actually works. Four controls, no more.

Human-in-the-loop on anything that goes out. Tenders, quotes, invoices, messages — they all land in a review queue for the owner to check and approve. The agent drafts and prepares; it doesn't send to a builder or a customer on its own.

Least-privilege access. The agent only touches the specific systems and data it needs — the specs inbox, the parts data, the FSM — and nothing beyond that. It doesn't get keys to the whole business to do a narrow job.

Every action is logged and auditable. What the agent read, what it drafted, what it wrote back to the FSM, and when — all recorded and traceable end-to-end. If you ever need to know how an invoice or a tender line came to be, the record is there.

Your data isn't used to train public AI models. We use providers and configurations where your specs, prices and customer details aren't fed into training their public models. The shop's data stays yours.

That's the full list. We don't make claims beyond those four — if a control matters to you that isn't here, ask us straight. For more on what to watch for, see AI agent security risks and how to keep control.

What It Costs and How Long It Takes

Order-of-magnitude numbers from the kind of engagements we see in the AU market — realistic ranges, not guarantees. Your figures depend on how messy the inputs are and how many edge cases the workflow carries.

First agentA second agent
Build cost (AUD, indicative)$15k–35k$8k–18k
Time to live4–7 weeks3–5 weeks
Time to visible savings2–4 weeks2–3 weeks
Ongoing model costs (per month)$100–400 at typical volumesscales with volume

A few notes on these numbers:

  • The first agent is the most expensive proportionally, because it carries the foundations — the knowledge of your catalogue and templates, the review queue, the audit log, the FSM connection. The second agent reuses most of that and costs less.
  • Ongoing model cost tracks throughput: heavier spec documents or higher tender/invoice volume push the monthly figure up, and a low-volume shop sits at the bottom of the range.
  • A dual-line shop is a good example: the tender agent and the field-invoicing agent share plumbing, so building the second after the first is cheaper than building either alone.
  • These are custom builds that complement your FSM, not a replacement for it — you keep paying for and running your platform exactly as you do now.

Rather than reproduce the full ROI maths here, we keep that in one place: the full cost and ROI picture. And for how a purpose-built agent is actually assembled under the hood, see how a purpose-built agent is actually built.

Frequently Asked Questions

Isn't the AI already built into our job-management software enough?

Often it's a good baseline, and if it covers your week, stick with it. Bundled FSM AI is built for the average shop, so it's strong on the common tasks but can't read your specific spec format, price from your own parts logic, or output your branded tender document. A custom agent is shaped to how your business actually works and fills the exact gaps the one-size-fits-all layer leaves. The question isn't bundled-or-custom in the abstract — it's whether the bundle reaches your money-making workflows.

Does a custom agent replace our FSM?

No. The agent complements your platform and writes back into it as the source of truth. The field-invoicing agent, for example, generates the invoice from a WhatsApp message and writes it into the FSM where all your job data already lives — your platform stays the system of record. How deeply we can write back depends on your platform's API, so we scope that per system. You keep running your FSM exactly as you do now; the agent fills the gaps around it.

Who checks the tenders and invoices before they go out?

You do. Human-in-the-loop is built in: anything that goes out to a builder or customer — tenders, quotes, invoices, messages — lands in a review queue for the owner to check and approve. The agent drafts and prepares the work; it never sends to a third party on its own. The judgement stays with you, the typing and formatting don't.

How long until we see time back?

In the engagements we see, the first workflow is typically live in 4 to 7 weeks, with visible weekly time savings inside the first 2 to 4 weeks of running it. A tender that took a few hours to build from scratch becomes a review measured in tens of minutes, and field invoices go out days sooner instead of trailing the work by a week. These are realistic ranges, not guaranteed results — your figures depend on how messy the inputs are.

Is our data safe and is it used to train AI?

We use providers and configurations where your data isn't used to train their public AI models. Beyond that, the build rests on three more controls: least-privilege access, so the agent only touches the specific systems it needs (the specs inbox, parts data, the FSM); human-in-the-loop on everything that goes out; and a full audit log, so every action the agent takes is recorded and traceable. Those four controls are the whole security model — we don't claim anything beyond them.


Sandlabs builds custom AI agents for Australian HVAC, mechanical and electrical field-service shops — agents shaped to how your shop actually works, not the average one. We ship the first workflow as a fixed-price package on each major platform: the Simpro quote/tender drafting agent, the ServiceM8 voice-to-invoice agent, and the AroFlo PM-email agent.

If the tendering grind or the lagging field invoicing maps to your week, book a 30-minute discovery call or request a free AI audit and we'll tell you straight which workflow will move the needle — and whether the bundle you already pay for covers it. You can also reach us at [email protected].

Related reading: still choosing the underlying job system itself? See AroFlo vs Simpro vs ServiceM8: pricing and capability compared.

More articles

Claude Certification 2026: All Four Anthropic Exams, What They Cost, and Whether Your Team Needs One

Anthropic now runs four proctored Claude certifications through Pearson VUE. What CCAO-F, CCDV-F, CCAR-F and CCAR-P actually test, what they cost in AUD, how to study for free, and the honest answer on whether a certificate changes anything for your business.

Read more

Does Anthropic Charge GST in Australia? Claude Invoices, ABNs and Your BAS

Anthropic adds 10% GST to Australian Claude subscriptions by default - and if you do not add your ABN, you probably cannot claim it back. How the imported-services rules work, the two-minute fix, and what to do about invoices you have already paid.

Read more

Let's build something great together.

Melbourne, Australia — serving founders worldwide. [email protected]