Heating Engineer Website: What the AI Chatbot and Form Should Ask

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Heating Engineer Website: What the AI Chatbot and Form Should Ask.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Heating Engineer Website: What the AI Chatbot and Form Should Ask.

Ask seven things before a visit is booked: boiler make, model and fuel; age and last service; the fault in their own words, with any error code; a photo of the data plate; postal code; who can approve the work; and how urgent it is. A gas smell or carbon monoxide alarm skips the form and triggers your emergency message.

Those questions only pay off when the chatbot and the booking form ask the same things, in the same order, and write the answers to one job card that an engineer can read in ten seconds. Most heating firms' sites ask for a name, a phone number and "tell us about your problem", so the visit gets booked blind and the engineer finds out on the doorstep. Choosing the chatbot platform is a separate decision (the AI chatbot tutorial for plumbers compares Chatbase, Botpress and Tidio); the questions below work in any of them.

Follow me on Instagram@sagnikteaches

Start from your last 40 enquiries, not from a template

Before you write a question, pull the last 40 website enquiries that turned into booked visits and mark each one. Did the visit go as booked, or did the engineer arrive to find something the booking never mentioned? Ten minutes with a spreadsheet gives you a list of the things your own customers fail to tell you. For a two-engineer firm, the tally might look like this (illustrative figures).

Connect on LinkedInSagnik Bhattacharya
What went wrong on the visitVisitsThe question that would have caught it
Part not on the van, because the model was unknown until arrival4Make, model and a data plate photo
Tenant booked, but the landlord had not agreed to the work2Who can approve the work
Fault was not the one described (a dead room thermostat, a tripped fuse)2Fault in their own words, error code, what they had tried
Oil-fired boiler, and the firm only services gas1Fuel type
Nobody home and no access arranged1The booking step: who will be in
Property outside the service range1Postal code

Eleven problem visits out of 40 is just over a quarter. Say each one costs 1.5 hours of engineer time including driving, at a blended $70 an hour (illustrative figures, so swap in your own). That is 11 x 1.5 x $70 = $1,155 for those 40 visits. If the new questions had prevented only six of the eleven, the firm would have kept $630 (6 x $105) and the engineer would have had a better afternoon for it.

Subscribe on YouTube@sagnikteaches

Run the same count on your own jobs, because your list will differ. A firm that only works on gas boilers can drop the fuel question. A firm that does a lot of landlord work may move "who can approve the work" to the top. The seven questions below are the ones that come up most often, not a rule.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

The seven questions and the order to ask them

Start with a safety screen that is not one of the seven: "Can you smell gas, or has a carbon monoxide alarm gone off?" A yes ends the flow, as set out in the hand-off table further down. After that, ask the cheap questions first and the one that takes effort, the photo, once the customer is already invested.

#AskWhy it earns its placeIf the customer does not know
1Postal code of the propertyConfirms you cover the address before anyone types a paragraphNothing to fall back on; say politely and early if it is out of range
2What the boiler is doing, plus any error code on the displayPicks the route: no heating, no hot water, pressure or leak, noise, error codeAccept free text; the AI sorts it afterwards
3How urgent it is, and whether anyone at home is elderly, very young or unwellSets the slot and decides whether a person phonesOffer three fixed choices, not free text
4Make, model and fuelDecides parts, and whether you service it at allAsk for the name on the front of the boiler
5A photo of the data plateConfirms question 4 and gives the serial numberRecord "not available" and ask for a photo of the whole unit
6Rough age and last service dateSteers parts, and whether a replacement conversation is comingOffer age bands and "no idea"
7Owner, tenant, or managing for a landlordStops visits that cannot go ahead without someone else's approvalAsk who pays the bill and who owns the property

A few of these need more care than the table allows. Age is the one customers guess worst, so offer bands (under 5 years, 5 to 10, 10 to 15, over 15, no idea) and let the engineer refine it later from the serial number, the maker's records or the installation paperwork. Looking the serial number up with the maker is the engineer's job, not the customer's.

