
Part of: Quotes and leads you never followed up
Follow-ups
How to respond to a cleaning complaint from a client (email template + fix that sticks)
A four-field reply template, a constrained AI prompt and a complaint-to-quality-check loop in Janitorial Manager, Swept or a shared sheet.
It's 7:50 on a Monday, and your biggest office account says the second-floor restrooms were skipped Friday, for the second time this month. Knowing how to respond to a cleaning complaint is one part; the other is wiring the complaint into your inspection system so the fix survives crew turnover.
The short answer
Treat each complaint as a ticket with two outputs. Output one is a same-morning reply built from a fixed four-field template (problem, ownership, tonight's action, confirmation time), drafted by AI under strict rules. Output two is a checklist change plus a scheduled re-inspection in Janitorial Manager, Swept or a shared sheet. The email closes the conversation; the logged checklist change and the re-inspection close the defect.
Why the same complaint keeps coming back
A repeat complaint is usually a broken feedback path, not a lazy crew. The client's expectation lives in the contract scope. The crew's instructions live in the site checklist and whatever the supervisor said on shift. When the fix is only written in an email thread, it never reaches the checklist.
Turnover makes this worse. The cleaner who heard the verbal fix may move sites, and the replacement works from the old checklist. Without a scheduled re-check, nobody notices until the client does.
Response latency is the other failure. Owners often hold the reply until they've investigated, which leaves the client with silence. Decouple the two: acknowledge first, then investigate.
Floor vote
When a facility manager emails a complaint, when does your reply usually go out?
One vote per device. Change it any time.
Loading votes…
Step 1: Save a cleaning complaint response email template
Fix the schema first. Every reply carries the same fields, so the AI fills slots instead of composing freely.
Subject: Re: [AREA] on [DATE] - here's what we're doing tonight
Hi [FIRST NAME],
Thank you for telling us. You're right: [AREA] was not cleaned to
standard on [DATE], and that's on us.
Here's what happens next:
- Tonight, [SUPERVISOR NAME] will re-clean [AREA] and check it in person.
- We've added [SPECIFIC TASK] to the crew's checklist for your site.
- I'll send you a short update with the inspection result by [DAY, TIME].
[YOUR NAME]
[COMPANY] | [DIRECT EMAIL]
Gmail stores this under Settings > See all settings > Advanced > Templates > Enable, then from a draft: three-dot menu > Templates > Save draft as template. Templates insert into replies, so the thread stays intact. In Outlook, use My Templates where your version offers it; otherwise keep the text in a pinned note.
Step 2: Draft the reply to the complaint with AI
The prompt constrains the model to extraction plus tone. It must not generate commitments the owner hasn't made.
Role: reply assistant for a commercial cleaning company owner.
Task: fill the template using ONLY facts in the client email.
Constraints:
- Extract AREA, DATE and PROBLEM verbatim where possible.
- One sentence of ownership. No excuses, no staff names.
- Never offer credits, refunds, discounts or contract changes.
- Never state what the crew did or why it happened.
- Missing or ambiguous field -> [CHECK: question].
- Max 150 words.
TEMPLATE:
[PASTE TEMPLATE]
CLIENT EMAIL:
[PASTE COMPLAINT]
The [CHECK] marker is the safety valve. An unresolved field stays visible instead of becoming a guess. Run it in the AI tool your business already uses (Gemini in Gmail, Copilot in Outlook, or a business ChatGPT or Claude workspace). Keep cleaner names and personal details out of the input.
Step 3: Turn the complaint into a crew task with a re-check
This is the state change that matters. The defect must become data the inspection system acts on.
Janitorial Manager: Inspections > Manage Quality Checks > + Add Quality Check for the location. A Follow-up fail action creates a work order automatically when the score hits your threshold. Choose Per Inspection for one work order, or Per Area for one per failed area; failed steps are copied into the work order's checklist. An Alert fail action pushes a notification to managers in JM Connect. Attaching an SLA with recipients sends an email alert if the follow-up work order breaches it.
Swept: post the complaint and the corrective task on the location's message board, which managers and supervisors assigned to that location share. Then run an inspection on the area. Inspections carry markers (exceeds, meets, below standard, not inspected), and clients using the Client Portal can view the reports for their locations.
Sheet fallback: one row per complaint with columns date, site, area, problem, checklist line added, checker, re-check date, result, repeat (Y/N). Filter on repeat weekly.
Write the corrective task as an atomic checklist line ("2nd floor restrooms: refill dispensers, empty bins, mop behind doors, Fridays"), so a new cleaner can execute it without context.
Step 4: Close the loop with proof, then check again in two weeks
When the re-inspection passes, send the confirmation with evidence: who inspected, when, and the result.
Hi [FIRST NAME],
Update on [AREA]: re-cleaned [DATE], inspected [DATE] by
[SUPERVISOR NAME], result: passed. [WHAT WAS CHECKED.]
[SPECIFIC TASK] is now a standing checklist item. Next check: [DATE].
[YOUR NAME]
Schedule the second check about two weeks out. In Janitorial Manager, a one-off quality check or a recurring one (Recurring subtab) handles it; the recurring module runs nightly. In Swept or a sheet, put it on the supervisor's inspection plan.
How the complaint loop runs
Every client complaint
- Same morningReply goes outTemplate reply, drafted with AI and checked by you: problem, ownership, tonight's plan, update time.
- That nightRe-clean and checklistThe supervisor re-cleans the area and the fix becomes a line on the site checklist.
- Next morningRe-inspect and reportA quality check or inspection; a pass sends the client proof, a fail creates a follow-up work order.
- About 2 weeksSecond checkInspect the same area again, after the extra attention fades.
- T+0 (morning): template reply, AI-drafted, owner-approved.
- T+0 (night): supervisor re-clean; checklist line added.
- T+1 (morning): quality check or inspection; pass triggers the client update, fail triggers a follow-up work order.
- About T+14: second check on the same area, logged.
The intervals are an operating rhythm, not a benchmark. Tune them to contract terms and shift patterns.
Example (illustrative): a 25-person office cleaning company
A walkthrough, not a client story. An owner with 25 cleaners, three supervisors and about 40 office accounts receives complaints by email and relays them by text. After the change, every complaint gets the template reply, a quality check with a Follow-up fail action, and a row in the log. The owner reviews repeats weekly.
At a glance
- Problem: slow replies and repeats after crew turnover.
- What was set up: reply template, constrained prompt, per-complaint re-check, weekly repeat review.
- Tools it lives in: Gmail, Janitorial Manager or Swept, Google Sheet fallback.
- What the owner still does: approves replies, decides credits, reviews the log.
- Payoff: not measured here. The metric to watch is the 30-day repeat rate.
Mistakes to avoid
- Disputing facts in the first reply. Acknowledge, re-check, then reconcile with the crew.
- Letting the model commit money. Credits and scope changes are owner decisions only.
- Leaving the fix in email. No checklist change means no durable fix.
- No evidence in the update. Cite the inspection, not a promise.
- Naming staff to the client. Keep personnel issues internal.
Field check
Field check
Three questions. Honest answers. No score sent anywhere but this page.
01 / 03
The crew swears they cleaned the restroom. What should the first reply do?
If it still doesn't work
Two fails on one area point to a bad checklist line or an unrealistic time budget. Time the tasks on shift with the supervisor.
Shifting complaints point to a scope mismatch. Diff the contract against the site checklist and walk the site with the facility manager.
If intake is fragmented, route complaints to one address or the client portal so nothing sits in a text thread.
Doing this inside the tools you already use
Deeplathe is a team of developers and solution builders who build custom AI inside the tools a business already uses. Here, a custom build could classify incoming client emails, draft the template reply for a complaint, and pre-fill the quality check or work order in Janitorial Manager or Swept. Nothing sends or gets assigned until you approve it. When the inspection passes, it could draft the evidence-based update for your sign-off and add the two-week re-check. Your inbox, software and standards stay as they are. See how a custom build works.
FAQ
How do you respond to a cleaning complaint from a client?
Send a same-day reply that names the area, date and problem, owns it in one sentence, states tonight's action and gives a confirmation time. Then log the fix, re-inspect and send the result. Keep excuses and staff names out.
What should an office cleaning complaint response email include?
A thank-you, the specific area and date, acknowledgment it fell short, the re-clean plan with a named supervisor, the checklist change and an update time. Under 150 words, so it reads cleanly on a phone.
How do I handle customer complaints in a cleaning business?
Run each complaint as a ticket: owner, deadline, checklist change, re-inspection, client update. Log every one and review repeats weekly by site and area.
How do I stop the same cleaning complaint coming back?
Make the fix a written checklist line, re-inspect the next morning and again about two weeks later. In Janitorial Manager, a Follow-up fail action turns a failed check into a work order automatically.
Keep these
- Acknowledge first, investigate second.
- The model fills fields; it never commits money.
- Every complaint ends as a checklist line plus a re-check.
- Updates cite the inspection result.
Sources
- Gmail Help: Create a template in Gmail
- Janitorial Manager Help: Setting Up Quality Checks
- Janitorial Manager Help: Scheduling Quality Checks
- Swept Knowledge Base: How Clients Use Swept, Client Portal
Related reading
Keep these
The working rules
The email closes the conversation; the logged checklist change and the re-inspection close the defect.