Chimney Sweep Business Software With AI: Reminders and Online Booking

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Chimney Sweep Business Software With AI: Reminders and Online Booking.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Chimney Sweep Business Software With AI: Reminders and Online Booking.

Chimney sweep software should keep one record per flue with last-sweep and next-due dates, email a booking link eight weeks before each due date, text anyone who has not booked, and offer online slots only in the lengths and daily numbers you set. AI helps with wording, list clean-ups and enquiry sorting; date and slot rules stay in the software.

Most "best chimney sweep software" lists compare brand names. What decides whether the autumn rush runs smoothly is a handful of rules you write down before you open any app: how the next-due date is worked out, who may book which slot, and what each text says. Any decent field-service tool can enforce those rules. None of them can invent the rules for you.

Follow me on Instagram@sagnikteaches

One record per flue, not one row per customer

A customer is not the thing that gets swept. A flue is. A house with a lined chimney serving an open fire and a twin-wall flue serving a multi-fuel stove has two jobs with different fuels, different intervals and different access, and a single "last sweep" date on the customer hides that. Reminders built on the customer record will either remind too early for one appliance or never remind for the other.

Connect on LinkedInSagnik Bhattacharya

Build the record around the appliance. These are the fields I would insist on, with what each one drives:

Subscribe on YouTube@sagnikteaches
FieldExample valuesWhat it drives
ApplianceOpen fire, wood stove, multi-fuel stove, range cooker, oil boiler flue, gas fireJob template, slot length, which questions the booking form asks
FuelWood, coal, smokeless fuel, oil, gas, pelletsDefault interval between visits
Flue typeMasonry chimney, clay-lined, steel-lined, twin-wall, flexible liner, room-sealed flueTools to bring, sweeping method, whether a camera check makes sense
AccessRods from below, roof ladder, scaffold needed, stack through the loftSlot length and who gets sent
Cap or guard fittedYes, no, damaged, unknownFindings and any follow-up quote
Last visit and typeDate; sweep, inspection or camera surveyNext-due calculation
Last findingClear, light soot, glaze, blockage, defect notedInterval override and follow-up task
Interval in months12 by default; 6 after a poor findingNext-due date
Carbon monoxide alarmPresent, absent, not checkedSafety note on the job card
Text consentYes or no, with the date and how it was givenWhether any text may be sent at all

Make flue type and fuel drop-down lists, not free text. A drop-down lets you filter "every steel-lined flue on wood" next spring, when a manufacturer notice or a bad winter makes you want to contact that group. In Jobber, custom fields can be added to clients, properties, quotes, jobs and invoices, and one of the value types is a drop-down. Its help page says custom fields are available on select plans, so check yours. A custom field holds a single value, so ask any vendor to show you a property with three flues before you commit your customer list to it.

Ask for a photo at booking, too. Jobber's online booking page lets a customer upload up to four files per booking (JPEG, PNG, HEIC or PDF, each under 10MB), and a photo of the stove and of the stack from outside usually settles whether you need a 60-minute slot or a 90-minute one.

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

Annual reminder logic: interval, anchor and override

Three decisions sit underneath every "annual reminder", and most software makes you take them whether or not you notice.

The interval. Annual is the floor for most flues, not the ceiling. One chimney-safety body's public guidance for homeowners says chimneys, fireplaces and vents should be inspected at least once a year, including those serving gas furnaces. It adds that a masonry fireplace should be swept when soot reaches about 3 mm (one-eighth of an inch), or sooner if any glaze, a hard and shiny form of creosote, is present. Your own trade body, the appliance maker's manual and the customer's insurer may ask for more. Set the default interval per fuel from those sources and write it into the record, so nobody argues from memory in October.

The anchor. Is the next date twelve months after the last completed visit, or a fixed window before the burning season? The two rules behave very differently once customers start booking late, as in this illustrative customer:

EventRule A: last visit plus 12 monthsRule B: window of August to October
First sweep9 Oct 20249 Oct 2024
Next due9 Oct 2025Window 1 Aug to 31 Oct 2025
Customer books lateSwept 2 Dec 2025Swept 2 Dec 2025, flagged overdue
Next due2 Dec 2026Window 1 Aug to 31 Oct 2026
Customer books late againSwept 20 Jan 2027Reminder lands 1 Aug, booked 12 Sep 2026
Position after two yearsSlid from October to JanuaryStill ahead of the burning season

Rule A is easy to build and it drifts. Rule B keeps the diary shaped like the burning season (move the window to the months before your customers start lighting fires), at the cost of some visits sitting nine or ten months apart, which stays inside an at-least-annual rule. If you choose B, the software has to let you put a target window on the flue record, not just an interval, so test that before you migrate anything.

The override. The last finding should be able to change the next date. Light soot: normal interval. Glaze or heavy build-up: a shorter interval (six months is a sensible starting setting, and the call is yours) plus a recheck task. A blocked flue or a defect that needs a quote: pause the reminder until the follow-up is decided, otherwise the customer gets a cheerful "time for your yearly sweep" text while a repair quote sits unanswered. The finding comes from the visit form, which is where turning camera findings into a plain-English report connects: the summary that goes to the customer should also set the next-due rule.

With those three decisions made, the reminder ladder is short:

StepWhenChannelPurposeStops when
Invitation8 weeks before dueEmail with booking linkLet the customer choose a slotA booking exists for that flue
First nudge4 weeks before dueText with booking link, only if consent is recordedCatch people who skip emailBooking made, or customer says stop
Last call1 week before dueTextInvite a call if the dates do not suitBooking made
Overdue task2 weeks after dueTask on your listA person phones; no automated messageBooked, lapsed or sold
Lapsed8 weeks after dueOne final emailMark the flue lapsed and take it off the autumn listReply received

Add a stop rule for every way a customer can leave the ladder: a booking, a request to stop, a sale of the property, or three unanswered messages after the due date. Reminders that keep firing after a booking are the fastest way to make a loyal customer feel processed.

The 90-day trap

Check the longest delay your software can wait. Jobber's custom automation builder, for example, fires "days after" triggers for quotes and invoices only, and its help page caps them at 90 days, so a message that should go ten months after the last visit cannot be built there. Annual repeats in Jobber come from a recurring job instead: its custom schedule can repeat weekly, monthly or annually. That puts next year's visit straight onto your calendar for a date the customer has not agreed to, which suits a maintenance plan but not an invitation to choose a slot. Whatever you buy, ask the vendor to show you a message firing 300 days after the last visit, to a customer who has not booked.

520 customers, two sweeps and a ten-week rush: the sums

The figures here are illustrative, for a two-sweep firm with 520 annual customers and 610 flues (430 customers have one flue, 90 have two). A one-flue visit gets a 60-minute slot, a two-flue visit gets 90 minutes (1.5 slots), and each sweep can run six slots a day including travel, five days a week. The rush lasts ten working weeks.

  • Total capacity: 2 sweeps × 6 slots × 5 days × 10 weeks = 600 slots.
  • Demand if every customer came in the rush: (430 × 1) + (90 × 1.5) = 565 slots. That is 94% of capacity and leaves no room for a blocked flue or an emergency call.
  • Realistic demand: assume 70% of customers book inside the ten weeks, so 0.7 × 565 = about 396 slots.
  • Online release of four slots a day per sweep: 2 × 4 × 5 × 10 = 400 slots. Demand takes 396 of them (99%) while the 200 held-back slots sit empty, so customers meet "no availability" while your diary has gaps.
  • Online release of five slots a day per sweep: 500 slots, 79% used, with 100 slots held back (one per sweep per day) for phone bookings and urgent jobs.

The decision that falls out of the sum is to release five a day and hold one. Without the sum, the usual instinct is to hold back a third of the diary "just in case" and then wonder why the booking page looks full in week four.

