A utility crew under floodlights at a street dig, on wet asphalt, at night

For water utilities

Your boil water advisories, alerted on every channel at once.

Atmayoni puts one approved advisory on your website, status page, chatbot, phone line, and alert feeds within a minute, and drafts the compliance documentation automatically, for you to review and sign. Between emergencies, it answers residents’ questions from your own documents.

The utility in these examples, Riverton Water, is fictional. Every screenshot is from the working software.

Sixty-two hours in Riverton.

A water main breaks at 2 AM. Here is what the software does until the advisory is lifted, on the screens the operator, the resident, and the regulator see.

Skip the story

Day 1, 2:05 AM

A main fails near Northgate Reservoir.

Pressure drops across Ward 5 while the town sleeps. The on-call editor signs in to a calm dashboard: one low notice about hydrant flushing, nothing else.

Large steel water mains and red valve wheels inside a pumping station

Day 1, 2:40 AM

She types boil water. The system knows what that means.

The crew has confirmed the pressure loss. The wizard marks the hazard health-critical, counts Ward 5 households from the address layer, cites the utility’s own guidance, and starts the Tier-1 notice clock. As an editor, she can only save a draft.

Hazard
Boil water, health-critical
Scope
Ward 5 (Northgate), households from the address layer
Tier-1 notice due
2:05 AM tomorrow, 23 h 25 m left
Guidance
From the utility’s verified documents, cited
Status
Draft. Editors cannot publish.

Day 1, 2:52 AM

A named approver publishes. The record is written once.

Revision one is frozen as issued, for the regulator. The append-only audit log takes two rows: drafted by the editor, published by the approver. The CAP alert gets its id.

The emergency console after publishing: last publish by the approver, and the append-only audit log showing the editor’s draft and the approver’s publish

Day 1, 2:53 AM

Every channel moves within the minute.

The status page turns red on its next poll. The widget on the utility’s website shows the banner, even to residents who dismissed an earlier notice. Every answer for Ward 5 now opens with the order. Riverton is still asleep.

The public status page band: health advisory in effect
The status page alert list, led by the boil water advisory for Ward 5 (Northgate)

Day 1, 7:30 AM

Riverton wakes up to it.

The first question in the widget is a parent’s, before the morning bottle. The answer opens with the order, in the utility’s own words, cited. Coffee, toothbrushes, the dog’s bowl: every answer starts the same way, and the phone line says it aloud.

A parent, in the widgetIs it OK to use tap water for my baby’s formula?
AtmayoniActive boil water advisory for Ward 5 (Northgate).Not straight from the tap. Use bottled water, or tap water boiled for one minute and cooled. Ready-to-feed formula needs no water.Source: Riverton Water, boil water advisory FAQ.

Illustrative. The wording comes from the utility’s own documents; the system will not invent guidance.

Day 1, 9:40 PM

Every 24 hours, someone must renew it.

A health-critical advisory expires after 24 hours unless someone renews it. The dashboard has flagged this one since six hours out, and the approver renews it with one click. If nobody does, every channel turns amber: unverified. Never green.

Expires
2:52 AM tomorrow, 5 h 12 m left
Dashboard
Expiring soon, flagged from six hours out
Renewal
Another 24 hours, by a named approver, as often as needed
If nobody renews
Amber on every channel: status unverified

Day 3, 4:02 PM

Two clean samples. A human lifts it.

The approver records the all-clear with first-use guidance: flush cold taps for five minutes, discard the ice. The lift goes out as an update to the original alert, and for 48 hours every safety answer still carries it.

A hydrant flushing water across a city street

Day 3, 4:05 PM

The close-out packet is already written.

Named actors and timestamps. Each notice exactly as issued, with its alert id. The append-only audit trail. A certification draft, and a plain list of what the record still lacks. Print it, sign it, file it.

The close-out packet: the draft disclaimer and chapter one, the event record for Ward 5 (Northgate), lifted
Water treatment basins seen from directly above

How it works.

Three parts work in order: it reads your public documents, answers questions from them, and publishes advisories through an approval workflow. Two more connect it to the systems you already run.

Harvest

Reads your website and PDFs, and keeps them current.

  • Finds every page on your site, respects robots rules, and skips pages that are really errors
  • Strips menus, footers, and repeated boilerplate from every page
  • PDF pipeline with table extraction and OCR for high-value documents
  • Records where every document came from, and fingerprints it before and after cleaning
  • Spots changes: removed pages stay on record, and every crawl reports what changed
  • Ran clean on two more utilities’ websites with no site-specific configuration

