Home services runs on a promise about time that the job itself keeps breaking. You said between 10 and 2. The first call ran long. Now it is 1:40, the customer has taken a day off work, and nobody has told them anything.
Every inbound 'any update?' call is fifteen minutes of somebody's day and one notch of goodwill spent. The fix is not better scheduling — the schedule will always slip. The fix is closing the information gap before the customer has to reach into it.
The four messages
Four triggered sends cover almost the whole job lifecycle. Each fires on a state change, not a clock.
1. Confirmation, at the moment of booking
Bell HVAC
iMessage
Hi Marcus — Bell HVAC here. You're booked Thursday between 10 and 2 for the furnace service. I'll text you the morning of with a tighter window.
great, thanks
The second sentence is the important one. You are pre-committing to the next message, which converts a wide window from a broken promise into a staged one.
2. The tighter window, morning of
This is the message that eliminates most inbound calls. Send it when the day's route is set, before anyone has started wondering.
3. Arrival notice, with a name
Bell HVAC
iMessage
Dave's finishing his first job and should be with you around 10:30. He'll be in a white van with our logo.
👍
4. Completion, with photos
This is where iMessage earns the line fee outright. Send full-quality photos of the finished work. On MMS those arrive compressed into something that makes competent work look shoddy — you are paying to make your own work look worse. The channel comparison has the detail, but the practical upshot is simple: photos of a clean install are the single best defence against an invoice dispute, and they only land properly on iMessage.
Photos change the conversation about price
A customer who sees the corroded part you replaced, the new one in place, and the tidy site afterwards is a customer who understands what the money bought. Businesses that send completion photos report fewer invoice arguments — and it costs nothing on a per-line plan.
The review ask, and when to send it
Thirty to ninety minutes after the job closes. Not the next day, not in a weekly batch. The window where the customer is still pleased is short, and it closes.
Bell HVAC
iMessage
Thanks for having us out today, Marcus. If the install went well, a quick review helps us a lot: bellhvac.co/review
Just left one. Dave was great
One sentence, one link, and never ask twice. A follow-up to an unanswered review request is the fastest way to turn a happy customer into a blocked number. Tag the link with utm_campaign=review-request so you can see which jobs actually produce reviews — how to set that up.
What this is worth
| What changes | How to measure it |
|---|---|
| Fewer 'where is my tech' calls | Inbound calls per week to the office line. It should fall within a month. |
| Fewer missed appointments | No-show rate, compared to the period before you started. |
| More reviews | Reviews per 100 completed jobs, attributed through the tagged link. |
| Fewer invoice disputes | Disputes per 100 invoices, split by whether photos were sent. |
At a $99 line, one prevented no-show a month covers it. Everything else is upside — but measure it anyway, because the arithmetic differs by business.
The mistakes specific to this trade
- Sending the tighter window before the route is final. A revised time is worse than a wide one. Send it once, accurately.
- Photos of the work but not the site. Show that you cleaned up. That is half of what they are judging.
- Asking for a review after a difficult job. Suppress the ask when the job went badly. A prompt to review is a prompt to complain publicly.
- Automating past the point a human should take over. When the customer replies with a real question, somebody needs to answer it — providers differ on whether they give you an inbox for that.
The general writing rules apply here too and are worth reading before you draft the four messages: how to write a business text people don't hate. If you work in storm restoration, roofing has its own playbook — bigger tickets, an insurance adjuster in the middle, and a reputation problem to overcome.