Local Handyman AI Intake & Scheduling System
An AI-powered intake workflow that connects webforms, SMS, image analysis, lead records, scheduling, and operational handoff for a home services business.
- What I built
An AI-powered intake and scheduling workflow connecting webforms, SMS, image analysis, Housecall Pro, Twilio, OpenAI, Google Sheets, and operational handoff.
- Business problem
Home services leads arrived with incomplete repair details, missing photos, inconsistent contact data, and too much manual back-and-forth before scheduling.
- System pattern
Input → Normalize → Analyze → Validate → Route → Update records → Human handoff.
- Reliability layer
The system enforces phone normalization, SMS consent, opt-out language, structured outputs, fallback routes, and human review before final scope or pricing decisions.
- Main takeaway
AI prepares the operator, but workflow state, safeguards, and human judgment control the system.
- 01Input
- 02Normalization
- 03Context loading
- 04AI processing
- 05Validation
- 06Human approval / system action
- 07Logging & monitoring
This system is designed so the AI does not act alone. Inputs are normalized, decisions are routed through deterministic logic, sensitive actions require human approval, and every important event updates operational state.
What I designed and built.
I designed and built the end-to-end automation architecture, mapped the intake and scheduling process, implemented the n8n workflow, connected Twilio, OpenAI, Google Sheets, and Housecall Pro, and designed the AI agent behavior, routing logic, data normalization, and SMS safeguards.
Lead intake was slow, noisy, and inconsistent.
Home services leads often arrive with incomplete information: inconsistent contact data, unclear repair descriptions, missing photos, uncertain urgency, and too much manual back-and-forth before a professional can call or schedule the job.
The business needed a system that could collect better information, prepare the professional in advance, keep records updated, and communicate with customers in a simple, compliant way — without putting an operator in the middle of every reply.
One workflow, from first contact to operational handoff.
The workflow takes a lead from raw input all the way to a prepared handyman — handling normalization, operational record updates, SMS, photo analysis, and routing in a single coordinated pipeline.
Intake & normalization
- Captures leads from webform and SMS
- Normalizes names, phones, email, consent
- Maps location, source, scheduling fields
- Creates or updates the lead record
- Maps territory and API credentials
Operational systems
- Creates the lead in Housecall Pro
- Schedules or prepares estimate calls
- Sends SMS / email confirmations
- Attaches photos and notes to records
- Keeps operational state in sync
AI & conversation
- Detects whether the reply is text or media
- Downloads and stores customer photos
- Analyzes repair photos with OpenAI
- Generates structured internal notes
- AI intake agent routes intent into actions
Event-driven pipeline, end to end.
Each stage has a single responsibility and a clear contract with the next. Failures surface at the stage level — they don't corrupt the whole run.
Screenshot walkthrough.
Sanitized views of the actual production workflow. Click any screenshot to view it full-size.
End-to-end workflow architecture
The workflow is organized into phases: webform onboarding, API mapping and Housecall Pro lead creation, scheduling, initial outbound confirmation, interview / qualification, media analysis, and follow-up routing.
This is not just the AI step. This section shows the reliability layer around the AI: normalization, routing, state updates, and fallback handling.
Lead normalization layer
Before downstream automation, the workflow standardizes contact data, phone formats, consent status, source attribution, territory, scheduling fields, and routing helpers.
Photo processing and multimodal intake
Customer-submitted repair photos are extracted from the SMS payload, downloaded, stored, and passed into the AI analysis step.
AI image analysis and structured output
OpenAI analyzes the submitted repair photo and customer context, returning structured output such as summary, priority, recommended trade, confidence score, preparation notes, and follow-up questions.
The AI output is structured (JSON), not free text. Each field is validated before the downstream workflow uses it.
Housecall Pro operational update
The system attaches photos and AI-generated prep notes to the operational record, helping the handyman understand the job before the call or estimate.
AI intake agent and conversation guardrails
The AI intake agent is designed with strict SMS constraints: one intent per message, short responses, no over-questioning, opt-out language, customer-friendly tone, and step-by-step information gathering.
The agent runs under strict constraints: one intent per message, opt-out language, and no final decision on scope or price.
Intent routing and follow-up actions
Customer replies are routed into downstream actions such as requesting more information, asking for a photo, sending follow-up SMS, updating the record, or moving toward scheduling.
Customer replies are separated from operational writes, so the AI can assist without controlling irreversible actions.
The building blocks.
Data normalization
- Phone normalization (E.164)
- Email cleanup
- SMS consent tracking
- Territory mapping
- Scheduling fields
- Source attribution
AI workflow
- Image + text analysis
- Structured JSON output
- Internal repair summary
- Recommended trade
- Severity / confidence scoring
- Follow-up question generation
Communication
- Twilio SMS delivery
- Single-intent SMS logic
- Opt-out language
- Short response constraints
- Customer-friendly tone
Operational systems
- Google Sheets as lightweight operational store
- Housecall Pro lead / estimate updates
- Photo attachments
- Internal prep notes
- Scheduling support
Reliability
- Workflow phases
- Explicit routing logic
- State updates and execution logs
- Fallback paths for unclear replies
- Separation of photo vs text handling
Proof of production thinking
The workflow tracks customer, lead, reply, order, or approval state instead of relying on one-off executions.
Sensitive customer-facing actions are reviewed before being sent.
Unclear, invalid, or risky cases are routed away from automatic execution.
Failures generate logs or alerts instead of failing silently.
Inputs are cleaned and structured before any AI or downstream action.
The final output is written back into the tools people already use.
AI is one step in the system, not the whole system.
Every AI output flows through validation, routing, and a clear handoff to a human before anything irreversible happens.
- Phone numbers normalized before any outbound message.
- SMS consent and opt-out language enforced on every outbound path.
- One-question-per-message rule in the AI intake agent.
- No pricing or quote generation by AI — preparation only.
- AI output treated as preparation, not final professional judgment.
- Structured outputs validated before any downstream action.
- Operational logs and record updates for every run.
- Fallback routes when customer responses are unclear.
- Human / professional handoff before final scope and pricing.
Better-prepared professionals, more consistent intake.
Exact metrics are not public. The workflow outcomes below describe the operational changes the business consistently observed after rollout.
Customer context, repair details, photos, and scheduling information are collected before manual follow-up.
AI-generated summaries help turn messy customer messages and photos into preparation notes.
Customer-submitted images are analyzed and attached to the operational record.
The workflow routes common replies and updates records without requiring an operator in every step.
The professional receives a more complete job context before the call or estimate.
The same architecture can be adapted for multi-territory home services operations.
What this build taught me.
- 01
AI is most useful when combined with structured data and clear routing.
- 02
SMS agents need strict constraints to avoid overwhelming customers.
- 03
Image analysis should support human preparation, not replace professional judgment.
- 04
Normalized data and records matter as much as the AI step itself.
- 05
Operational workflows need state, logs, and fallbacks to be reliable.
Where this system goes next.
The same pattern, hardened for multi-territory operations.
- Replace Google Sheets with Supabase / Postgres as source of truth.
- Queue-based retries for outbound APIs and SMS.
- Dashboard for SMS delivery, AI confidence, response status, conversion.
- Regression tests for prompt behavior.
- Role-based access and full audit trail.
- Human review interface for sensitive cases.
- Analytics by territory and repair category.
