The fastest way to fill a cleaning schedule isn’t a new ad channel — it’s writing the right text at the right moment and sending it every single time. This post is a copy-paste library of 28 cleaning-business text message templates covering the whole customer lifecycle: the instant quote reply, the booking confirmation, the day-before reminder, the “crew’s on the way” text, the review request timed to the after-photo, the rebooking nudge, the failed-payment save, and the win-back. Swap in your company name and price, wire them into GoHighLevel, and you have a system that books, confirms, and keeps customers without you thumbing out the same message a hundred times a week.
Text works for cleaners because it’s the one channel homeowners actually read. Roughly 90% of text messages are read within three minutes (Tatango), SMS averages about a 45% response rate versus ~6% for email (Kixie), and 87% of consumers want scheduling notifications by text from the businesses they use (Text Request, 2024 State of Business Texting). A homeowner who books a clean will scroll past your email confirmation and open your text before they’ve set the phone down.
Key Takeaways
- Templates turn scattered follow-up into a system. The value isn’t a clever one-off message — it’s sending the right text at every stage, automatically, so nothing slips. Use this post’s 28 scripts as your starting swipe file and edit to your voice.
- Text is the channel that gets read. About 90% of texts are read within 3 minutes (Tatango) and SMS responds at roughly 45% vs ~6% for email (Kixie). Your quote and reminder actually get seen.
- Reminders kill no-shows. In an appointment-based RCT, text reminders cut the no-show rate to 23.5% vs 38.1% for the control group (NIH/PMC); reviews of medical settings report reductions of up to 38% (Klara). A crew that shows up to a locked door is pure lost margin.
- Speed wins the quote. The landmark MIT/InsideSales study found replying within 5 minutes instead of 30 makes you about 21× more likely to qualify the lead (MIT/InsideSales). Templated quote replies let you hit that window every time.
- The back half of the list is where the money is. Rebooking, failed-payment saves, and win-backs protect revenue you already earned — and keeping a customer costs 5–25× less than acquiring one (HBR).
- Every text must be TCPA/10DLC compliant. Get consent, identify your business in every message, and honor STOP automatically. See our TCPA & 10DLC guide for cleaners.
Table of contents
- Why text templates beat every other follow-up for cleaners
- The 7 texts every cleaning business needs
- Stage 1 — New lead & instant quote
- Stage 2 — Quote follow-up
- Stage 3 — Booking confirmation
- Stage 4 — Appointment reminders
- Stage 5 — On-my-way & arrival
- Stage 6 — After the clean: photos & reviews
- Stage 7 — Rebooking & recurring attach
- Stage 8 — Failed-payment recovery
- Stage 9 — Win-back & referral
- How to personalize templates without sounding like a robot
- The compliance rules you cannot skip
- How to deploy these in GoHighLevel
- Frequently asked questions
Why text templates beat every other follow-up for cleaners
Ask most cleaning owners how they follow up and you’ll hear some version of “when I get a minute.” That’s the whole problem. The quote goes out four hours after the lead came in, the reminder never gets sent because you were on a job, and the review request happens only when you happen to remember. Every gap in that chain is a booked clean or a five-star review you leave on the table.
A text template library closes those gaps by making the right message the default. You’re not deciding what to write when a lead comes in — the message already exists, it fires on a trigger, and it’s worded to move the customer one step forward. That matters because of two hard facts about cleaning businesses:
Your customers read texts and ignore everything else. Roughly 90% of text messages are read within three minutes of delivery (Tatango), and SMS pulls about a 45% response rate compared with ~6% for email (Kixie). It’s not that email is useless — it’s that when you need a homeowner to confirm a time or answer a question today, text is the only channel that reliably reaches them. And they want it that way: 87% of consumers want to receive scheduling notifications by text, and 77% want to be able to text a business to schedule an appointment (Text Request).
Speed decides who wins the job. The landmark MIT/InsideSales lead-response study — three years of data across 15,000+ leads — found that contacting a web lead within five minutes instead of thirty makes you about 21× more likely to qualify it (MIT/InsideSales). A templated quote reply that fires the second a form is submitted is how you win that race without staring at your phone all day. It’s the same logic behind missed call text-back and why an instant SMS quote beats a same-day callback.
The rest of this post is the swipe file. Each stage has ready-to-send templates and a one-line note on the trigger and timing. Bracketed fields like [Name], [Company], [Price], and [Date/Time] are merge fields your CRM fills in automatically.
The 7 texts every cleaning business needs
If you do nothing else, wire up these seven. They map to the seven moments where cleaning businesses leak the most money:
- Instant quote reply — answer the new lead in under 5 minutes, before they text the next cleaner.
- Booking confirmation — lock the job and set expectations the moment they say yes.
- Appointment reminder — the day-before / morning-of text that stops no-shows and lockouts.
- On-my-way text — the arrival window that keeps the customer home and the crew productive.
- Review request — sent right after the clean, timed to the after-photo, while they’re delighted.
- Rebooking nudge — turns a one-off clean into recurring revenue.
- Failed-payment save — quietly recovers a declined card before it becomes lost revenue.
Everything below expands these into a full library with alternates for tone and situation.
Stage 1 — New lead & instant quote
Trigger: a web form, Facebook/Instagram lead ad, or missed call. Timing: immediately — seconds, not hours.
This is the highest-leverage text you send. The lead is hottest the instant they hit submit, and the operator who replies first usually wins. Lead with a real number when you can.
Template 1 — Instant quote (ballpark):
Hi [Name], it’s [Your Name] at [Company] 👋 Thanks for reaching out! For a [Bedrooms]bd/[Baths]ba [Service Type] clean, you’re looking at about [Price Range]. Want me to lock in a time this week? Reply YES and I’ll send openings. (Reply STOP to opt out.)
Template 2 — Instant reply (needs a detail):
Hi [Name], [Company] here — got your request for a [Service Type] clean! To give you an exact price, is this a 1-time clean or recurring, and roughly how many bedrooms/baths? I’ll text your quote right back.
Template 3 — Missed-call text-back:
Sorry we missed your call — this is [Company]! Our crews are on jobs but I can help right here. Need a cleaning quote or want to book? Just reply and I’ve got you.
Stage 2 — Quote follow-up
Trigger: quote sent, no reply. Timing: ~1 hour, next morning, then 2–3 days later. Stop after 3 touches.
Most quotes don’t get a “no” — they get silence because life got busy. A light, helpful nudge recovers a surprising share of them without being pushy.
Template 4 — Same-day nudge:
Hi [Name], just making sure my quote came through — [Price] for your [Service Type] clean. I’ve still got a couple of spots this week. Want me to hold one for you?
Template 5 — Value reminder (day 2):
Hey [Name], no rush at all! If it helps: our [Service Type] cleans include [Key Inclusion 1] and [Key Inclusion 2], and every clean is [Guarantee, e.g. “backed by our re-clean guarantee”]. Happy to answer anything before you book.
Template 6 — The soft close (day 3):
Hi [Name] — I’ll keep this quote at [Price] open through [Day]. After that pricing may shift with the schedule. Want me to grab you a slot before then? Totally fine if the timing’s not right.
Stage 3 — Booking confirmation
Trigger: customer books or says yes. Timing: instantly, then the confirmation record. This is where you set expectations and cut down on surprises.
Template 7 — Confirmation:
You’re booked! ✅ [Company] will clean [Address] on [Date] at [Time]. Your crew: [Crew Name(s)]. Total: [Price]. Anything we should know (pets, parking, a room to skip)? Reply here anytime.
Template 8 — Prep instructions:
Thanks [Name]! Quick prep so we’re efficient: please clear countertops of small items and secure any pets. We bring all supplies. Access plan for [Date]? (Reply with gate code / lockbox / “I’ll be home”.)
Template 9 — First-time recurring welcome:
Welcome to the [Company] family, [Name]! 🎉 You’re set for [Frequency] cleans starting [Date]. Same crew each visit when we can. We’ll text a reminder before every clean — no need to remember dates.
Stage 4 — Appointment reminders
Trigger: scheduled job. Timing: 24 hours before and again 2–3 hours before (or morning-of). This is the single most valuable automation for protecting your crew’s day.
No-shows and lockouts are pure lost margin — the crew still drives out, still gets paid, and there’s nothing to bill. The evidence for text reminders is strong: in a randomized controlled trial, adding text reminders cut the no-show rate to 23.5% versus 38.1% for the control group (NIH/PMC), and reviews of appointment-based settings report reductions of up to 38% (Klara). Those studies are from medical settings, but the mechanism is identical: a timely text turns a forgotten appointment into a kept one.
Template 10 — Day-before reminder:
Reminder from [Company]: your clean is tomorrow, [Date] at [Time]. Crew: [Crew Name]. Reply C to confirm, or R to reschedule — takes 10 seconds. See you then! 🧽
Template 11 — Morning-of reminder:
Good morning [Name]! [Company] is coming today at [Time]. Please make sure we can access [Address] (unlock / gate code / lockbox). Reply here if anything’s changed.
Template 12 — Access confirmation (no reply yet):
Hi [Name], we’re on for [Time] today but haven’t heard back on access. How do we get in — will you be home, or should we use a code/lockbox? Don’t want the crew waiting at the door!
Stage 5 — On-my-way & arrival
Trigger: crew dispatched / en route. Timing: when the crew leaves the prior job. This tightens the arrival window and prevents the “where are you?” call.
Template 13 — On the way:
Hi [Name], your [Company] crew is on the way and should arrive by [Time]. [Crew Name] is leading today. We’ll text when we’re pulling up!
Template 14 — Arrived:
We’re here! 🚗 [Crew Name] from [Company] has arrived at [Address]. If you’re not home, no worries — we’ll [access plan] and text you when we’re done.
Template 15 — Running late (honesty saves the review):
Hi [Name], quick heads-up — the job before yours ran a little long, so we’re running about [X] minutes behind. New arrival: [Time]. Sorry for the shuffle, thanks for your patience!
Stage 6 — After the clean: photos & reviews
Trigger: job marked complete + before/after photos captured. Timing: within an hour of finishing, while the home is spotless and the customer is happy.
This is the moment your reputation flywheel spins. A review request sent right after the clean — ideally paired with the after-photo — catches the customer at peak delight. Don’t let it wait until tomorrow; the glow fades fast. (For the full playbook, see how to get more Google reviews for your cleaning business.)
Template 16 — Job-complete + photos:
All done, [Name]! ✨ [Crew Name] just finished at [Address]. Here’s a peek: [Photo Link]. Hope you love coming home to it! Anything not quite right? Reply here and we’ll make it right, guaranteed.
Template 17 — Review request (after a happy reply):
So glad you’re happy, [Name]! 🙌 Would you mind sharing that in a quick Google review? It genuinely helps a small local crew like ours: [Review Link]. Takes 30 seconds and means the world. Thank you!
Template 18 — Review request (standalone, next morning):
Morning [Name]! Hope the house still feels great. If [Crew Name] did right by you yesterday, a quick Google review would make our day: [Review Link]. And if anything’s off, tell us first — we’ll fix it.
Stage 7 — Rebooking & recurring attach
Trigger: one-time clean completed, or a recurring customer’s next visit is due. Timing: 2–3 days after a one-off; a few days before each recurring visit. This is where one-time cleans become the recurring revenue that actually builds a business.
The math is blunt: keeping a customer costs 5–25× less than acquiring a new one (HBR), and a first clean that converts to a bi-weekly plan is worth thousands over the following year versus a few hundred. The rebooking text is the cheapest revenue in your business.
Template 19 — One-off to recurring:
Hi [Name], hope the place still feels amazing! 😊 Most clients keep it that way with a [bi-weekly/monthly] clean — and recurring customers save [X]% off the one-time rate. Want me to set up your next one? Reply YES and I’ll find a time.
Template 20 — Recurring rebook confirmation:
Hi [Name], time for your next [Company] clean! I’ve got [Date] at [Time] penciled in with [Crew Name]. Reply C to confirm or R to move it. Keeping your spot on the schedule for you.
Template 21 — Lapsed recurring (missed a cycle):
Hey [Name], we missed you last cycle! Ready to get back on the schedule? I can grab you [Date] or [Alt Date] — just reply with which works and you’re set.
Stage 8 — Failed-payment recovery
Trigger: card declined / payment failed. Timing: same day, then a polite follow-up in 2–3 days. Handled well, most failed payments are just an expired card — not a customer leaving.
A declined card is silent churn if you ignore it. A quick, blame-free text recovers the vast majority because the customer usually has no idea it happened.
Template 22 — First notice (no blame):
Hi [Name], quick heads-up — the card on file for your [Date] clean didn’t go through (usually just an expired card!). You can update it here in a tap: [Secure Link]. Your spot is still held. Thanks!
Template 23 — Friendly follow-up:
Hi [Name], just circling back — the payment for your last [Company] clean is still pending. Update your card anytime here: [Secure Link]. Let me know if you’d rather sort it another way!
Template 24 — Before pausing service:
Hi [Name], I don’t want to pause your recurring clean over a card hiccup. Update here and we’ll keep [Crew Name] on your schedule: [Secure Link]. Happy to help if anything’s changed on your end.
Stage 9 — Win-back & referral
Trigger: customer inactive 60–90 days (win-back); happy recurring customer (referral). Timing: win-back on a lapse timer; referral after a great clean or a milestone.
Template 25 — Win-back (we miss you):
Hi [Name], it’s [Company] — we’ve missed cleaning for you! It’s been a bit, so here’s [Offer, e.g. $25 off] your next clean to welcome you back. Want me to find a time this week? No pressure either way. 💛
Template 26 — Win-back (what changed?):
Hey [Name], hope you’ve been well! We’d love to have you back on the schedule. Was there anything about last time we could’ve done better? Your honest reply helps us — and I’ll make your next clean right.
Template 27 — Referral ask:
[Name], so glad you love your cleans! 🙌 Know a neighbor who could use a hand? Send them our way and you’ll each get [Referral Reward] when they book. Just reply with their name or share this: [Referral Link].
Template 28 — Seasonal / reactivation:
Hi [Name]! Spring deep-clean season is here 🌷 and our calendar fills fast. Want to grab a spot before it’s booked? Reply and I’ll send this week’s openings. Recurring clients get first pick.
How to personalize templates without sounding like a robot
Templates only work if they don’t read like templates. Three habits keep them human:
- Always use the first name and one specific detail.
[Name], the crew member’s name, the date, the address, or the exact price. Specifics signal a real person is behind the text. - Match the customer’s tone. If they text in full sentences, you do too. If they fire back one-word replies, keep yours short. An AI assistant or your dispatcher should be able to break from the script the moment a real conversation starts.
- Never send two automations that collide. If a customer just confirmed their appointment, suppress the “we haven’t heard back” text. Overlapping automations that ignore each other are the fastest way to sound like a machine — and to get STOP’d.
One more rule: an emoji or two warms a text, but three in a row reads as spam. Use them like seasoning.
The compliance rules you cannot skip
Every template above is only legal if you send it correctly. Business texting in the U.S. is governed by the TCPA and carrier 10DLC rules, and getting them wrong means fines and silently blocked messages. The short version:
- Get consent before you text. A checkbox at booking, a “text us for a quote” keyword opt-in, or the customer texting you first all count. Don’t scrape numbers and blast them.
- Identify your business in every message. “This is [Company]” — an anonymous text violates 10DLC guidance and reads as spam.
- Honor STOP automatically. Opt-outs must be instant and permanent. Your platform should handle this for you.
- Separate service from marketing. Appointment reminders and job updates are transactional; promos and win-back offers are marketing and may need separate consent.
- Register for 10DLC. Unregistered traffic gets filtered by carriers — you’ll think your automation is broken when the carrier is simply dropping your texts.
How to deploy these in GoHighLevel
Templates are only half the system — the other half is the automation that sends them on the right trigger without you touching a thing. In GoHighLevel, each stage above becomes a workflow:
- Save each template as a snippet so your team sends consistent messages from the conversation view, and so workflows can reference them.
- Wire triggers to lifecycle events — form submission fires the instant quote; a booked appointment fires the confirmation and schedules the reminders; a completed job fires the review request; a failed payment fires the recovery sequence.
- Use merge fields (
{{contact.first_name}},{{appointment.time}}, etc.) so every text personalizes automatically. - Add wait steps and conditions so a reminder is suppressed once the customer confirms, and a quote follow-up stops the moment they reply.
- Route replies to a human or AI assistant — a two-way thread nobody answers is worse than no text at all. Pair the templates with an AI receptionist or a dispatcher who can quote and book.
If building all of that from scratch sounds like a month of work, that’s exactly what the Cleaning Services GHL Snapshot ships pre-built: the two-way SMS engine, appointment reminders, review requests, recurring rebooking, and failed-payment recovery — with the templates, triggers, and TCPA guardrails already wired in.
Common mistakes to avoid
Even with great templates, a few habits quietly kill results:
- Sending from a personal cell. You lose delivery tracking, opt-out handling, and 10DLC registration — and your personal number gets buried in customer threads.
- One reminder or five. Too few and you eat no-shows; too many and you get opt-outs. Two well-timed reminders is the sweet spot.
- A quote with no price. “We’ll get back to you” restarts the clock. Lead with a range.
- Review requests that wait. Ask within the hour, while the home is spotless. Tomorrow is a different customer.
- Ignoring failed payments. A declined card is usually an expired card, not a lost customer — but only if you text them the same day.
- Never testing the flow. Numbers get disconnected, triggers get toggled off, workflows break after edits. Send yourself through the whole sequence monthly.
Frequently asked questions
What text messages should a cleaning business send?
At minimum, seven: an instant quote reply to new leads, a booking confirmation, appointment reminders (day-before and morning-of), an on-my-way text, a review request timed to the after-photo, a rebooking nudge to convert one-offs into recurring, and a failed-payment recovery text. Add win-back and referral texts to protect revenue you've already earned. This post gives 28 copy-paste templates across all of those stages.
Do text appointment reminders actually reduce no-shows for cleaners?
The strongest evidence comes from appointment-based settings: in a randomized controlled trial, text reminders cut the no-show rate to 23.5% versus 38.1% for the control group (NIH/PMC), and reviews report reductions of up to 38% (Klara). For a cleaning crew, a no-show or lockout is pure lost margin — the crew still drives out and gets paid — so a day-before and morning-of reminder is one of the highest-ROI automations you can run.
Is it legal to text customers appointment reminders and quotes?
Yes, when done correctly. You need consent (a booking checkbox, a keyword opt-in, or the customer texting you first), you must identify your business in every message, and you must honor STOP automatically. Transactional texts like reminders and job updates are generally lower-risk than marketing blasts, but you still need 10DLC registration so carriers don't filter your messages. See our TCPA & 10DLC guide for cleaners for the full ruleset — compliance is the operator's responsibility.
How fast should I reply to a new cleaning lead?
Within five minutes, ideally seconds. The landmark MIT/InsideSales study found that contacting a web lead within 5 minutes instead of 30 makes you about 21× more likely to qualify it (MIT/InsideSales). A templated instant-quote text that fires the moment a form is submitted is how you hit that window every time without watching your phone.
How do I personalize templates so they don't sound automated?
Always merge in the first name plus one specific detail — the crew member's name, the exact time, the address, or the price. Match the customer's tone and length, suppress automations that would collide (don't send a 'haven't heard back' text to someone who just confirmed), and route replies to a human or AI assistant who can break from the script the moment a real conversation starts. Templates set the default; the conversation stays human.
Can I run all of these texts automatically in GoHighLevel?
Yes — each stage becomes a workflow triggered by a lifecycle event: a form submission fires the quote, a booked appointment fires the confirmation and schedules reminders, a completed job fires the review request, and a failed payment fires the recovery sequence. The Cleaning Services GHL Snapshot ships all of these pre-built with the templates, triggers, merge fields, and TCPA guardrails already wired in, so you deploy in a day instead of building for a month.
The bottom line
Your cleaning business already earns the leads, does great work, and delights customers. What leaks revenue is the gap between those moments — the quote that goes out four hours late, the reminder that never sends, the review never asked for, the declined card nobody caught. Text templates close every one of those gaps by making the right message the automatic default.
Start with the seven core texts, add the rest as you go, and wire them to triggers so they fire without you. Keep them personal, keep them compliant, and keep them fast. Do that and your phone stops being the bottleneck — it becomes the machine that books, confirms, and keeps customers on autopilot. Get the Cleaning Snapshot for $997 with all 28 of these texts pre-built, or book a walkthrough and watch a lead turn into a confirmed clean on your own phone.
About the author
Marisol Vega is a Cleaning Operations Strategist in Austin, TX. She spent nine years scaling a residential maid service from two vans to a fourteen-crew operation before moving full-time into systems work. She writes about the unglamorous mechanics of a profitable cleaning business — route density, recurring-attach rate, and the texts that keep a Tuesday schedule full. Her rule of thumb: if an automation doesn’t show up in revenue inside 30 days, it isn’t earning its seat in the workflow.
Related posts
- Missed Call Text-Back for Cleaning Businesses: Turn Every Missed Ring Into a Booked Clean
- Why an Instant SMS Quote Beats a Same-Day Callback Every Time
- TCPA & 10DLC Compliance for Cleaning Companies
- How to Turn One-Time Cleans Into a $30K/mo Recurring Book
- How to Get More Google Reviews for Your Cleaning Business
Sources
- Tatango — 90% of Text Messages Are Read Within 3 Minutes
- Kixie — SMS vs. Email Marketing: A Data-Driven Study
- Text Request — 2024 State of Business Texting Report
- EZ Texting — 2024 Consumer Behavior Texting Report
- SimpleTexting — 2024 Texting & SMS Marketing Statistics
- NIH / PMC — Text Reminders and No-Show Rates (RCT)
- Klara — Text Reminders Reduce No-Shows by up to 38%
- MIT / InsideSales — Lead Response Management Study (PDF)
- HomeGuide — House Cleaning Prices
- Harvard Business Review — The Value of Keeping the Right Customers
