AI Automation for Contractors: Qualify, Book and Confirm Site Visits

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Automation for Contractors: Qualify, Book and Confirm Site Visits.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Automation for Contractors: Qualify, Book and Confirm Site Visits.

Capture each enquiry in one sheet, let AI extract the job type, location and budget, and reply with a verdict: book a site visit, ask for missing details, or decline. Rules then confirm the visit, send a prep list and remind. The contractor owns every decision that costs money, and texts go only to people who agreed.

The line between AI and plain automation matters here. AI is needed in two places only: reading free-text enquiries and drafting the first reply. Booking, confirming and reminding are ordinary rules, which is why they are reliable. And three limits outrank everything else: no price, no promise of a date outside the diary, and no text to a number that has not agreed to be texted.

Follow me on Instagram@sagnikteaches

The five steps, and who decides at each

Each step ends either in a rule that runs by itself or in a person who decides. Knowing which is the main design choice.

Connect on LinkedInSagnik Bhattacharya
  1. Capture. Every enquiry becomes one row in one sheet, with consent recorded. Rules only, and nothing for you to approve.
  2. Qualify. AI reads the row, extracts job type, location and budget, and picks a verdict. You approve declines, at first.
  3. Book. The reply carries a booking link for the right kind of visit. AI drafts the reply and rules do the booking; you approve first replies, at first.
  4. Confirm. A confirmation and a prep list go out when a slot is taken. These are fixed templates that you approve once.
  5. Remind. Reminders go before the visit and replies reach a person. Rules only, and you handle the reschedules.

After the visit, the work passes to quoting. The tutorial on quote follow-ups that run themselves picks up where this one stops.

Subscribe on YouTube@sagnikteaches

Step 1: Capture every enquiry in one sheet, with consent built in

Enquiries arrive by web form, text, email, a directory's lead message and the phone. The aim is that each becomes one row in one sheet, because a qualifying rule can only run on enquiries it can see. The tutorial on lead tracking from enquiry form to pipeline sheet covers the plumbing. For website visitors who prefer to chat, the tutorial on an AI chatbot that captures job details feeds the same sheet.

The form decides how good everything after it can be. Use pick-lists wherever you can, because free text is where a model misreads. Eight fields are enough:

  • Job type, from your own list: kitchen, bathroom, extension, loft conversion, roof, other.
  • Where the job is, as an area or address, so the rule can check it against your service area.
  • Budget band, as a pick-list: under $8,000, $8,000 to $20,000, $20,000 to $50,000, over $50,000, not sure.
  • Hoped-for start: within a month, one to three months, later, just looking.
  • Do they own the property, and who decides, as two quick questions.
  • A short description in their own words. The AI reads this one most closely.
  • Photos, by link or by replying to the confirmation. Google Forms' file-upload question makes people sign in with a Google account, which loses enquiries.
  • A consent checkbox for texts, unticked, with wording given in the consent section below. Store its answer, a timestamp and the form version in the row.

Calls are the awkward source. An AI receptionist or voice agent can write the caller's details into the same sheet. For calls nobody captures, a missed-call text can ask the caller to use the form instead.

Step 2: Extract job type, location and budget, then give a verdict

Qualifying means checking three facts against rules you set once: is it work you do, is it somewhere you go, and is the budget realistic for your minimum job. Write the profile in your own terms, and tell the model to judge the job, never the person.

You help a small renovation contractor screen new enquiries. Judge the JOB, not the person. Ignore names and anything personal.

My profile: we do kitchens, bathrooms, extensions and loft conversions; minimum job size $8,000; we work in these areas: [list]; site visits are Tuesday and Thursday mornings; we do not do emergency repairs, and for those we say: [my wording].

From the enquiry below, return:
1. Job type (one of my list, or "other").
2. Location: inside my areas, outside, or unclear.
3. Budget: the stated band or figure, and whether it meets my minimum.
4. Timeline in plain words.
5. What is missing.
6. Verdict: BOOK (it fits, the location is inside my areas, the budget meets the minimum), ASK (a fact is missing or unclear), or DECLINE (outside my work, my areas or my minimum).
7. A reply under 100 words, signed [first name]. For BOOK, say a site visit is the next step and that a booking link follows. For ASK, ask for at most three things. For DECLINE, be polite and suggest [referral]. Never mention a price. Never promise a date.

