Trades industry news, updated weekly
Business Tips

Your Automated Customer Texts Are Generating Callbacks

Sam ReevesSam Reeves··10 min read

Your Automated Customer Texts Are Generating Callbacks

It was a Tuesday in August 2023. Maple was riding shotgun with one of my guys. I was back at the shop when my phone rang — customer named Diane, confused and annoyed, asking why she just got a text saying her tech was on the way when he'd already been at her house, done the work, and left forty minutes ago.

I took the call myself. Wrote down everything she said, the way I do. When I dug into it that night, I found the problem: a webhook delay between Housecall Pro and the SMS trigger I'd built in Zapier. The trigger wasn't firing on a true event push — it was polling on an interval, and during peak afternoon hours that interval was stretching to 15, 30, sometimes 45 minutes. Diane's "tech is on the way" text fired after her tech had closed the job, gotten back in the truck, and driven halfway to his next stop.

Here's what made it worse. I'd built that automation in early 2022, during the launch sprint when I was setting everything up at once. Automated booking confirmations. Dispatch notifications. Post-job review requests. The whole thing felt like a customer service operation. I hadn't touched any of it since. I had no idea what it was actually doing to customers because I'd never gone back to look.

That call from Diane started a 90-day audit. What I found changed how I think about automated notifications entirely.


Why Automation Feels Like Customer Service But Often Isn't

The fundamental problem with notification automations is that they're built around your operations, not your customer's information needs. A job gets created — a trigger fires. A tech gets dispatched — another trigger fires. An invoice gets sent — trigger. The events that matter to your software and the events that matter to the customer are not the same list, and they don't happen at the same times.

I pulled my CallRail recordings — the same ones I sample every week — and spent about two months going through callbacks systematically. I was looking for any call where the customer referenced something they'd received: a text, an email, a reminder. The pattern wasn't subtle. Calls where the customer said something like "I just got your text and I'm confused because your guy already left" showed up constantly once I was listening for them. Before I built the tagging structure to find them, every one of those had been filed as "customer question" and disappeared into the noise.

Without the recordings, I never would have caught it. That's the whole point of recording your calls.


The Notification Failures I Actually Found

Not every problem looked the same. Here's what I kept running into.

Timing. The Diane problem. Your trigger is configured correctly in theory, but you're on a polling interval instead of a true webhook push, and during busy afternoons the queue backs up. Housecall Pro has improved its native webhook support since 2022 — but if you built automations through Zapier in the early days and haven't touched them since, your delays are probably longer than you think. Fifteen to 45 minutes of lag during peak hours is common. A "your tech is on the way" text that fires 40 minutes late is a callback, not a notification.

Sequencing. Triggers firing out of logical order. Customer gets an invoice-paid confirmation before the tech has finished packing his tools. Or a review request fires before the customer has had time to decide if they're even happy. These are configuration problems — a timer offset wrong, a status update and a billing step out of sync. Annoying, fixable.

Content. This one is worse than the other two put together.

A content failure is when the customer has just finished a real, specific 20-minute conversation with your technician — he explained exactly what was wrong, walked her through the repair, answered her question about whether she needs a panel upgrade — and then she gets a text that reads: "Your technician is on the way. Thank you for choosing [Company Name]." She doesn't know which information to trust. The text seems to come from the same company that sent the tech, but it doesn't know what he said. It doesn't know what job was done. It reads like it was written for a stranger.

That gap between the in-person conversation and the blank template doesn't just confuse customers. It makes them distrust the technician's information, because the automated message sounds more official. I could hear this in the recordings. Customers calling back to confirm what the tech had told them, because the text made them uncertain. That's not a customer question. That's a notification actively undercutting the trust the tech spent 20 minutes building.


Broken Automation Is Worse Than No Automation

Everyone says automate everything, more touchpoints, more communication. I believed that in 2022. It's wrong.

My NPS in month two of Reeves Electric was a 4. Not because I wasn't communicating — I was. I had automations running from day one. The problem was that the communication was wrong. Mistimed, generic, and in a few cases actively contradicting what had just happened on the job. I didn't figure that out until I killed three of the five active triggers and replaced them with a dispatcher call at the one moment that actually mattered: the 30-minute heads-up before arrival. By month nine, NPS was 81.

