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.
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.
Build the record around the appliance. These are the fields I would insist on, with what each one drives:
| Field | Example values | What it drives |
|---|---|---|
| Appliance | Open fire, wood stove, multi-fuel stove, range cooker, oil boiler flue, gas fire | Job template, slot length, which questions the booking form asks |
| Fuel | Wood, coal, smokeless fuel, oil, gas, pellets | Default interval between visits |
| Flue type | Masonry chimney, clay-lined, steel-lined, twin-wall, flexible liner, room-sealed flue | Tools to bring, sweeping method, whether a camera check makes sense |
| Access | Rods from below, roof ladder, scaffold needed, stack through the loft | Slot length and who gets sent |
| Cap or guard fitted | Yes, no, damaged, unknown | Findings and any follow-up quote |
| Last visit and type | Date; sweep, inspection or camera survey | Next-due calculation |
| Last finding | Clear, light soot, glaze, blockage, defect noted | Interval override and follow-up task |
| Interval in months | 12 by default; 6 after a poor finding | Next-due date |
| Carbon monoxide alarm | Present, absent, not checked | Safety note on the job card |
| Text consent | Yes or no, with the date and how it was given | Whether 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
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 nowAnnual 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:
| Event | Rule A: last visit plus 12 months | Rule B: window of August to October |
|---|---|---|
| First sweep | 9 Oct 2024 | 9 Oct 2024 |
| Next due | 9 Oct 2025 | Window 1 Aug to 31 Oct 2025 |
| Customer books late | Swept 2 Dec 2025 | Swept 2 Dec 2025, flagged overdue |
| Next due | 2 Dec 2026 | Window 1 Aug to 31 Oct 2026 |
| Customer books late again | Swept 20 Jan 2027 | Reminder lands 1 Aug, booked 12 Sep 2026 |
| Position after two years | Slid from October to January | Still 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:
| Step | When | Channel | Purpose | Stops when |
|---|---|---|---|---|
| Invitation | 8 weeks before due | Email with booking link | Let the customer choose a slot | A booking exists for that flue |
| First nudge | 4 weeks before due | Text with booking link, only if consent is recorded | Catch people who skip email | Booking made, or customer says stop |
| Last call | 1 week before due | Text | Invite a call if the dates do not suit | Booking made |
| Overdue task | 2 weeks after due | Task on your list | A person phones; no automated message | Booked, lapsed or sold |
| Lapsed | 8 weeks after due | One final email | Mark the flue lapsed and take it off the autumn list | Reply 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.
| Job | Slot | Online release | Card or deposit | Required on the form |
|---|---|---|---|---|
| Routine sweep, one flue, known customer | 60 min | Up to 5 a day per sweep | None | Nothing new; flue details already on file |
| Routine sweep, two flues | 90 min | Counts as 1.5 slots | None | Which appliance is the second one |
| New customer, first visit | 90 min | Up to 2 a day per sweep | Card on file or small deposit | Appliance, fuel, flue type, access, a photo |
| Camera survey | 120 min | Request form only; you confirm the time | Pay on the day or a deposit | Reason: house purchase, chimney fire or unknown history |
| Liner, pot, cowl or repair | Quote first | Not bookable online | Deposit attached to the quote | Photos 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.
| Message | Wording | Characters |
|---|---|---|
| Recall invitation | Hi [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 confirmation | 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]. | 141 |
| Reminder, 48 hours before | Reminder: chimney sweep on Tue 14 Oct, arrival 9-10am. Fire out and cold please. To change the slot, call [number]. | 115 |
| On the way | On 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:
| Ref | Appliance | Fuel | Flue type | Access | Last visit | Date confidence | Notes |
|---|---|---|---|---|---|---|---|
| C014 | Open fire, front room | unknown | unknown | Roof ladder | blank | unclear | 10/11/23 is 10 Nov or 11 Oct; call before visiting |
| C014 | Stove, kitchen | Multi-fuel | unknown | Roof ladder | blank | unclear | Same visit as above; confirm which flue is which |
| C027 | Gas fire | Gas | unknown | unknown | blank | unclear | 3/24 could be March 2024; source has a question mark |
| C031 | Range cooker | Oil | Twin-wall | unknown | 2022-09 (day unknown) | partial | Month 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.
| Need | Jobber (help articles and feature pages) | Housecall Pro (feature pages) |
|---|---|---|
| Online booking | Request forms with an assessment or job booking question, one type per form; bookable services with durations; available on select plans | Booking page with your services, pricing and coverage areas; shows slots from the team schedule, service area and job duration |
| Limits on slots | Earliest availability, booking interval, buffer or drive-time limit, service area, per-person hours; no per-day cap found | Public page stops at schedule, area and duration; anything finer is a demo question |
| Deposits | On quotes (percentage or fixed); card-on-file field on forms, needs Jobber Payments | Page says deposits or payments can be collected upfront to secure appointments |
| Visit reminders | Email or text before a visit; text templates capped at 160 characters, no emojis or links; text reminders limited to some countries | Automated booking reminders (named on its chimney sweep software page); automated service reminders on service plans |
| Annual repeat | Recurring jobs with a custom schedule that can be annual; automation triggers capped at 90 days | Service plans generate recurring jobs and reminders; customers can renew online |
| Extra fields | Custom fields on clients, properties, quotes, jobs and invoices, including drop-downs; select plans | Ask in the demo |
Take these questions into any demo, whichever vendor you are talking to:
- Show me a customer with three flues, each with its own fuel, interval and next-due date.
- Fire a message 300 days after the last visit to a customer who has not booked.
- 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.)
- Show me how I cap online bookings per day and hold slots back for the phone.
- Where is text consent stored, and does STOP stop texts without stopping emails?
- 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
- AI Service Reminders That Bring Garage Customers Back — Reminder wording that brings repeat customers back, from another trade
- Heating Engineer Website: What the AI Chatbot and Form Should Ask — What a trade booking form and chatbot should ask first
- Handyman Scheduling Software: Can AI Fit Small Jobs Into Full Days? — Fitting short jobs into full days without double-booking
- Backflow Testing Software for Plumbers: Reminders and Reports With AI — Annual-test reminders and reports for another regulated trade
- Gutter Cleaning Software: Reminders, Routes and Recurring Bookings With AI — Seasonal recurring bookings and routes for a similar one-van trade
- Air Duct Cleaning Business: Quotes, Reports and Follow-Ups With AI — A per-vent rate card, a job-report routine built on before-and-after photos, and follow-up texts that offer only what the job showed.
- PAT Testing Software: Where AI Helps With Reports and Reminders — Test the reminder and report claims in PAT software, then let AI draft customer summaries and chasers while the tester keeps every result and decision.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
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).