Enquiry: [paste the row]

Take three illustrative enquiries. The first is a kitchen about 4 by 3 metres, a budget band of $20,000 to $50,000, owners, hoping to start within three months, in an area on your list. This is the shape of what comes back.

Job type: kitchen. Location: inside my areas. Budget: $20,000 to $50,000, meets the $8,000 minimum. Timeline: start within three months. Missing: photos of the current layout. Verdict: BOOK.

Reply: "Hi [first name], thanks for your enquiry about the kitchen. The next step is a site visit, so we can see the room and talk through what you want. A booking link follows by email with Tuesday and Thursday morning slots. Photos of the current layout would help if you can send them. [your first name]"

The second is "leaking roof, need someone asap, no idea what it costs". It returns ASK, with a reply along these lines: "Hi [first name], thanks for getting in touch. Before we can help, three quick questions: is water coming in right now, what type of roof is it, and can you send a photo of the damaged area? [your emergency wording, copied exactly]". The third, a garden room at $4,000 outside your areas, returns DECLINE with a polite reply and a referral. Notice that none of the three replies names a price or a date, which is what the last line of the prompt enforces.

Two rules keep this honest. First, the model may not guess. If a field is missing it says so and returns ASK, which costs you a message rather than a wasted drive. Second, a person reads every DECLINE until you have checked at least twenty, because a wrongful decline is a lost job nobody ever sees. Where the unit of the budget could be misread ("20" for $20,000, or for $20 an hour), use the pick-list rather than free text. A trade with its own screening questions, such as roof type or head height for a loft conversion, can add them to the profile and the form.

Step 3: Book the visit from the reply, not by email ping-pong

The reply to a BOOK verdict carries a link to a booking page that shows only the slots you can actually do. Three tools suit a small contractor.

OptionCost (USD list)RemindersLimits worth knowing
Google Calendar appointment schedulesFree with a personal Google account for one booking page; Google says some features need an eligible Workspace or Google One plan, so check its comparison pageConfirmation emails and up to 5 reminders; you cannot edit the reminder textCannot be created from the phone app; default minimum lead time of 4 hours; extra questions via "Add an item"; payments only through Stripe
CalendlyFree (one event type); Standard $10 and Teams $16 per seat a monthAutomated reminders on Standard and aboveRouting forms are Teams and above; the pricing page does not mention text reminders
Jobber online bookingOn every plan, from Core at $49 a month for one user month to month; less on annual billingEmail confirmation at booking; automated client reminders start on Connect ($139 a month for one user)Assigns an available team member; on-my-way texts are listed, but the pricing page does not mark which plan has them

Calendly's prices are per seat, billed yearly, so check the monthly rate on its page. Whichever you pick, set it up the same way. Create one visit type per kind of job, with the visit length (45 minutes for a kitchen, longer for a loft) and a buffer for travel either side. Offer only Tuesday and Thursday mornings, if that is when you do visits. Set a minimum notice of a day, so nobody books for this afternoon. And make sure the calendar the booking page reads is the one that holds your site work, or it will double-book you.

Step 4: A confirmation text and a prep list for each job type

A visit goes well or badly in the first ten minutes, and what the customer has ready decides which. The confirmation therefore carries a prep list. Ask ChatGPT or Claude to draft one prep list per job type from your own checklist, then save them as fixed templates; the automation fills in the name, date and address and does not ask the AI to write them again.

Job typeWhat the customer has ready
KitchenWorktops and the cupboard under the sink cleared; the location of the main water shut-off and the electrical board; any appliance sizes already chosen; both decision-makers present if possible
BathroomClear access to the room; photos of any damp or staining; the shut-off location; whether the household needs a second bathroom during the work
Loft conversionSafe access to the loft hatch; any existing drawings; photos of the roof from outside; a note of any restrictions on the property

The prep list is for the customer. Your own side of the visit benefits from a checklist too, which the tutorial on a Google Forms site-visit checklist for builders sets up. The email that carries the customer's list can be fuller than the text. An illustrative version for a bathroom visit reads as follows.

Subject: Your site visit on [day] at [time]

