Skip to content

Plumbing · AI services

A plumbing assistant built so a dead AI never means a dead chat

An AI chat bolted onto a site breaks quietly. When the AI provider is slow or down, customers stare at a spinner, and the leads they typed are lost.

A server-side n8n proxy with a silent local fallback, gas rules, a price guard, and lead checks that never hold up a booking.

This is a concept build. FlowRight Plumbing is a fictional business. The code is real: open the demo and try the steps below.

The everyday problem

An AI chat bolted onto a site breaks quietly. When the AI provider is slow or down, customers stare at a spinner, and the leads they typed are lost.

The chat answers locally when the AI is slow, and the booking never depends on it.

The hard part

  1. The AI service going quiet

    The proxy gives n8n 20 seconds. Then the local answerer replies, and the visitor never sees an error.

  2. A key leaking to the browser

    The browser talks only to the site's own API. The n8n address and key stay on the server.

  3. A reply in an unexpected shape

    reply, output, text, message and answer are all read, including n8n's list form.

  4. A firm price in chat

    Price questions get published US average ranges with a disclaimer, never a quote.

  5. A slow hand-off losing the lead

    Leads are checked and accepted first, then passed to n8n in the background.

How it runs

Workflow

How a message is answered, with or without the AI.

Sample run
  1. Step 5: Price guard. Ranges with a disclaimer, never a firm quote.

Tap “On fail” to see what happens when a step breaks.

Edge cases we handled

What the system does in the unusual cases. Where there is a phrase, type it into the demo.
WhenWhat the system doesTry it
A visitor writes 'I smell gas'.Leave first, then call the gas utility and 911 from outside.I smell gas
A visitor asks 'how much to replace a water heater'.Published US average ranges with a disclaimer. No firm price.how much to replace a water heater
n8n takes more than 20 seconds.The local answerer replies. The visitor sees no error.No phrase to try
A booking names a city that is not served.The form says the city is not covered yet and asks them to call.No phrase to try
A bot fills the hidden form field.The lead is quietly ignored.No phrase to try

Guardrails and hand-off

Guardrails

  • The n8n address and key stay on the server.
  • Gas and emergency rules run before anything else in the local answerer.
  • Prices are ranges with a disclaimer, never a firm quote.
  • Chat messages are rate limited: 30 a minute per address, counted in memory from the forwarded address.

When a person takes over

Gas and emergency messages point the visitor to the phone first. Anything outside the knowledge base gets an honest 'I would rather say so than guess' and the number to call.

Not in this build yet

We would rather you hear it from us.

  • The n8n workflow itself is a design document.
  • The proxy passes the browser's own site id through; the engine sites add it on the server.
  • When n8n is connected, the gas rule lives in its written instructions. The code applies it only on the local path.
  • The demo server has no database, so it stores no leads.

Try it yourself

  1. Type: I smell gas

    Expect: An evacuation script first.

  2. Type: how much to replace a water heater

    Expect: A range with a disclaimer, never a firm price.

Open the chat on the demo site. Please don't type real personal details.

Built with

  • Next.js
  • React
  • TypeScript
  • Node.js
  • n8n
  • No. It answers in the chat and points emergencies to the phone. Leads can be passed to your n8n workflow, which connects the tools you already use.

  • Yes. It answers from your own services, service areas, FAQs and price ranges. Prices stay ranges with a disclaimer unless you approve otherwise.

More work

How Copperline triage chat runs. Steps: Message in chat, then Safety check on every turn, then Read the problem, then Check the area, then Pull out contact details, then Offer a time, then Office board.

  • Concept build
  • Plumbing
  • AI services

Plumbing chat that puts safety before sales

Everyday: Panicked messages arrive at night. The chat either says nothing useful or pushes a booking form.

The hard part: A gas smell mid-conversation

How CrestBay answer desk runs. Steps: Question, then Hand-off words, then n8n workflow, then Server knowledge base, then In-browser retriever, then Logged with its source.

  • Concept build
  • Roofing
  • AI services

A roofing assistant that keeps answering when the AI goes quiet

Everyday: The same few dozen questions about pricing, repairs and insurance arrive every day, and the answers change with who picks up.

The hard part: The AI service going quiet

How Everline home search runs. Steps: Question, then Read the budget, then Match the market, then Skip sold listings, then Up to three listings, then A person on request.

  • Concept build
  • Real estate
  • AI services

Home search by plain-language question, with an honest 'nothing fits'

Everyday: Buyers ask 'anything in Austin under 1.2m?' in chat and get a link to a search form.

The hard part: A budget typed loosely

Start a project

Want something like this for your business?

A 30-minute call, then a written plan and a fixed quote. No obligation.

  • A reply from a person within one business day.
  • Fixed price in writing
  • You own everything