Skip to content

Roofing · AI services

A roofing assistant that keeps answering when the AI goes quiet

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

Three answer tiers: an n8n workflow, then the server's knowledge base, then the same retriever in the browser. Sensitive words reach a person.

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

The everyday problem

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

One knowledge base answers them the same way every time, with a person one step away.

The hard part

  1. The AI service going quiet

    If n8n gives nothing within 12 seconds, the server answers from the knowledge base. A pushed reply that misses the 30-second cutoff is answered locally.

  2. The server itself is down

    The same retriever runs in the browser over the same files, so the answer does not change.

  3. 'Issue' read as 'sue'

    Hand-off words match whole words only, so a question about an issue stays with the bot.

  4. A question it cannot answer

    Below the confidence bar, it says it has no good answer and points to a person.

How it runs

Workflow

How a question finds an answer, whichever tier is up.

Sample run
  1. Step 5: In-browser retriever. Same files, same answers.
    If this fails: Below the bar: says it does not know, offers a person.

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 asks 'how much is a tile roof'.A tile price range from the knowledge base.how much is a tile roof
A visitor writes 'I want to sue you'.Handed straight to a person: 'That one needs a person', with Call us and Send a message buttons.I want to sue you
A visitor mentions an 'issue' with a gutter.Not handed over: 'issue' is not 'sue'.No phrase to try
A visitor asks 'what is the capital of France'.An honest 'I don't have a good answer', not a guess.what is the capital of France
n8n is slow or down.The knowledge base answers instead.No phrase to try

Guardrails and hand-off

Guardrails

  • Hand-off words match whole words only.
  • Below the confidence bar, it does not guess.
  • The route n8n pushes replies to checks its secret in constant time.
  • On the server, public write routes are rate limited per address, counted in memory.

When a person takes over

Words like 'sue', 'refund', 'injured' or 'cancel' skip the bot. The visitor is told 'That one needs a person' and offered Call us and Send a message.

Not in this build yet

We would rather you hear it from us.

  • The live demo is static, so only the in-browser tier runs.
  • No AI model is connected.
  • 'Looking up property details' is an animation, not a lookup.

Try it yourself

  1. Type: how much is a tile roof

    Expect: A tile price range from its knowledge base.

  2. Type: I want to sue you

    Expect: Straight to a person: 'That one needs a person.'

  3. Type: what is the capital of France

    Expect: An honest 'I don't have a good answer', not a guess.

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

Built with

  • React
  • TypeScript
  • Node.js
  • n8n
  • No. It answers in the chat and points sensitive questions to your phone line. In your build, we connect the tool your office already uses.

  • Yes. It answers from your own knowledge file, and the instant estimate reads your own pricing file.

More work

How Ridgewell intake engine runs. Steps: Lead arrives, then Read urgency, then Match the service, then Score 0-100, then Pick a crew, then Hold the window, then Office crew board.

  • Concept build
  • Roofing
  • AI automation

Roofing leads that know an emergency when they read one

Everyday: Web leads sit in one inbox and get answered in the order they arrived. In a storm week, the leaking ceiling waits behind the gutter quote.

The hard part: An emergency typed casually

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 FlowRight assistant runs. Steps: Message, then Server proxy to n8n, then Read the reply, then Local rules, gas first, then Price guard, then Check the lead, then Forwarded in the background.

  • Concept build
  • Plumbing
  • AI services

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

Everyday: 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 hard part: The AI service going quiet

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