Hi [first name], your site visit is booked for [day] at [time] at [address as you entered it]. Reply if anything here is wrong. To make the most of the 45 minutes, please have ready: clear access to the bathroom; photos of any damp or staining; the location of the main water shut-off; and a note of whether the household will need a second bathroom during the work. If you have pictures of styles you like, bring them. To change the time, reply C or R to the text, or use this link: [link]. [your first name], [business]

The confirmation text stays short on purpose. On services that bill per segment, a text over 160 characters is split and billed as more than one, and an emoji or a curly apostrophe can cut a segment to 70 characters; Twilio documents this. So the text confirms the essentials and points to the longer prep list in the email.

Hi [first name], [business] here. Site visit booked: [day], [time]. Prep list by email. Reply C to confirm, R to change, STOP to stop texts.

Filled in with a first name, a business name, "Thursday" and "9:30", that comes to about 140 characters, inside one segment. A friendlier version that adds a sentence such as "Please have the prep list ready (sent by email)" runs to about 190 and goes as two. Neither is wrong; the point is to count the finished message, not the template, because names and times add characters. Keep apostrophes straight in templates, since text pasted from a word processor can carry curly ones. The email repeats the details, shows the address as the customer typed it with a line saying "Reply if anything here is wrong", and attaches the prep list.

Step 5: Reminders and reschedules that reach a human

Two reminders cover most visits: one the day before, which gives time to reschedule, and one a couple of hours before, which stops the "sorry, I forgot" at the door. Add a third, a day or two earlier, only for visits that need preparation such as clearing a loft. Each reminder repeats the time and address and offers a way to change it. A day-before text might read "Hi [first name], a reminder that [your first name] visits [street] tomorrow at [time]. Reply C to confirm or R to change. Reply STOP to stop texts." The two-hour one can be shorter still: "Hi [first name], see you at [time] today. If anything has changed, reply here or call [number]."

Replies are where automation goes wrong. A keyword such as C or R can be handled by rules, but "can you come at 4 instead?" cannot. Route every reply that is not a clean C or R to your phone as a notification, never into a loop that answers by itself. Google Calendar's appointment schedules send up to five email reminders but you cannot edit their text, so if the wording matters, use a tool that lets you write it. For the wider picture on cutting missed appointments, the tutorial on reducing no-shows with AI reminders and automatic rebooking goes further. Plan for the rest too: when someone reschedules, the old slot must reopen, and the customer's changed date must update your sheet.

Consent wording for texts: a template and the record to keep

Texting is where many small firms get into trouble, so decide the rules before the first message. The principles are broadly shared: ask clearly, say what you will send, record the answer, make stopping easy, and keep marketing separate from service messages. The legal detail differs by place and by type of message, so have an adviser confirm yours and write the result into your procedure.

Checkbox on the form (unticked by default):
[ ] Yes, you may text me about this enquiry and my site visit, including confirmation and reminder messages. I can reply STOP at any time.

Line under the form:
We use these details only to reply to your enquiry and arrange a visit. Our privacy notice explains who else handles them and how long we keep them.

First text:
Hi [first name], it's [your first name] at [business]. You asked us to text you about your site visit. Reply STOP to stop messages.

Separate box, only if you want it (also unticked):
[ ] Yes, you may also send me occasional news and offers.