Messages come next. Say the invitation goes by email and the two later nudges by text. If nobody answered, that would be 520 emails and 1,040 texts. The ladder stops when someone books, so take assumed rates for the sum: 40% book after the invitation and a further 25% after the first nudge. That leaves 520 emails, 312 first nudges and 182 last calls, or 494 texts, each a single segment if it stays under 160 characters with no emoji. Multiply 494 by the per-text price on your plan to see the real cost.

Finally, the stagger. Spread evenly, 520 customers invited over ten weeks is 52 invitations a week. They will not be spread evenly: if 210 were swept last October, those 210 anniversaries land in the same four or five weeks, which is 42 to 52 invitations a week from that group alone, on top of everyone else. Cap invitations at about 60 a week, longest-overdue first, so one Monday email does not fill the booking page by lunchtime. If the rush still looks lumpy, autumn posts and offers written with AI can pull some bookings into the quieter weeks.

Slot lengths, daily limits and deposits for a sweep's day

Online booking is a set of limits dressed up as a calendar, so write the limits first. This starting configuration is illustrative; change the numbers to match how your crew really works.

JobSlotOnline releaseCard or depositRequired on the form
Routine sweep, one flue, known customer60 minUp to 5 a day per sweepNoneNothing new; flue details already on file
Routine sweep, two flues90 minCounts as 1.5 slotsNoneWhich appliance is the second one
New customer, first visit90 minUp to 2 a day per sweepCard on file or small depositAppliance, fuel, flue type, access, a photo
Camera survey120 minRequest form only; you confirm the timePay on the day or a depositReason: house purchase, chimney fire or unknown history
Liner, pot, cowl or repairQuote firstNot bookable onlineDeposit attached to the quotePhotos of the problem

What can the software actually enforce? Jobber's online booking settings cover the earliest date a customer can book (setting it to one business day away blocks same-day online bookings), the booking interval, a fixed buffer or a drive-time limit between appointments, a service area, a duration per service from 15 minutes to 12 hours, and each team member's bookable hours. It also has an assessment-booking form type that can require your approval before the customer sees a confirmed time. I could not find a "maximum online bookings per day" setting on that help page, so the practical way to apply the five-slot cap above is to shorten each person's online hours (five 60-minute slots with travel is a window of about six and a quarter hours) and keep the rest of the day for the phone. The same help page says a task with set start and end times stops online booking from assigning that person during it, so a "phone slot" task in the diary is another way to hold back a particular hour.

Deposits work differently in different tools. In Jobber a deposit attaches to a quote (a percentage or a fixed amount, collected through the client hub), while the online booking form can ask a customer to save a card, which needs Jobber Payments and accepts cards only. Housecall Pro's online booking page says you can collect deposits or payments upfront to secure appointments. For a routine sweep I would skip the deposit, and if you charge for late cancellations, say so in the confirmation text and keep a card on file. For a new customer in peak weeks, take a card on file. For repair work, take a deposit on the quote. Taking deposits for appointments online with Stripe or Square covers the mechanics if your software has no deposit option.

Four texts, each under 160 characters

Text confirmations and reminders do much of the work of preventing no-shows, and they come with a hard limit. Jobber's visit-reminder templates for text messages are capped at 160 characters and do not allow emojis or links, which its help page says is mainly to stop phone carriers blocking the sending numbers. The limit is not unique to Jobber. SMS provider documentation (Twilio's, for example) explains that a single message holds 160 characters in the basic encoding, but one emoji or one curly quotation mark switches the whole message to an encoding that holds only 70. Longer messages are split into segments of 153 or 67 characters, and providers typically bill per segment.

MessageWordingCharacters
Recall invitationHi [first name], your chimney is due its yearly sweep. Pick a time that suits you here: [booking link]. Reply STOP to opt out. [business]137
Booking confirmationBooked: chimney sweep, Tue 14 Oct, arrival 9-10am. Please make sure the fire is out and cold before we arrive. Need to change? Call [number].141
Reminder, 48 hours beforeReminder: chimney sweep on Tue 14 Oct, arrival 9-10am. Fire out and cold please. To change the slot, call [number].115
On the wayOn my way to you now, about 20 minutes. [your name]51