The shop that personally calls a customer at two moments — booking confirmation and arrival heads-up — will outperform the shop running six broken automated triggers. Because broken automation isn't the same as silence. Silence means the customer just doesn't hear from you. Broken automation means the customer hears something wrong, calls to sort it out, and comes away with less confidence in your company than before you sent the message.

Most shops have no idea which situation they're in because they don't track callbacks by origin. They see a callback, they answer the callback, they move on. The problem is invisible until you build the structure to find it.


How I Rebuilt the Notification Flow

After the audit, I turned off everything and started from zero. Here's what I kept.

Booking confirmation fires immediately when a job is booked. The message includes the tech's first name, a real headshot, the scheduled time window, and a one-line description of the job that proves we actually read the notes. Something like: "Hi Linda, confirmed with Reeves Electric for Monday 10am–12pm. Your tech will be there for the GFCI outlet repair — reply here if anything changes." Specific enough that the customer knows this isn't a form letter.

ETA text fires only when the tech manually marks "en route" in Housecall Pro. Not on a time-based trigger. Not on a dispatch event. Only that specific manual status. The message is short: tech name, estimated arrival time, job description. That's it. If the tech actually hits the button, the customer gets accurate information. If the tech doesn't hit the button, the message doesn't fire at all — which is better than firing wrong.

Review request fires 90 minutes after the invoice is marked paid. Not when it's sent — when it's paid. And not immediately. Ninety minutes gives the customer time to actually use the repaired outlet, notice the GFCI isn't tripping anymore, and form a real opinion.

Three triggers. That's what I run on five trucks.

The en route step is manual, and yes, techs miss it sometimes. What moved adoption more than anything was making the trigger legible to them: once they heard directly from customers that the personalized text was noticed and appreciated, they started seeing it as something they were doing for the customer, not a box to check for dispatch. The other lever is making the missed triggers visible in the morning huddle — not punitive, just part of the weekly review. Most of what I saw was habit, not resistance.


How to Audit Your Own Stack

Pull 30 days of callbacks and tag them. If you have CallRail, go to the recordings. If you don't, pull your phone records and listen to every callback — calls where an existing customer is calling back after already interacting with your team. Flag any call where the customer references something they received. Write down when that call came in, then go into your CRM and pull the job timeline. How close was the callback to the last automated message?

In my log, the pattern was obvious within the first 20 calls.

Then pull every active trigger in your system. For each one, ask a single question: does this fire based on a human action or a system event? Human-action triggers require a tech or dispatcher to actually touch something — marking a job "en route," closing an invoice, confirming a booking. System-event triggers fire automatically based on job creation, timer offsets, or status changes that happen without anyone choosing them.

System-event triggers are where the drift happens. They're the ones most likely to fire at the wrong time, in a scenario your original design didn't account for. Look at each one and ask: if this fires 40 minutes late, what does the customer receive, and will they call?

If you don't have a clear answer, you have a Diane situation waiting.

The simplest test for lag: run a fake job through your stack using your own cell number. Create the job, dispatch it, close it, and log every timestamp — when you took the action, when the message arrived. If you're on a Zapier polling interval, run it once at 9am and once at 2pm. The delta will be different. The 2pm number is what your customers are actually getting.


A Few Questions I Get On This

Won't customers notice if I cut automations and complain they're not hearing from us?

What they'll actually experience is fewer confusing messages and a more personal one replacing them. Turning off a misfiring trigger and replacing it with a dispatcher call at arrival time doesn't generate complaints. It generates fewer confused callbacks and occasionally a comment about how the communication felt unusually clear.

What should a booking confirmation text actually say?

Tech name. Time window. One-line description that proves you read the job notes. A reply prompt so the customer knows the channel is two-way. What it should not say: "Thank you for choosing [Company Name], a service professional will contact you." That's a template someone pasted in years ago and nobody updated. It tells the customer nothing.

Does waiting 90 minutes on the review request cost you responses?

In my experience, no. The customers who respond to review requests are the ones who had a memorable interaction — good or bad — and that motivation doesn't expire in 90 minutes. What changes is what they write. The customer who got the request ten minutes after the tech left is writing from a neutral state. The customer who, 90 minutes later, realized the GFCI repair fixed the problem she'd been having for six months has something to say. I moved the delay and review quality went up. Response volume didn't change in any direction I could measure.

Enjoyed this article?

Get articles like this in your inbox every Monday. Free, no spam.

More from The Backcharge