Prove it · Suggestions with a reason and a switch

See why it suggested that price. Turn it off if you don't like it.

A renewal proposed before it lapses, a reprice that shows its reasoning, a past-due invoice that gets a nudge — every one a suggestion a person approves, with a reason attached and a switch to shut it off.

Mechanism liveNamed capabilities on the roadmap

What it is

Automation in Thermal is a closed loop, not a black box: the system senses something on a real record — a renewal date approaching, a job that needs scheduling, an invoice going past due — proposes an action, and waits for a person to approve it before anything changes. Every proposal carries a plain-language reason for why it was made.

This is the plan for how that loop runs across the platform, module by module. The oversight mechanism below — reason strings and a kill switch — is real and live in Thermal today. The specific suggestions it will make on agreements, preventive maintenance, and invoicing are what's on the roadmap, named below rather than hidden behind vague promises.

Every proposal here is meant to move the same numbers a shop already tracks — the field service metrics and field service KPIs on the operations dashboards — not a separate scorecard only the automation layer can read.

Where automation touches the spine.

Every proposal this page describes reads from and writes to the same agreement, work order, and invoice records the rest of the platform runs on — a suggestion never lives in a separate automation layer disconnected from the job.

  1. 01Customer

    One account. Every site under it.

  2. 02Service site

    The address, and the branch that covers it.

  3. 03Installed equipment

    The unit a suggestion is about.

  4. 04Service agreement

    Renewals and repricing start here.

    You are here
  5. 05Work order

    Schedule suggestions land here.

  6. 06Invoice

    Past-due nudges point here.

The loop starts on the service agreement — a renewal or reprice that's due — and the resulting work lands on preventive maintenance or invoicing. Nothing on this page is a live, unsupervised layer.

ThermalDispatchAgreementsEquipment
Illustrative suggestion register — interface mock, not customer data
ModuleTriggerProposed actionReasonStatus
AG‑2258Renewal inside 90 daysReprice +4.2%Margin 22% → 17% over termNeeds approval
AG‑2231Renewal inside 60 daysReopen renewalEscalation never applied last termOver $10k cap
PM‑routeWeekly buildRe-route day 3Two stops share a drive corridorDraft
INV‑4401Invoice 30 days past dueSend reminderBalance outstanding 34 daysDraft
AG‑2240Renewal inside 45 daysReprice +3.0%Unit age + margin trendApproved
Illustrative interface mock — not customer dataExceptions sort first: suggestions awaiting approval, proposals over a set dollar cap

Named capabilities, not a vague promise.

Four specific things Thermal is building toward — all on the roadmap today, named here instead of left vague. Nothing on this page is a live, unsupervised agentic layer.

On the roadmap

Suggested renewals

A drafted reprice ahead of a renewal date — based on the equipment's age and the agreement's margin — waiting for a person to approve before the price changes. Today, renewal dates and margin are visible on the agreement; the reprice is still a manual call.

  • PlannedRenewal price drafts with visible reasoning and approval
  • Not yetNothing on this row runs in the product today
On the roadmap

Smart repricing

A suggested price adjustment shown with the reasoning behind it — the equipment age, the margin trend, the comparable job — before anything on the customer's price ever changes without a person signing off.

  • PlannedPrice suggestions with stated reasoning and an off switch
  • Not yetNo automatic repricing in the product today
On the roadmap

PM-schedule suggestions

A drafted first pass at a maintenance day's assignments, weighing certification, drive time, and current load — a starting point a dispatcher reviews and adjusts, not a schedule that publishes itself. The surface it would feed is preventive maintenance.

  • PlannedDay-level schedule drafts reviewed by a dispatcher
  • Not yetNo auto-published schedules today
On the roadmap

AR nudges

A suggested reminder for a past-due invoice, held for a person to approve before it goes to the customer — not an automatic collections message a customer gets without anyone at the shop seeing it first. See the current flow on the invoicing page.

  • PlannedPast-due reminders held for a person to approve
  • Not yetNo auto-sent customer messages today