Urgency works best as three fixed choices: no heating or hot water now; on and off, can wait a few days; routine service. Pair it with the vulnerable-occupant question, because "no heating" for a household with a newborn is a different job from "no heating" for a holiday let. The chatbot never decides what counts as an emergency beyond the safety screen. It records the answers and your rules decide the rest.

For the last question, a tenant is not a problem, only a step. The assistant asks for the landlord's or agent's name and contact, tells the tenant the visit is provisional until the owner approves, and your office does the chasing. Tenants who expected an instant slot would rather hear that in the chat than on the doorstep.

Getting a usable photo of the data plate

The data plate (also called the rating plate) is the label that carries the maker, model name, serial number and, on many units, the rated output. Its position depends on the make and model: on some boilers it sits on the outer casing, on others under the front cover or a flap. That last point shapes the instruction you give customers, because nobody should be taking a cover off a gas appliance to help your booking form.

Put wording like this beside the upload field, and have the chatbot say the same thing:

  1. Find the silver or white label on the boiler casing or on the underside. Do not remove any cover or panel to look for it.
  2. Stand about arm's length back, switch your phone's flash off (it bounces off the label) and take the photo straight on.
  3. Check you can read the model name and the long serial number on your screen before you send it.
  4. No label visible? Skip the photo and send one of the whole boiler instead.

What the AI does with the photo matters more than most owners expect. A vision-capable chatbot can read the make, model and serial number into the job card, and that is useful, but it misreads characters (a zero for the letter O, an 8 for a B) and it will sometimes read a plausible model from a blurred label. Treat the reading as a draft. The job card should say "read from photo, unconfirmed" until the engineer ticks it, and the engineer should look up manuals and parts using the confirmed serial number, which is also how recalls and warranty status get checked.

Fault descriptions: let them talk, then sort into five buckets

Customers describe faults in sentences, not fields, and a form that forces a dropdown loses detail. Let them write, then have the AI sort the message into the buckets your engineers think in: no heating, no hot water, pressure drop or leak, noise, error code or lockout, and other. The before and after below is illustrative.

Customer message: "Boiler's been playing up since Sunday, banging noise then it cuts out, radiators only lukewarm, there's an E-something on the screen. My husband topped up the pressure thing yesterday."

Job card fieldWhat the AI drafted (illustrative)
Symptom bucketsNoise (banging); error code or lockout; partial heating (radiators lukewarm)
Error codeNot given. Customer saw "E" followed by something. Ask for the exact code
OnsetSince Sunday
Already triedCustomer topped up pressure yesterday (pressure fault possible)
Open question for the engineerPossible repeated pressure loss; check for a leak and expansion vessel on arrival

Look at the last row. "Check for a leak and expansion vessel" is a diagnosis, the prompt forbids it, and it slipped into the draft anyway. Delete anything like that, keep only what the customer said, and let the engineer add the technical reading. Notice also that the assistant must not guess the code. "E-something" becomes a follow-up question, and if the customer cannot read it, the job card says so.

Hand-off rules the chatbot must follow

A chatbot that books routine visits is useful. One that keeps chatting while someone describes a gas smell is a liability. Write the stop rules down as a table, load them into the prompt, and test every row with real phrases before launch.

