Karmaflow
SMHC·AICase study
30 days · live in production · Ontario

A concierge that finishes the work — not a switchboard.

SMHC×Karmaflow
HVAC service · Orillia · Barrie · Muskoka

The setup

A furnace dies at 4 AM. By 4:04, the technician knows.

Simcoe Muskoka Home Comfort is an HVAC service company across Orillia, Barrie, Bracebridge, Huntsville, and the Muskoka cottage country in central Ontario. Heating in the winter, cooling in the summer, on-call when something stops working. The work itself is straightforward. The phone is where it gets hard.

HVAC calls are unforgiving. A homeowner with no heat at four in the morning doesn't want to leave a voicemail. A cottager whose AC just died on a Friday afternoon doesn't want to call back Monday. A long-time customer with two properties expects whoever answers to know which one they're talking about. Most chains handle this by hiring a call center or letting after-hours roll to voicemail. Neither serves the customer.

SMHC took a different path. They deployed a Virtual Service Advisor — one agent, one identity, working across web chat, voice, SMS, and email — that picks up every call, runs the full intake, creates the job in the field service system, and notifies the on-duty technician. It works at 4 AM on a Saturday the same way it works at 2 PM on a Tuesday.

What follows is thirty days in production. Every conversation audited on more than twenty dimensions before it closes.

What got built

One agent, every channel. Audited as it works.

SMHC's Virtual Service Advisor isn't four agents stitched together. It's one identity that customers reach across web chat, the phone line, SMS, and email — with the same context, the same voice, and the same access to the field service system. Underneath, a second layer watches every conversation and scores it the moment it ends.

Layer 01 · The advisor

Virtual Service Advisor

Picks up every inbound channel. Identifies the caller, pulls their record, checks for open jobs, runs the intake protocol — equipment, fuel type, ownership, symptoms, address — quotes the territory-specific diagnostic fee, creates the job in the field service system, posts a structured intake note, fires the duty notification to the on-call technician. Same logic on every channel.

Layer 02 · The reviewer

Real-time audit on every conversation

When a conversation closes, a review agent scores it across more than twenty dimensions: intake protocol compliance, safety triage, fee quoting, value anchoring, escalation handling, missed-opportunity detection, memory personalization, voice quality. Every conversation gets a structured audit record — not a sample, not a spot-check. Every one.

Layer 03 · The recovery

Graceful failure when infrastructure breaks

When a warm transfer fails, when an integration API returns a validation error, when the on-duty technician's phone rolls to voicemail — the advisor recovers around it. Captures the contact, sends an SMS page with full context to the right manager, sets clear expectations with the caller. The infrastructure failure is invisible to the customer.

What changed

Eighty-six percent finished on the first contact.

The number that matters in HVAC service isn’t how fast a call is answered — it’s how often the customer’s need is actually completed before they hang up. A job created, an estimate prepared, an appointment changed, a technician dispatched. Not a message taken. Done.

0%
Of calls completed at first contact
Jobs and estimates created, appointments updated, dispatched as needed
0
Channels, one continuous conversation
0%
Brand perception "helpful professional"
0/7
Coverage including weekends

Measured across 30 days of production conversations, test and internal traffic excluded.

A Saturday morning in Bracebridge · anonymized

Identity, intake, dispatch — in two minutes sixteen.

Caller
Service call.
Advisor
I'm sorry to hear you're needing a repair. To get started, I'll just need to pull up your file. What's the best phone number for you?
advisor finds caller in CRM — two properties on file
Advisor
Thanks. I see two properties for you: one in Huntsville and one in Bracebridge. Which one am I sending the technician to?
Caller
This one's in Bracebridge.
fee quoted, AC confirmed cooling-only, job #26074 created, on-duty Front Office paged
Advisor
You're all set. Service request 26074 has been created for your AC in Bracebridge. Our dispatcher will call you shortly to coordinate a time.
Total call length · 2 minutes 16 seconds

What it looks like in practice

Three calls. Three things humans usually don't get right.

The numbers describe the system; the conversations describe the work. Three moments from the thirty-day window, anonymized.

4:00 AMSaturdayOrillia4:05 to job created

The 4 AM furnace

A homeowner in Orillia calls before sunrise on a Saturday. Furnace is out. The advisor runs the full safety triage — no gas smell, gas is already off — confirms natural gas vented through floor vents, quotes the Orillia diagnostic fee of $139, creates job invoice #26114, and confirms a dispatcher will call back. Mid-call the advisor slipped and called it "a weekday morning." The caller corrected it — and the advisor caught itself in the same breath:

You're absolutely right, I'm sorry about that. Since it's the weekend…
10:14 AMWeekdayOrillia1:58 end to end

The cancellation

A long-time customer calls to cancel tomorrow's AC diagnostic appointment. The advisor finds the existing job, confirms the address, asks if she wants to reschedule or just clear it, then cancels job #26056 and emails dispatch. Whole call: two minutes. Most call centers spend longer than that on hold music.

After hoursLake of BaysNo heatTransfer failed

When the transfer fails

A caller in Lake of Bays needs urgent service — a newly-installed heat pump has stopped. He asks to be connected to a human. The advisor attempts a warm transfer; the on-duty technician's line rolls to voicemail. The advisor immediately pivots:

I'm sorry, they're unavailable right now. Would you like me to try someone else or take a message?

What's underneath

The work, the audit, and the conversation about both.

SMHC's leadership doesn't have to listen to recordings to know what's happening. Every conversation closes with a structured audit — intake compliance, fee anchoring, safety triage, missed opportunities, brand perception, tone. The same system that runs the work watches the work. When a fee is quoted weakly, when an upsell is missed, when a transfer fails — there's a tag for it, and a path to fix it.

That's the difference between deploying an AI agent and operating one. Most chains will deploy something this year. The ones that pull ahead will be the ones who can see what their agent actually did, on every call, in production.

Karmaflow's AI agents handle our weekend and evening calls the way a senior dispatcher would — safety first, rate quoted, job booked, tech dispatched. 100% of in-window calls answered live. Our team comes in Monday to a finished schedule, not a backlog.

Michael Arsenault, Operations Manager · Simcoe Muskoka Home Comfort
Michael ArsenaultOperations Manager · Simcoe Muskoka Home Comfort

About SMHC

Simcoe Muskoka Home Comfort is an HVAC service company serving Orillia, Barrie, Bracebridge, Huntsville, and the Muskoka region. Heating, cooling, installation, and 24/7 service.

Visit

About Karmaflow

The AI agent platform underneath. Businesses use Karmaflow to deploy and operate agents across voice, SMS, email, and chat — with built-in real-time audit, recovery, and observability.

See it for yourself.

Deploy one agent across voice, chat, SMS, and email — with real-time audit and graceful recovery built in.

  • Case Study
  • Customer Story
  • SMHC
  • HVAC
  • Home Services
  • Voice Agent
  • Field Service
  • Ontario