Skip to content
imessageapi

iMessage for appliance repair

The job splits in two: diagnose, then come back with the part. The gap between those visits is where customers get frustrated, chase for updates, and occasionally call someone else.

6 min readUpdated August 24, 2026By industry

Appliance repair has a structural problem: the two-visit job. You diagnose on Tuesday, the part arrives some time next week, and you return. In between, the customer has no washing machine and no information — and that combination is what generates the angry call.

Diagnose, quote, and be honest about the maths

Half of appliance repairs are not worth doing. Saying so costs you one job and earns you every future one, because a customer who has been told 'do not fix this' trusts you completely the next time you say 'this is worth fixing'.

diagnosis
export const diagnosis = {
worthFixing: (c: Ctx) =>
`${c.company}: it's the ${c.part} — photo attached. ` +
`${c.repairPrice} fitted, part's ${c.leadTime} away. ` +
`Machine's ${c.age} years old so that's worth doing. Reply YES to order.`,
 
// The message that makes the next three jobs happen.
notWorthFixing: (c: Ctx) =>
`${c.company}: honest answer — it's the ${c.part}, ${c.repairPrice} ` +
`fitted, on a ${c.age}-year-old machine. I wouldn't. ` +
`A new one is ${c.newPrice} with a warranty. Just the ` +
`${c.calloutFee} callout today. Happy to say what I'd buy.`,
};

Telling someone not to spend money is the strongest marketing there is

It cannot be faked by a competitor, it gets repeated to neighbours, and it converts the callout fee into a relationship. This is the single message most worth getting right in this trade.

The parts wait needs filling

Silence during the parts wait is what customers experience as bad service, even when nothing has gone wrong. Three short messages remove almost all of that friction.

parts pipeline
export const parts = {
ordered: (c: Ctx) =>
`${c.company}: part's ordered. Supplier says ${c.expectedDate}. ` +
`I'll message the moment it lands and we'll book you in.`,
 
// Send this even when there is no news. Especially then.
delayed: (c: Ctx) =>
`${c.company}: part's been held up — now looking at ${c.newDate}. ` +
`Nothing you need to do, just didn't want you wondering.`,
 
arrived: (c: Ctx) =>
`${c.company}: part's here. I can do ${c.slotA} or ${c.slotB} — ` +
`reply A or B and it's booked.`,
};

The delay message is counter-intuitive and important. Most technicians avoid sending bad news; customers overwhelmingly prefer hearing it. Saying nothing does not buy you time, it just moves the conversation to a phone call where they are already annoyed.

Warranty and repeat-fault threads

When the same machine fails again, the thread is your record: what you replaced, when, and what you said about it. That turns a potential argument into a two-message resolution — and it is why keeping the conversation on the company number rather than a technician's phone matters.

Two-way conversation design generally is covered in two-way texting.

Next step

Browse the other industry playbooks, compare the services that can send this on the providers page, or tag your links with the UTM builder.