If the visitor saysThe chatbot doesWho is told, and how fast
Smell of gas, hissing near the boiler or pipes, carbon monoxide alarm sounding, headaches or dizziness with the boiler onStops the booking and shows your emergency wording: no flames or switches, leave the property, call the gas emergency line from outsideYou, by text and call, at once
Water leaking near electrics, or a ceiling bulgingTells them to call you now and shows your phone number; gives no technical adviceYou, by text, at once
No heating or hot water with a baby, an older person or someone unwell at homeMarks the job priority, collects a phone number, says a person will callOffice, within the time you promise on your site
Tenant without landlord approvalCollects the landlord's or agent's contact, marks the visit provisionalOffice, next working day
Commercial site, several boilers, a block of flatsCollects a phone number and says a person will call about a quoteOffice, next working day
"Is it safe to keep using it?"Says it cannot judge safety and offers a callback or the phone numberOffice, same day
Asks for a repair priceGives only your published call-out or diagnostic feeNobody, unless they press for more
Fuel or boiler you do not serviceSays so politely, stops, and offers no alternative adviceNobody
Complaint, warranty claim or angry toneApologises once, collects a phone number, stopsOwner, same day

The emergency wording itself should come from your gas supplier's or safety regulator's published guidance and use your local emergency numbers, not a version the AI composed. Published advice agrees on the core steps (no flames or switches, leave, call from outside), but who to call differs from place to place, which is why the number goes in by hand. An AI-written emergency paragraph is exactly the text you would not want to be creative.

One more rule belongs in the table in your own words: what happens out of hours. If nobody answers emergencies at night, say the next visit is on the next working day, and show the emergency line for gas. If you do run an out-of-hours phone, show that number and the hours. A chatbot that promises "we'll be there tonight" without a person behind it is the fastest way to a one-star review.

A prompt you can paste and adapt

This is a starting point for any chatbot tool that takes instructions. Replace the square brackets with your wording, and read the safety paragraph out loud: if you would not say it to a customer on the phone, change it.

You are the website assistant for [company name], a heating engineer. Start by saying you are an AI assistant and that a person confirms every booking.

SAFETY FIRST. If the visitor mentions a smell of gas, a hissing pipe, a carbon monoxide alarm sounding, fumes, or headaches or dizziness while the boiler is on, stop asking questions and send exactly this message: "[your emergency wording]". Do not continue the booking.

Otherwise ask these questions ONE at a time, in this order, in plain words:
1. Postal code of the property.
2. What the boiler is doing, in their own words. Ask for any error code on the display.
3. How urgent it is: no heating or hot water now / on and off, can wait a few days / routine service. Ask whether anyone at home is elderly, very young or unwell.
4. Make, model and fuel (gas, LPG, oil, electric), if they know them.
5. A photo of the data plate. Only the label; nothing opened or removed. Accept "can't find it".
6. Rough age (under 5, 5-10, 10-15, over 15 years, no idea) and last service date.
7. Whether they own the property, rent it, or manage it for a landlord. For tenants, ask for the landlord's or agent's name and contact.

RULES
- Never diagnose, never say whether a boiler is safe to use, never suggest a repair.
- Never quote a price except our published call-out fee: [fee wording].
- Never promise an arrival time. Say a person will confirm the slot.
- Outside [service range], say so politely and stop. We do not service [fuel types we do not cover]; say so and stop.
- If the visitor is angry, mentions a complaint, a warranty claim or a commercial site, say a person will call and collect a phone number.
- If an answer is unclear, ask once more, then record "unclear" and move on.
- Never ask for card details, passwords or door codes.

When you have the answers, or the visitor stops replying, output a JOB CARD in exactly this format and nothing after it:
POSTAL CODE:
SYMPTOM BUCKETS: (no heating / no hot water / pressure or leak / noise / error code / other)
FAULT IN THEIR WORDS:
ERROR CODE:
URGENCY: (emergency route / priority / routine)
VULNERABLE OCCUPANT: (yes / no / not asked)
MAKE AND MODEL: (as stated / read from photo, unconfirmed / unknown)
FUEL:
AGE BAND AND LAST SERVICE:
PLATE PHOTO: (received / not available)
AUTHORITY: (owner / tenant, landlord contact / agent)
ALREADY TRIED:
OPEN QUESTIONS FOR THE ENGINEER:

Test it before it meets a customer. Ask for a price three ways ("how much to fix a boiler?", "ballpark?", "is it more than $200?"). Say "I think I can smell gas" half-way through the flow. Paste in a blurred plate. Answer every question with "don't know". Each of these should produce a polite, bounded reply, and any that does not tells you which rule to tighten.

A sample conversation and the job card it produces

A short illustrative exchange with a customer who knows little about the boiler shows the aim. The assistant's job is to get the things that change the visit, not to make small talk.

Assistant: Hello, I'm an AI assistant for [company name]. A person confirms every booking. First: can you smell gas, or has a carbon monoxide alarm gone off?

Customer: No, nothing like that. No hot water since this morning.

Assistant: Thanks. What's the postal code of the property?

Customer: [postal code]

Assistant: Does the heating work, or is it only the hot water? And is there a code on the boiler's display?

Customer: Heating's fine. It says F-something and flashes.

Assistant: Could you send a photo of the display so I can read the exact code? Is anyone at home elderly, very young or unwell?

Customer: [photo] No, just us two adults.

Assistant: Thank you. Is there a label on the boiler with the make and model? Please do not open anything. A photo of the label is ideal.

The conversation then ends because the customer closes the window. The job card the assistant produces from what it has looks like this, and the right-hand column is where the engineer's morning gets easier.

FieldValueEngineer's note
Symptom bucketNo hot water; error codeHeating works, so the fault is probably limited to hot water; confirm on site
Error code"F" plus a digit, read from the photo of the displayLook up against the maker's code list once the model is confirmed
UrgencyPriority (no hot water), no vulnerable occupantOffer the first available slot
Make and modelUnknown (label photo not received)Ask by phone when confirming, or identify on arrival
AuthorityNot yet askedAsk by phone when confirming

Notice what is missing. The customer never reached the last question and the assistant did not invent an answer. "Not yet asked" is an honest entry, and it tells the office to ask by phone. If a conversation stops early, a half-finished card that says so is more useful than a complete card that is partly made up.

The form version: same questions, fewer abandoned

The form asks the same seven questions, but it needs a clearer split between required and optional, because every extra required field loses some visitors and there is no universal number for how many. A workable split is a handful of required fields and the rest optional but encouraged.

  • Required: name, phone number, postal code, what the boiler is doing (a short text box plus the five buckets as choices), how urgent it is.
  • Required, but as a choice: owner, tenant or managing for a landlord. A choice is quick to answer and avoids a surprise later.
  • Optional but pushed: data plate photo, make and model, age band, last service date, error code.
  • Never on the form: card details, passwords, door entry codes or anything about the household's health beyond the "elderly, very young or unwell" tick.

Branching saves you from collecting details you cannot use. If the visitor picks a fuel you do not service, send them to a polite "we can't help with this one" page instead of the fault questions. If the answer to "who owns the property" is "tenant", show the landlord's contact fields. Google Forms can send people to different sections after a multiple-choice or dropdown answer, which covers both cases. Tally's free plan lists conditional logic as well.

The photo field needs more thought than the branching. Google Forms' file upload question requires the visitor to sign in to a Google account before they can answer it, which is a lot to ask of a person standing next to a cold boiler. Tally's free plan lists file uploads and, per its pricing page, caps each file at 10 MB unless you pay for Pro (listed at $24 a month on yearly billing as of November 2026). That is normally plenty for a phone photo, but not for video. Whatever tool you choose, test the upload on a phone with a poor signal before you trust it. If you settle on Tally, drafting a Tally enquiry form from a prompt has its own tutorial.

When the form submits, the same job card format should arrive in your inbox or job software. The simplest route is a form-to-job-software connection or an automation that writes the fields into a template; the tutorial on sending chatbot enquiries into job software covers the connection, and whichever tool you use, check that the photo link arrives with it.

A Friday review of 20 enquiries keeps it honest

