Service Storm
AI-Native Platform

AI Field Service Software

Most field service software bolted a chatbot onto a form. Service Storm was rebuilt so an AI agent can actually run the workflow — quoting, scheduling, invoicing, and dispatch — under your permissions, with every change on the record.

OTTO in Service Storm reporting the company's real catalog pricing for architectural shingles and tear-off, then asking how the good, better and best options should be differentiated

AI field service software is a category in the middle of splitting in two. On one side are the incumbents who added a chat box to an existing product: it drafts a customer text, summarizes a job, suggests a price. Useful, but the human still does every click. On the other side is a smaller group rebuilding the product so an AI agent can operate the software directly — read your catalog, price the job, write the quote, create the customer, book the visit, and save the record. Service Storm is in the second group. This page explains the difference, what our agent Otto actually does, where we deliberately stop it, and how to evaluate any vendor's AI claims without taking the demo at face value.

The short version

Service Storm ships Otto, an AI agent that performs real actions on real records inside the app and the mobile app, and a hosted MCP server that lets Claude and ChatGPT do the same work from outside. Both run under the individual user's permissions, read every write back before reporting success, and are blocked from sending customer messages, taking payments, or accepting documents.

What does AI actually mean in field service software?

The phrase is doing a lot of work in this market, and it covers at least three genuinely different things. Knowing which one a vendor is selling you is the single most useful question you can ask on a demo call, because the three differ by an order of magnitude in how much time they save.

What it isWhat it doesWho still does the typing
Predictive featuresScores leads, forecasts demand, suggests the next available slot, flags jobs likely to run long.You. It advises; you act.
A chat assistant / copilotDrafts a message, summarizes job history, explains a report, answers questions about the data.You. It writes text; you paste and save.
An AI agentCalls the same APIs your buttons call: creates the customer, prices the quote, books the visit, saves the record.It does. You review and approve.

Almost every product in the category has the first two. The third is rare because it is genuinely hard: an agent that writes to your database needs a permission model, a concurrency story, idempotency so a network retry doesn't create two quotes, and a way to prove what it changed. Retrofitting that onto a decade-old codebase is a large project. It is also the only version that removes real hours from your week.

OTTO reporting a saved draft quote with good, better and best options priced at $15,480, $17,000 and $19,000, alongside the real quote open in Service Storm
An agent, not a chat box: OTTO priced the job from the catalog, saved the quote, and linked you straight to the record.

Meet Otto, the agent inside Service Storm

Otto is Service Storm's built-in AI agent. It lives in a panel beside whatever you're looking at, so it already knows the customer, the quote, the option, and even the line you have selected. You describe the outcome; Otto does the work and shows you the saved result, with links straight to the records it touched.

Under the hood, Otto is not one general-purpose model with a giant prompt. It routes work to specialists — quoting, invoicing, scheduling, catalog and pricing, company configuration, and field execution — each with its own instructions and its own narrow set of tools. A quoting request never gets handed the tools that edit your price book. That sequential handoff is deliberately boring compared to an unrestricted swarm of agents, and it is a large part of why the results are predictable.

What Otto does on a normal day

  • Builds a multi-option quote — good, better, best — priced from your real catalog, labor rates, and price book, with optional add-ons and a deposit
  • Creates customers and service properties, checking for duplicates first
  • Converts an accepted quote into a job and schedules the visit
  • Edits and reprices quotes and invoices, preserving every field you didn't ask it to touch
  • Opens tasks and field notes, assigns them, and sets dated reminders in your company timezone
  • Maintains your service catalog, materials, categories, and reusable quote templates
  • Builds email, SMS, and contract templates using your real placeholder variables, and previews them against a real record
  • Answers questions about jobs, quotes, invoices, schedules, and shifts

In the mobile app, Otto is tuned for the truck rather than the desk: start a visit, record the materials pulled off the van, check what is left to finish, or pick up this morning's conversation — one thumb, no forms.

Why writing to records is the hard part

Any model can generate a convincing-looking quote. The engineering problem is saving it correctly against a live database that other people are also editing. Four things have to be true before an agent should be allowed near your data, and they are worth asking every vendor about:

  1. It must read its own writes. Otto saves, re-reads the record, and verifies the values and line identities actually persisted before it tells you it worked. "I've updated that for you" is not evidence.
  2. It must not clobber concurrent edits. Quote updates carry the backend version plus a fingerprint of the complete record, so unrelated options, files, deposits, and contract data survive an edit made from the other side of the office.
  3. It must be safe to retry. Every turn carries a request ID and every action writes a receipt, and quote and invoice creation use backend idempotency keys — so a dropped connection and a retry cannot leave you with two of the same quote.
  4. It must survive a reload. Otto's conversations, linked records, action receipts, and creation history live in the database, not your browser tab. Close the laptop, reopen it, and the task is still there.