Reason

Answers questions from your documents, live advisories, and connected systems.

  • Document search runs locally, with no outside vendor in the loop
  • Knows which edition of a document is current, so the newest rate sheet wins
  • Live advisories consulted on every question, not only the ones that sound like safety
  • Answers by location, using real zone maps and 144,000 address points
  • Rejects any AI wording that drops a warning or invents a number
  • Looks up premise, advisories, service line, work orders, water quality, and account
  • Works with OpenAI-compatible, self-hosted, or Anthropic models, with per-call cost tracking and a hard spending cap
  • Still runs with no AI model at all, answering from source text
  • Logs every answer with its sources, speed, cost, and resident feedback

Publish

Drafts, approves, publishes, renews, and lifts advisories, with every step recorded.

  • Emergency console with editor and approver roles and instant revocation
  • Publish wizard: hazard type, area by zone or drawn on a map, templates, and verified guidance
  • Clear states: draft, active, lifted, expired, canceled
  • Corrections, renewals, lifts, and cancels, each an audited revision
  • Hosted public status page with a banner that ranks by hazard and a past-incidents feed
  • My Water: one address, every fact the utility holds about it, each badged live or simulated
  • Website widget added with one script tag, kept apart from your site’s styles
  • CAP 1.2 feed validated against the official schema, plus a Waze-compatible feed
  • Close-out packet as JSON, Markdown, or a print-ready page
  • Staff curate the knowledge base, previewing the safety impact before changes go live

Front doors

Keep your chatbot, contact center, and phone system. They call Atmayoni for water facts and advisories.

  • Keyed REST API with rate limits and a published OpenAPI description
  • MCP server (the open standard assistants use to call tools), eight tools, safety rules in the server instructions
  • Copilot Studio connector specification, REST and MCP variants
  • Genesys voice and chat data actions
  • Spoken-form answers for IVR vendors: the advisory first, and always whole

Adapters

Read-only connections to the systems you already run. If one is not connected or is down, the screen says so. It never fills the gap with made-up data.

  • Esri feature services
  • IBM Maximo
  • Cityworks
  • CIS: CC&B, SAP IS-U, Munis
  • LIMS extracts

No live utility system has been connected yet. Four of the six lookups run on simulated data shaped like production, and every screen labels them simulated.

Rows of consoles and countdown clocks in a dim control room

Safety rules are enforced in code, not left to the AI.

The AI writes the wording. Code decides what has to be said, and the rules hold whichever model you use. Twenty live checks test them on every channel: publish, ask, escalate, lift, cancel, and confirm each screen told the truth. They run after any change to a safety path.

An active advisory always comes first.

On every channel, every answer in the area starts with it. The AI cannot hide, soften, or contradict it.

Expired is not an all-clear.

A timer running out never turns anything green. Only a named person lifting it ends an advisory, with first-use guidance.

If a check fails, it says so.

Every screen, and the API other bots read, shows the check could not run. Nothing claims safe without checking.

No made-up numbers.

Every number comes from a document or a system record, or it is left out. Simulated data is labeled. A disconnected system reads not connected.

When unsure, it warns.

If it cannot tell whether an address is in the area, it shows the advisory. If it cannot tell whether an advisory is current, the page says unverified.

Where residents see it.

It works with the website, chatbot, and phone line you already have, and with the alert systems your vendors run.

A resident's hands holding a phone at a table, beside a glass of water

Hosted status page

Live advisories, affected-area map, address lookup, grounded answers, and a past-incidents feed that tells lifted from expired. Runs under your domain as your own deployment.

One script tag on your website

A banner ranked by hazard and an ask launcher, on the site you already have. No rebuild.

My Water

A resident types an address and sees everything the utility holds about it: advisories, location, service line, work nearby, water quality, account. The address is used for the lookup and not kept.

Behind your existing chatbot

An API and an MCP server put Atmayoni behind Copilot Studio, Genesys, or any MCP host. Your chatbot keeps the conversation; Atmayoni supplies the water facts.

Your phone line

Spoken-form responses for IVR vendors. The caller at midnight hears exactly what the website says.

Alert systems and navigation apps

Standard Common Alerting Protocol output for mass-notification systems, with alert, update, and cancel chains. Advisories with a mapped area also flow to a Waze-compatible feed, so a main break shows where drivers look.

The record your regulator asks for.

After a Tier-1 event, the regulator asks for proof. Atmayoni assembles it while the event runs, from each notice as issued and the audit trail, in seven chapters. When the advisory lifts, the packet is ready to review and sign. It is evidence; deciding compliance stays with you.