Five habits sit around the wording. Record the tick, the date and time, the wording version and the number, in the row. Treat a missing or unticked box as "email only": a filter step in your automation should block texts unless the consent cell says yes (Zapier's filters need a paid plan; the free plan does not include them). Honour STOP at once, in every tool that can text. Keep marketing consent in its own box, never bundled with the visit. And do not text numbers you picked up elsewhere, such as a directory's lead, until you have checked what the lead terms allow. The tutorial on AI agents calling customers, with confirmations, chasers and consent goes further on the calling side.

What it costs and what it saves, with illustrative sums

A calendar tool can be free, and the AI step can live in a Zap or be run by hand. A typical build: Zapier Professional at $19.99 a month billed annually or $29.99 monthly for 750 tasks (the free plan allows two-step Zaps only, with no filters and no AI step), plus ChatGPT Plus or Claude Pro at about $20 if you want the model outside Zapier, plus Calendly Standard at $10 a seat if you do not use Google Calendar's free schedules. Call it $20 to $60 a month, depending on which of those you need.

For tasks, assume 30 enquiries and 18 booked visits a month. Reading, writing a row, drafting a reply and notifying you is about four tasks an enquiry, so 120; confirmations, reminders and logging are about three tasks a visit, so 54. That is about 174 tasks, counting each AI step once. Zapier charges AI steps by model tier and does not print the task count per step on its pricing page, so assume five tasks per AI step, the highest rate it had published: the 30 AI steps then add 120 more (four extra each), for roughly 300, comfortably inside 750.

The savings use your own timings. Suppose each enquiry costs you 12 minutes of reading, replying and scheduling back and forth, and the chain cuts that to 4: 30 enquiries save 240 minutes, four hours. Suppose 4 of 18 visits are no-shows or last-minute cancellations, each costing 1.5 hours of travel and waiting, and reminders halve that: three hours saved. Seven hours at $65 an hour is $455 a month against $20 to $60 of tools. The figures are illustrative; the point is to count your own no-shows, because that is the number that usually surprises people.

A ten-enquiry test before it touches a real customer

Run ten made-up enquiries through the chain with your own phone number and email as the contact, and check every output. Use these.

Test enquiryExpected result
Clear kitchen job, inside your area, over your minimumBOOK, reply with a booking link, no price
Same enquiry, consent box left untickedBOOK, but email only and no text sent
"Need a quote asap", nothing elseASK, at most three questions
Garden room at $4,000, outside your areaDECLINE, saved as a draft for you
Budget typed as "20"ASK, not a guess
A leaking roof with water coming in nowYour emergency wording first, then ASK
The same enquiry submitted twiceOne row, one reply
A rude or abusive messageNo automatic reply; flagged for you
A link-stuffed spam submissionNo reply, no booking
A booking made, then rescheduled by replyOld slot reopened, sheet updated

Run it in draft mode for the first week: every reply is saved for you to read, and nothing sends itself. Then switch on automatic sending for the BOOK verdict only, after at least ten clean checks, and leave ASK and DECLINE as drafts until you trust them. Review a handful of real conversations each week, because enquiries change with the season and the rules will need a nudge.

Five failures to design out before launch

  • Double bookings. The booking page reads one calendar while your site work lives in another. Put everything in the calendar it reads.
  • A confident misreading. The model reads "20" as $20,000 or sees a location that is not on your list. Pick-lists and the "never guess" rule limit it.
  • A promised price or date. The "never mention a price, never promise a date" line must sit in the prompt and be tested with an enquiry that begs for a price.
  • Texting without a yes. The consent filter is the single most important step; test it with the unticked case every time you edit the chain.
  • Replies nobody sees. A customer answers a reminder with a question and the message vanishes into a no-reply address. Route every non-keyword reply to your phone.

Questions contractors ask about automating enquiries and site visits

Should AI decline unsuitable enquiries on its own?

Not at first. Let it draft the decline and save it for you to read until you have checked at least twenty. Most wrongful declines come from misread budgets or a location the AI could not place. After that, you might let the clearest case, below your minimum job size and outside your area, send automatically while everything else stays as a draft.

Do I need consent to text someone who filled in my form?

Rules differ by place and by the kind of message, so ask an adviser which apply to you and write the answer into your procedure. As a safe default, use an unticked checkbox that names the messages (confirmation and reminders for the visit), record when it was ticked, honour STOP at once, and keep marketing consent separate.

Can AI quote a price in the first reply?

It should not. A first reply that names a price commits you before you have seen the site and teaches customers to compare numbers instead of conversations. Let the reply book the visit, and keep pricing for the quote that follows it. If you do give a range, write it yourself and approve every message that carries one.

What if a customer does not reply to the confirmation?

Treat silence as unconfirmed, not as a yes. Send the reminder as planned, include a one-tap way to confirm or reschedule, and phone anyone still unconfirmed on the morning of a visit that involves a long drive. Keep a count of unconfirmed visits so you can see whether your confirmation wording works.

Further reads

Sources: Google Calendar Help on appointment schedules and its premium-feature comparison; Google's Forms help page on question types; Calendly's pricing page; Jobber's pricing and online booking pages; Zapier's pricing page; Twilio's documentation on SMS character limits; OpenAI's ChatGPT pricing page; all read in October 2026.

Want your enquiry-to-visit steps built around your diary?

On a 1:1 call we'll map how enquiries reach you today, decide which qualifying rules to automate first, and set up consent and reminders you can run yourself.

Book a 1:1 call with me