The counts include the placeholders as typed, so count again with a real phone number, link and business name in place. A link-bearing invitation may not fit a template that forbids links, in which case send the invitation as an email or a campaign and keep the templated texts for booked visits. For the wider playbook on rebooking and reminder wording, see reducing no-shows with AI reminders and automatic rebooking.

This is where an AI's first draft usually goes wrong. Asked for "a friendly reminder text", a chat assistant tends to produce something like the first block below. The second block is the same message after one editing pass:

AI first draft (about 295 characters, five segments because of the emoji):
Hi [first name]! 🔥 Just a friendly reminder that your annual chimney sweep is booked for Tuesday 14 October between 9am and 10am. Please make sure your fire is out and completely cold before we arrive. If you need to rearrange, please call us on [number] as soon as possible. Thank you so much!

After editing (141 characters, one segment):
Booked: chimney sweep, Tue 14 Oct, arrival 9-10am. Please make sure the fire is out and cold before we arrive. Need to change? Call [number].

Give the assistant the limits up front and it stops fighting them:

Write four SMS messages for a chimney sweep: booking confirmation, 48-hour reminder, on-the-way text, and a yearly recall invitation.
Rules: under 150 characters each, plain ASCII only (no emoji, no curly quotes or apostrophes), no exclamation marks, no links except in the recall invitation, which ends with [booking link]. Use [first name], [number] and [business] as placeholders. Tell me the character count of each message.

Ask for the counts, then check two of them yourself. Assistants can miscount, and a message that is 12 characters over still costs two segments.

Three jobs AI does well for a sweep, with prompts to copy

Three small jobs justify the subscription for a sweep, and none of them involves AI deciding anything about dates or diaries.

Tidy an old customer list into one row per flue

Most sweeps start from a paper diary, a spreadsheet or a box of cards. Before pasting anything into a chat assistant, take out names, phone numbers and full addresses (use a customer reference and a street name only), or use a business plan, since the vendors say business plans do not train on your content by default. On consumer plans, find the model-training switch in the privacy settings and check it. Then paste 20 to 30 lines at a time.

You are cleaning a chimney sweep's customer notes. Turn each line into one row per flue with these columns: customer ref, appliance, fuel, flue type, access, last visit (YYYY-MM-DD), date confidence, notes.
Rules: never guess a date. If a date could be read two ways (for example 10/11/23), set date confidence to "unclear" and leave last visit blank. If a line mentions two appliances, write two rows. Do not invent fuel or flue type; write "unknown".

Lines:
C014 | elm rd - open fire front room, stove in kitchen (multifuel) - swept 10/11/23 - roof needs ladder - call before
C027 | flat 3 - gas fire only, inspected 3/24 ?
C031 | hill farm - range cooker oil, twin wall flue, last done sep 22

A good run, shown here as an illustration, comes back like this:

RefApplianceFuelFlue typeAccessLast visitDate confidenceNotes
C014Open fire, front roomunknownunknownRoof ladderblankunclear10/11/23 is 10 Nov or 11 Oct; call before visiting
C014Stove, kitchenMulti-fuelunknownRoof ladderblankunclearSame visit as above; confirm which flue is which
C027Gas fireGasunknownunknownblankunclear3/24 could be March 2024; source has a question mark
C031Range cookerOilTwin-wallunknown2022-09 (day unknown)partialMonth and year only

Read the "unclear" rows first, because those are your phone calls. The common failure is an assistant quietly choosing one reading (10 November) and presenting it as fact; the "never guess a date" rule and the confidence column are the guard. Then check that the two appliances at one address became two rows under one customer reference, and that the "call before" note survived, because notes are the first thing a tidy-up drops.

Turn a free-text enquiry into booking fields and a safety flag

Enquiries arrive as texts, web forms and voicemail transcripts, and they rarely contain the fields a booking needs. Give the assistant the fields and the stop rules together:

Read the customer message below and fill these fields: name, appliance, fuel, last swept (if stated), preferred day, urgency.
Urgency must be PHONE_NOW if the message mentions smoke or fumes coming into a room, a carbon monoxide alarm, a chimney fire, a blocked flue, or a smell of burning from the chimney. Otherwise ROUTINE.
If urgency is PHONE_NOW, do not offer a slot and do not reassure; write one line for me to say when I call back.
If a field is missing, write "ask". Never diagnose a fault.

Message: Hi, we've got a log burner in the lounge, last done 2 yrs ago. Can you do next Thursday? There's a bit of smoke coming back into the room sometimes.

The output you want, again as an illustration:

Name: ask
Appliance: log burner, lounge
Fuel: wood (assumed from "log")
Last swept: about 2 years ago
Preferred day: next Thursday
Urgency: PHONE_NOW (smoke coming back into the room)
Line for the call-back: "Thanks for your message. Because you mentioned smoke coming back into the room, I'd like to talk it through by phone before we book. Is now a good time?"

Two checks. First, make sure the assistant did not quietly offer Thursday: models like to be helpful, and a rule that says "do not offer a slot" has to be that blunt. Second, look at the fuel field. "Log burner" suggests wood, but plenty of stoves burn other fuels too, which is why the output says "assumed". Run ten real past messages through the prompt and compare each result with what you would have decided yourself.

Throw awkward customers at your rules before real ones do

Paste your rule table (interval, anchor, ladder, stop rules, slot limits) into a chat assistant and ask it to break the rules:

Here are my reminder and booking rules: [paste]. Invent 12 awkward customers a chimney sweep would really meet. For each, say what my rules would do and where they give a wrong or unclear result. Keep each case to three lines.

Four cases from a run like this show the kind of gap it finds:

  • A landlord with four flats and one email address. The ladder would send four invitations to one inbox. Fix: one message listing the flats, one booking per flue.
  • A customer who bought the house mid-cycle. There is no history, so next-due is blank and no reminder ever fires. Fix: a "new owner" status that sends a first-visit invitation at once.
  • A customer who texts STOP after the first nudge. The last call is also a text. Fix: STOP means email only, and the overdue task becomes a phone call.
  • A customer who tries to book in June for an October due date. The window has not opened, so the form shows nothing. Fix: set earliest availability for existing customers to the day their invitation goes out.

Treat the assistant's list as a prompt for thinking, not an audit. It will miss cases that only come from your own round, which is why the pilot at the end matters.

What AI should leave alone

Four jobs stay with the software or with you:

  • Date arithmetic. Next-due dates come from the software's own calendar logic. Use the assistant to check ten of them by hand, not to calculate six hundred.
  • Slot approval. A chat assistant that "books" a slot by replying to a message is not reading your calendar. Online booking should write straight to the diary under the limits you set, or it should hand over.
  • Anything about smoke, fumes, alarms or fire. These go to a person on the phone, as the enquiry prompt above enforces.
  • Diagnosis and prices outside your list. "Is my flue safe?" and "how much for a liner?" need a visit and a quote.

If you want an AI to answer calls or texts and book on its own, price it before you commit. Jobber's Receptionist add-on, for example, is listed at $29 on selected plans for 30 conversations, then $0.79 for each further one (its help article, updated 28 October 2026). What a chimney sweep should let a website chatbot handle sets out which conversations are worth handing over.

Checking two common apps against your rule list

The table below reads each vendor's own pages as of early November 2026. It is not a ranking. Both apps are general field-service tools rather than sweep-specific ones, and plan details change, so confirm every line for the plan you would actually buy.