Export it as JSON or Markdown, or print the page to PDF.

Close-out packet

Boil water advisory: Ward 5 pressure loss

Riverton Water. Assembled from the publishing record.

Draft assembled by Atmayoni from the publishing record. Atmayoni assembles evidence; it does not determine regulatory compliance.

  1. EventHazard, scope, recorded start, PWSID, retention date
  2. TimelineDeclaration, publishes, renewals, lift, with actor and UTC instant
  3. Notices as issuedEach notice as residents saw it, with its CAP id and named approver
  4. DistributionEvery channel this system made the notice available on. Door hangers, broadcast, and IPAWS are yours to add
  5. Audit trailSign-ins, drafts, corrections, lifts. Recorded once, edited never
  6. CertificationThe sign-off form, drafted against 40 CFR 141.31(d) and 141.33(e)
  7. GapsWhat the record itself lacks: an expiry never lifted, a missing area, demo counts, a PWSID not set
The chapter list as the system generates it. Riverton Water is fictional.

What we have measured.

We measured every figure below in August 2026 against the full public website of a major US water utility, about 1,900 pages and PDFs, used as a test corpus. None of it is a projection.

20
live safety assertions

exercised across every channel, all passing

93
evaluation questions

answered correctly with the model on

144,000
address points

behind geo-scoped answers and household counts

1,900
documents

harvested from one utility’s pages and PDFs, provenance-stamped

1.1 s
median answer

in our test runs, 1.8 s at the ninetieth percentile

0.96
recall, 1.00 precision

telling current documents from superseded ones, on a hand-labeled benchmark

Questions utilities ask first.

Anything else, email us. We answer from the code, not a slide deck.

hello@atmayoni.com
Do we have to replace our website, chatbot, or phone system?

No. The status page runs as your own deployment. The widget is one script tag on your existing site. The API and MCP server sit behind the chatbot or IVR you already run. Nothing is ripped out.

What stops the AI from saying something wrong about safety?

Code outside the model enforces the safety policy. Every question consults the live advisories and puts them first, in a block the model cannot alter. If the prose drops a hazard verb, negates it, or invents a number, the system discards it and answers from the source text. Twenty live assertions exercise this across every channel.

What powers the answers?

Your own public record: the pages and PDFs your staff curate into a knowledge base, your live advisories, and the systems you connect. If nothing verified matches, the answer says so instead of guessing.

Which AI model does it use?

Whichever you choose. One seam supports OpenAI-compatible endpoints, self-hosted models such as vLLM or Ollama, and Anthropic. Every call is priced and capped by a hard budget. Without any key the system still runs, answering from source text. We have run it live on one OpenAI model so far; any other provider becomes supported for you only after it passes our evaluation gate.

Where does it run, and who sees our data?

In your own isolated deployment, inside your network or on infrastructure dedicated to you. Resident addresses are used for the lookup and not kept; the question log stores a redacted question and a ZIP code. We never train on your corpus. With a hosted model, the provider’s API terms govern; with a self-hosted model, nothing leaves your network except the public geocoder call.

What does the pilot involve?

Ninety days, read-only. You give read access to your public website and, if you choose, one GIS feature service, one work-order feed, and one billing extract. We provide the containers, a capped model budget, and the packets. Procurement is a data-sharing agreement.

What does this look like today?

A working system under a fictional utility, Riverton Water, with every screenshot on this page captured from it. We are looking for a small number of design partners for the read-only pilot.

Where things stand.

Today
Atmayoni runs end to end: harvest, index, console, status page, widget, feeds, packet. We have proven it against the full public website of a major US utility, and the harvester has run clean on two more utilities’ sites with no configuration. It does not yet have a customer.
The pilot
Ninety days, read-only, for two or three utilities. We read, never write. If you connect billing, account data shows masked, only for the address looked up. You keep every packet.
Simulated today
Four of the six system lookups run on simulated data until an adapter is connected, and each one is labeled simulated on screen.
Deployment
Your own isolated deployment: two containers, in your network or on infrastructure we run for you alone. With a self-hosted model, the only outside call is the public geocoder, and you can replace that with your own premise data.
Security
Named operator accounts with editor and approver roles, per-user session revocation, keyed and rate-limited APIs, an append-only audit log, read-only adapters. Not yet built: single sign-on with your identity provider. It is first on the pilot list.

We are looking for two or three utilities for a 90-day, read-only pilot.

The walkthrough uses the working software, not slides.