Where we're honest about the limits

Service Storm's production database runs standalone, without multi-document transactions. Some of Otto's multi-step sequences are therefore recoverable rather than atomic: if a step is interrupted, Otto exposes the receipts so you can reconcile, and it will not blindly replay a write whose outcome it can't confirm. We would rather tell you that than pretend the problem doesn't exist.

Permissions: the agent is not a superuser

This is where most AI features quietly fall down. An assistant that queries the whole company database is a data-leak waiting for its first curious employee. Otto runs every tool call under the signed-in user's own credentials, and mutation tools are additionally filtered by domain and by the specific permission that action requires. A field technician's Otto can do exactly what that technician can do in the interface — no more.

There are also things nobody's Otto can do, by design. It cannot send a quote or invoice to a customer. It cannot charge a card or take a payment. It cannot accept a document on a customer's behalf. Finalized documents go through the normal change-order and revision flow rather than being quietly rewritten. Those are the actions where a mistake costs money or trust, so they stay in human hands.

Catalog and pricing changes get a further layer: Otto cannot apply them at all. It prepares a proposal showing exact before-and-after values, every dependency, and the knock-on effect on any calculated service prices. You click Apply. The server then re-checks your permissions, the source revisions, and uniqueness before writing, and an atomic state claim means two clicks can't apply the same proposal twice.

The OTTO usage panel in Service Storm showing spend this month, credits remaining, an estimate of tasks left, and $10, $25 and $50 top-up options
OTTO runs on prepaid credits with a live task estimate — no per-seat AI upcharge, and credits never expire.

Pricing AI honestly: per task, not per seat

The industry default is to charge for AI per user per month, which means you pay for the twelve people who never touch it to subsidize the three who do. Otto runs on prepaid credits instead. A typical task costs about eight cents. Ten dollars buys roughly 125 tasks. Credits never expire, the usage panel shows exactly what you've spent and roughly how many tasks you have left, and only someone with company management permission can top up.

~$0.08Typical cost per Otto task
~125Tasks for a $10 top-up
$0Per-seat AI upcharge

Bring your own assistant: the MCP server

Plenty of owners already run their day inside Claude or ChatGPT. Rather than fight that, Service Storm publishes a hosted Model Context Protocol server. MCP is the emerging open standard for connecting an AI assistant to an external system's real tools and data. Connect ours once and the assistant you already use can look up a customer, check a schedule, price a job, or draft the quote — against your live Service Storm records, inside your existing permissions.

You approve the connection from inside Service Storm and choose which company it is bound to. Consent has three levels: read-only, a drafts level that adds reviewed draft-quote, task, and project-note tools, and a full "run your business" level that exposes everything Otto's own specialists can call. Every tool call writes an audit row, and connections can be revoked instantly.

See how the MCP server works

OAuth setup, the three consent scopes, what's exposed, and what deliberately isn't.

Read the MCP guide

How to evaluate an AI field service vendor

Demos are designed to look good. These questions are hard to fake, and the answers tell you which of the three categories above you are actually buying:

  1. "Show me the AI creating a record I can then open in a different browser tab." If it only produces text you copy and paste, it's a copilot, not an agent.
  2. "Whose permissions does it run under?" If the answer is a company-level service account, any employee can potentially reach data they shouldn't.
  3. "What can it never do?" A vendor without a clear list hasn't thought about the failure modes. Sending messages, taking payments, and accepting contracts should be on it.
  4. "How do I see what it did?" You want an audit trail per action, not a chat transcript.
  5. "What happens if it half-finishes?" Ask specifically about retries and duplicates. "That won't happen" is the wrong answer.
  6. "How is it priced?" Per seat means you pay for non-users. Per task means you pay for value.
  7. "Can I use it from Claude or ChatGPT?" An MCP server is a strong signal the vendor has built a real, permission-aware tool layer rather than a prompt wrapper.

What this looks like in your week

The honest pitch isn't that AI replaces your office staff. It's that the twenty-minute jobs shrink to two. A quote that took an estimator half an hour of clicking through the catalog becomes a paragraph of description and a review pass. A tech who would have skipped logging materials because the form was tedious now says what they used. The owner who wanted to know last month's revenue by category asks, instead of building a report.

Multiply that across a crew and the compounding effect isn't the AI writing prettier emails — it's the office finally having time to chase the work that's actually sitting in the pipeline.

A field service team using Service Storm

The office that answers itself

Ask for the number instead of building the report. Ask for the quote instead of typing it. Your team stays in the field.

Frequently Asked Questions

Run jobs. Get paid.

Service Storm runs your whole field service business from one platform — lead to ledger.

Book a Demo