Overview
Scrub Ducts — AI SMS Booking Assistant (n8n + OpenAI) for Quote, Scheduling & Audit Trail. Scrub Ducts is a Kentucky-based residential and commercial air-duct and dryer-vent cleaning provider focused on indoor air quality and operational transparency. During peak season, calls and texts arrived faster than the team could answer them, and every slow reply was a job that could go to a competitor.
Apps By TAP built an AI SMS booking assistant that turns those messages into booked jobs. It understands intent, presents policy-compliant quotes and available time windows, collects the details a technician needs, books directly into Wix, and confirms by SMS—with a human-in-the-loop (HITL) approval lane for anything sensitive.
We wrote about the business side of this build in our blog post From Missed Calls to Booked Jobs.
The Challenge
- Missed calls → missed revenue: Peak-season volumes caused delayed responses and lost bookings.
- Inconsistent quoting: Prices and time windows varied by rep and time of day.
- Tool sprawl: Availability lived in Wix, texting in Twilio and notes in email—there was no unified trail.
- Compliance & brand tone: The business needed SMS opt-out handling and on-brand language, with oversight.
Our Approach
A message pipeline built in n8n
The assistant is an n8n workflow that connects every system Scrub Ducts already used. A simplified view of the architecture:
- A customer sends an SMS, MMS or voicemail to Twilio.
- n8n receives it and passes it through an OpenAI policy layer with short-term memory, so the assistant remembers the conversation.
- The workflow checks Wix availability, then finds or creates the customer’s contact.
- It submits and confirms the booking form, creates the booking and confirms it.
- It composes the reply, optionally routes it through Gmail for human approval, and sends the SMS.
- Every conversation, approval, critique and opt-out is logged to Google Sheets.
Policy-first prompts
Quoting and booking rules are written as strict policy for the model to follow, so prices and time windows come from the business’s rules and live APIs rather than from guesswork. Each conversation thread can create one booking only, which keeps the system idempotent and prevents duplicate appointments.
Human-in-the-loop safety
Edge cases go to an approve / revise / manual follow-up path. Staff stay in control of anything unusual while the assistant handles the routine questions instantly.
Observability and consent by default
Every message and decision is logged for QA and training, and STOP/START replies update an opt-out registry automatically.
Technology Stack
- n8n – workflow orchestration that ties SMS, AI, scheduling and logging together without a custom server. See our cloud solutions work.
- OpenAI Chat – policy-first prompts plus short-term memory for natural, on-brand conversations.
- Twilio – SMS, MMS and voice, including voicemail handled with speech-to-text.
- Wix Bookings, Contacts & Forms APIs – live availability and appointment creation in the system the business already runs on. Integrations like this are part of our APIs & backends service.
- Gmail – the human-in-the-loop approval channel.
- Google Sheets – conversation, approval, critique and opt-out logs that anyone on the team can read.
Results & Impact
- Response time: The first reply is now measured in seconds, not minutes or hours.
- Operational consistency: Quotes and time windows are sourced from APIs and policy, reducing variance between reps.
- Audit trail: The full conversation and approval history is available for QA and coaching.
Next steps
- Slot ranking using drive time and technician skills.
- Web deep-links for complex, multi-service jobs.
- Weekly prompt and policy reviews using the critique logs.
- BI dashboards (Looker or Power BI) on top of the Sheets data.