On the roadmap

Voice intake

Turning an inbound call into a structured job — customer, site, and a first pass at the problem — without an office admin re-typing the whole conversation, is on the roadmap and deferred past this phase.

  • PlannedInbound call to structured job, deferred past this phase
  • Not yetCalls are logged and dispatched the way they are now

Every suggestion carries its reasoning. Every module has a switch.

This isn't a disclaimer at the bottom of the page — it's the mechanism every proposal above is required to run through, live in Thermal today.

A reason string, on every proposal

Nothing the system proposes, applies, or holds back arrives without a plain-language reason attached — including why something was held back instead of applied (a proposal that would exceed a set dollar cap says so, not just "declined").

A kill switch, at the org and the module

One switch turns every proposal off across the whole account. Each module has its own dial on top of that — turning a module off stops it from proposing anything at all, evaluated fresh every time, never a setting that's cached stale.

One dial per module. Never a fourth setting.

Every module in Thermal that proposes anything sits on the same three-position dial — set per module, not one blanket switch for the whole account.

Off

The module proposes nothing and takes no action. Where sensing has no cost or side effect, it keeps a record that it saw the signal — but surfaces nothing and suggests nothing.

Suggest

The module proposes an action and routes it to the right person to approve, decline, or let expire. Nothing changes on the record until a person says yes.

Auto

Everything Suggest does, plus: the action applies on its own within configured bounds — a dollar cap, a rate limit, an allowed scope, and quiet hours — all still carrying a reason string.

The dial is per module, not per suggestion — bounds like dollar caps and rate limits apply per action type underneath it. As the named capabilities above move off the roadmap, this is the framework they ship inside, not a separate promise layered on afterward.

What automation will not do.

Three boundaries that are the whole point of the design.

It won't act without a person

No ungated auto actor exists. Off and Suggest never apply anything without approval, and even Auto only applies within bounds configured for that module. The framework is documented on the security page alongside how it's enforced.

It won't make decisions it can't explain

A plain-language reason is required on every proposal — including why one was held back instead of applied. There is no suggestion that arrives without a stated reason, and no "our system decided" hand-waving anywhere in the loop.

It won't hold your data hostage

The records a suggestion reads and writes are your records. Your data remains yours. Migration covers how records get in — and what it looks like if they ever go out.

If a capability isn't on this page, assume it isn't built. We'd rather lose a deal on a missing feature than win one on a sentence that turns out to be aspirational.

What automation touches.

The loop reads the records that signal something's due and, once a person approves, writes back to them.

Reads from

Writes to

Sits beside

Questions a buyer asks before trusting this.

The ones that come up when a shop has been burned by software that acts on its own.

Is Thermal's automation live today?

The named capabilities on this page — suggested renewals, smart repricing, PM-schedule suggestions, and AR nudges — are on the roadmap, not live for customers today. The oversight mechanism behind them — reason strings and a kill switch — is real and already runs in Thermal.

Will a suggestion ever apply itself without approval?

Only if a module is explicitly set to Auto, and only within bounds configured for that module — a dollar cap, a rate limit, an allowed scope, and quiet hours. Off and Suggest never apply anything without a person's approval.

Can I turn automation off entirely?

Yes — one switch turns every proposal off across the whole account, and each module has its own switch on top of that. Turning a module off stops it from proposing anything, evaluated fresh every time.

Does every suggestion explain why it was made?

Yes — a plain-language reason is required on every proposal, including when something is held back instead of applied. There's no suggestion that arrives without a stated reason.

Does voice intake turn a phone call into a job automatically?

Not yet — voice intake is on the roadmap and deferred past this phase. Today, a call gets logged and dispatched the way it does now.

See the reasoning. Keep the switch.

Ask us what's live today and what's still on the roadmap — we'll give you the same straight answer that's on this page, and show you the dial.