HVAC System: Complete Delivery
End-to-end CRM, Voice AI, and automation system built for a Canadian HVAC company. 28 workflows, sub-minute speed to lead, and action-based nurture paths across every service line.

The Brief
This system was built for an HVAC company in Canada that was losing jobs in the gaps. Missed after-hours calls, web forms that sat unanswered, and quotes that never got a follow-up. The service was fine. The first sixty seconds were not.
We mapped their entire inbound world into one operating system: sources feed AI, AI feeds automation, and automation moves the pipeline.
What We Delivered
- Every inbound answered in seconds, whether it came in by phone, text, or chat
- Every lead tagged, routed, and placed on the pipeline stage that matched reality
- Every silence got a follow-up plan so nothing went cold without someone noticing
System Architecture
The system runs on four layers, with 28 workflows sitting at the center. Every source feeds in, and every outcome traces back to one of them.
| Layer | Components |
|---|---|
| Sources | Inbound calls, IG/WA/Messenger/SMS, Web and Facebook form leads |
| AI Layer | Voice AI (live call handling), Conv AI (messaging channels), Lead Router (tag by service type) |
| Automation Core | 28 workflows managing tags, stages, and timing |
| Pipeline | Booked, In Progress, Closed/Won |
| Outcomes | Job booked, Nurtured, Reactivated |
Speed to Lead
First contact in under a minute.
Every form submission branched on urgency right away. A real emergency and a routine tune-up never shared the same response time.
- Emergency leads are tagged immediately and the team is alerted
- Conversational AI sends an SMS within 12 seconds
- Routine leads enter a standard nurture path via SMS and email
Pipeline
A board that matches reality.
We built the pipeline so every stage is a real state a job can be in. If a card is on the board, an automation put it there.
Stages include: New Lead, Contacted, Estimate Sent, Appt Booked, On The Way, Completed, Review, Closed
Duplicate Lead, Competitor Chosen, and Not Interested are reserved stages, set deliberately.
Voice AI
A real conversation on every call.
Voice AI answers for the client the way a strong CSR would. It asks the right questions, qualifies the job, and books live on the phone. After the call, clean data lands in the CRM instead of a voicemail someone has to decode.
- Captures name, address, equipment, and service type
- Flags urgency level in real time
- Transfers to a human when the call calls for it
After each call, name, address, summary, lead source, and emergency type log automatically.
Conversational AI
Text like a rep, not a menu.
SMS was the primary channel, with email running alongside for confirmations and longer follow-ups. Conv AI books, reschedules, and cancels in plain language. No "reply 1" or "reply 2" menus.
- SMS first, email for confirmations and nurture
- A2P compliant messaging with clear STOP opt-out
- Quiet leads hand into nurture instead of going cold
Same human conversation layer across SMS, Instagram, WhatsApp, Messenger, and web chat.
Retention Layer
Every action has a plan.
For this HVAC client, interests, installs, quotes, and silence never got a generic blast. Each action opened a different path with its own timing, message, and method.
- Interested in AC install: AC install nurture built for replacement buyers
- Furnace just installed: Furnace care reminders on that equipment
- Quote sent, no reply: Repair vs replacement follow-up path
- Went quiet mid-chat: Warm lead nurture by service tag
- Job completed: Review, then closed won, then reactivation later
- Could not contact: Three failed attempts move into service line nurture
Built and Tested
The part that does not show.
- Tag discipline: Every tag added is matched by a workflow that removes it, so stale statuses do not linger
- No duplicate leads: Every intake path checks for an existing opportunity before creating a new one
- No stage conflicts: Stale leads and reactivation are sequenced so they never fight over the same lead
- AI actions, guarded: Voice AI and Conv AI check pipeline state before a terminal action
- No dead ends: Every nurture sequence resolves somewhere
- Full journey tested: Emergency, no-show, cold lead, and repeat customer paths were run start to finish before handover
Results After 90 Days
| Metric | Result |
|---|---|
| Booked jobs | +38% |
| Avg. first response | 47 seconds |
| Lead to booking | +29% |
| Missed call recovery | 41% |
| Revenue lift | $186K |
| Past customer replies | 3.2x |
The Full Build
Lead Intake and Routing: Speed to lead, emergency vs routine branching, missed call SMS textback, A2P compliant STOP opt-out
Appointments and Pipeline: Appointment booked with confirmations and reminders, no-show recovery and reschedule flow, on-the-way notifications, job completed to review to closed won
AI Layer: Voice AI for live call handling and booking, Conv AI for natural SMS conversations, real-time tagging by urgency and service, guarded terminal actions
Nurture and Retention: Every action opens a different plan, install care and equipment reminders, quote follow-up by repair vs replacement, warm lead and stale lead long-term nurture
Campaigns and Growth: Seasonal campaigns (spring, summer, fall, winter), referral requests, review requests, database reactivation
Quality Control: Tag lifecycle discipline, no duplicate-lead creation, no competing pipeline stage updates, full-journey tested before delivery