NeedJobber (help articles and feature pages)Housecall Pro (feature pages)
Online bookingRequest forms with an assessment or job booking question, one type per form; bookable services with durations; available on select plansBooking page with your services, pricing and coverage areas; shows slots from the team schedule, service area and job duration
Limits on slotsEarliest availability, booking interval, buffer or drive-time limit, service area, per-person hours; no per-day cap foundPublic page stops at schedule, area and duration; anything finer is a demo question
DepositsOn quotes (percentage or fixed); card-on-file field on forms, needs Jobber PaymentsPage says deposits or payments can be collected upfront to secure appointments
Visit remindersEmail or text before a visit; text templates capped at 160 characters, no emojis or links; text reminders limited to some countriesAutomated booking reminders (named on its chimney sweep software page); automated service reminders on service plans
Annual repeatRecurring jobs with a custom schedule that can be annual; automation triggers capped at 90 daysService plans generate recurring jobs and reminders; customers can renew online
Extra fieldsCustom fields on clients, properties, quotes, jobs and invoices, including drop-downs; select plansAsk in the demo

Take these questions into any demo, whichever vendor you are talking to:

  1. Show me a customer with three flues, each with its own fuel, interval and next-due date.
  2. Fire a message 300 days after the last visit to a customer who has not booked.
  3. Book a customer online, then reschedule the visit. What happens to the reminders? (Jobber's help page says rescheduling cancels the old reminders and schedules new ones; confirm the same of anything else.)
  4. Show me how I cap online bookings per day and hold slots back for the phone.
  5. Where is text consent stored, and does STOP stop texts without stopping emails?
  6. Export every flue record, with dates, as a spreadsheet.

A ten-customer pilot before the whole list goes in

Pick ten real customers: at least two with two flues, one landlord, one with no text consent, one overdue by more than a year, and one new owner with no history. Load only those, set their due dates a few weeks ahead so the ladder starts straight away, and watch it run. Then check:

  • Every message arrived on the right channel, once, with the right name and date.
  • A booking stopped the remaining messages for that flue and no other.
  • A late booking did not push the next-due date outside your anchor rule.
  • The customer without consent got email only, and a STOP reply was honoured.
  • Booking past the daily limit was impossible, and a same-day request was refused.
  • All ten next-due dates match a paper calendar.

Then load the rest and keep a weekly audit for the first month: flues with no next-due date (the number should be zero), bookings outside your limits, bounced emails and failed texts. If four weeks come back clean, move the audit to the end of each season.

Questions sweeps ask before choosing software

Can I send annual chimney sweep reminders without special software?

Yes, for a few hundred customers. Keep one spreadsheet row per flue with last visit, interval and next-due columns, filter for the coming eight weeks, and send invitations with a mail merge. It breaks down when customers have several appliances, when texts need consent records, or when a booking must stop the remaining reminders. That is where software starts to pay for itself.

Should customers be able to book any slot online?

No. Release only the slot lengths and daily numbers you have set, hold a few slots back for phone calls and urgent jobs, and send anything involving smoke indoors, a blocked flue or a carbon monoxide alarm to a phone call. Online booking works best for routine sweeps at known addresses where the appliance type is already on file.

Do I need a deposit for a standard chimney sweep?

Usually not for an existing customer on a routine sweep, because the job is short and the relationship already exists. Consider a card on file or a small deposit for new customers in peak weeks, for camera surveys and for anything priced by quote. Check how your software handles it, because some attach deposits to quotes rather than to online bookings.

Is it safe to let AI answer booking enquiries?

For routine questions, with limits. Let it collect appliance, fuel and address details and offer only slots your calendar allows. Make it stop and hand over to you for fumes, smoke indoors, a chimney fire, a sounding carbon monoxide alarm or any request to diagnose a fault. Read a sample of its conversations every week for the first month.

Further reads

Sources: Jobber help articles on online booking, visit reminders, custom fields, deposits on quotes, recurring jobs and the custom automation builder; Jobber and Housecall Pro feature pages; Twilio's SMS character-limit documentation; a chimney-safety trade body's homeowner guidance on inspection and sweeping (all read November 2026).

Want your sweep reminders and booking rules set up properly?

On a 1:1 call we'll map your current reminder and booking steps, pick the rules worth automating first, and check whether the software you already use can enforce them.

Book a 1:1 call with me