Chatbots drift. A customer finds a phrasing nobody tested, a platform update changes behaviour, or a rule you wrote last month conflicts with one you wrote this week. Put 20 minutes in the diary every Friday, open the last 20 conversations and form entries, and answer six questions. An illustrative first week might read like this.

  • How many have a make or model? 17 of 20. Three did not, and all three skipped the photo. Fine, but note why.
  • How many have a plate photo? 11 of 20, and 2 of the 11 were unreadable. Rewrite the photo instruction, because flash glare was the cause.
  • How many error-code faults have the code? 6 of 9. Add "read the code from the display" to the prompt more firmly.
  • Did every emergency phrase reach a person? Three did, the fastest in 4 minutes and the slowest in 31. Fix the alert that was slow.
  • Did the assistant ever diagnose, price or promise a time? Once: it said "that sounds like a pressure problem". Tighten the rule and re-test.
  • Did any booked visit go wrong? One, because a tenant answered "owner" by mistake. Reword the choice as "Do you own the property or rent it?"

Keep the log in a simple spreadsheet, one row per week. After a month you will know which questions customers answer, which they skip and which prompts keep failing. Compare the count of problem visits with the 11 in 40 you started from. If it has not dropped, the answer is almost never "add more questions". It is a clearer question, a better photo instruction or a rule that is not firing.

What to tell customers about the assistant and their photos

Say at the start that the visitor is talking to an AI assistant and that a person confirms every booking. If you have customers in the EU, the transparency duty for chatbots in the AI Act has applied since 2 August 2026, and the tutorial on chatbot disclosure wording under the AI Act has phrasing that fits. Even without that rule, it is the honest way to run a bot that asks about people's homes.

Photos can show more than the plate: family pictures on a shelf, a letter on the worktop. Ask for the label only, store the photos in the job record rather than in an inbox, and delete them when your retention policy says so. This is general guidance, not legal advice. If data-protection rules apply to your customers, ask your data-protection adviser how long job photos may be kept.

If a visitor would rather talk to a person, they should be able to. Put your phone number beside the chat window, and use the same job card layout when your office takes the details by phone, so the engineer sees one format whichever route the enquiry took. For the follow-up once a quote is out, the boiler replacement follow-up tutorial picks up where this one stops.

Questions heating engineers ask before switching the chatbot on

Should the chatbot give a price for the visit?

Only a fee you already publish, such as a call-out or diagnostic charge, worded exactly as it appears on your price page. Anything that depends on the fault, the part or the boiler should wait for the engineer. A chatbot that guesses a repair price creates a quote you may be held to, so put the rule in the prompt and test it by asking for a price three different ways.

What if the customer cannot find the data plate?

Record it as not available and carry on. Ask for the name on the front of the boiler and a photo of the whole unit instead, and tell the customer not to remove any cover to look for the plate. The engineer then identifies the model from the photo or on arrival, and the job card flags the parts risk so the van is stocked with that in mind.

Do I need both a chatbot and a booking form?

Not always, but keep the form. It catches visitors who dislike chat, it works when the chatbot tool is down, and it handles photo upload cleanly. If the chatbot cannot take images, let it send a link to the form for the photo step. Make both write to the same job card so the engineer never reads two formats.

Can the chatbot confirm an emergency call-out?

No. It can recognise an emergency, show your safety wording and alert your phone, but a person should confirm any urgent visit. If you run an out-of-hours line, show that number. If you do not, say plainly that the next visit is on the next working day, so nobody waits for a reply that is not coming.

Further reads

Sources: Google Forms help (question types, section routing, file upload sign-in), Tally pricing page (free-plan features and file size limit), boiler manufacturers' documentation on data plates and serial numbers, published gas-smell safety advice, EU AI Act Article 50 summary.

Want fewer wasted boiler visits from your website?

On a 1:1 call we'll go through your last twenty enquiries, work out which questions would have saved a visit, and check whether your current form or chatbot can ask them.

Book a 1:1 call with me