← All Posts
AI Automation · Automation Teardown

The Install You Already Sold: Automating Warranty Expiry Into Service Plans

By Gideon Wafula, AI Automation Engineer September 7, 2026 9 min read

There is a moment in the life of every furnace, heat pump, water heater and panel upgrade that the company who installed it almost never notices. The labour warranty ends. Nothing happens on that day. No alarm, no email, no entry in the calendar. The homeowner does not know either. But from that morning onward, a call that would have been free is now a paid call, and the relationship the installer built during a two-day job quietly reverts to whoever the homeowner finds on their phone at the worst possible moment.

I am Gideon Wafula, an AI Automation Engineer based in Seoul, and I build revenue automations for local service businesses. I keep coming back to this one because it is the rare build where the trigger is genuinely a date the business already owns, the customer is genuinely not cold, and the offer is genuinely relevant. Most of what gets sold as "database reactivation" fails all three tests. This one passes all three, and yet almost nobody runs it.

Why the expiry date is a better trigger than anything you can invent

Contractors run reactivation campaigns constantly. Spring tune-up blasts. "It has been a while" texts. Seasonal offers to the whole list. I wrote about the mechanics of that in database reactivation and the revenue hiding in your CRM, and it does work, but it works the way a wide net works. You are choosing the moment, and the customer has no reason to agree that this Tuesday is when they should think about their HVAC system.

Warranty expiry inverts that. The date was set by the manufacturer and by the paperwork the homeowner signed. It is real, it is verifiable, it is specific to their equipment, and it changes their financial exposure. That is why an outreach built around it does not feel like marketing even though it plainly is one. You are telling somebody something true and slightly urgent about a large appliance they paid you thousands for.

The industry pattern most contractors already half-know is a staged run-up: an internal review roughly three months out, a first customer touch around two months out framed as information rather than an offer, a second touch about a month out that carries the actual plan, a short reminder in the final fortnight, and a grace-period follow-up after the date passes. Vendors selling renewal software converge on almost exactly that cadence, and the reason is not mysterious — it gives the homeowner two separate chances to think, and it separates the news from the ask.

The part that trips people up: this is not plan renewal

I have seen three companies try to run this inside their existing maintenance plan renewal sequence, and all three got a limp result. The reason is that the objection is different in kind.

A renewal prospect is being asked whether last year was worth it. They have twelve months of evidence and a habit. Their decision is mostly emotional inertia, which is why the automation I described in maintenance plan renewal for home services mostly works by removing friction — reminding early, storing the card, making continuation the default.

An expiry prospect is being asked to start paying for something that has been free. There is no habit to lean on and no evidence to point at, because from their perspective nothing has gone wrong. The honest frame is not "renew" and it is definitely not "your warranty is expiring, act now" in red text. It is closer to: here is what your coverage actually included, here is what changes on this date, here is what a service agreement covers and what it costs, and here is a booked visit either way. Companies that lead with the visit rather than the contract tend to do better, because a technician standing in front of the equipment sells the plan far more credibly than a text message ever will.

It is also distinct from the replacement conversation. Warranty expiry usually lands years before end of life, which is the window I covered in the aging equipment replacement pipeline. Mixing the two is a mistake — a homeowner four years into a fifteen-year unit who receives replacement-flavoured messaging will read the whole thing as a sales trap and stop opening anything you send.

The afternoon that tells you whether you have this problem

Before building anything, pull four numbers. This is a query and a spreadsheet, not a project.

Then call fifteen homeowners from an install cohort whose warranty lapsed a year or two ago and ask what they did when something needed attention. If most of them called somebody else, your problem is not the offer. It is that they forgot you existed.

The build

I use n8n for orchestration, sitting on top of whatever field service platform the company already runs — ServiceTitan, Jobber, Housecall Pro, or in a surprising number of cases a spreadsheet and a filing cabinet. Six steps.

1. A warranty table, computed once and stored

Do not calculate expiry on the fly. Build a table with one row per installed unit holding install date, equipment identity, the warranty terms that applied at the time of sale, registration status, computed labour expiry date, computed parts expiry date, and current plan status. Compute it nightly and store it. The reason is auditability: when a homeowner replies "that's not what I was told," you need to be able to see exactly what the system believed and why, and a date derived inside a message template leaves no trace.

2. Suppression evaluated at send time, not at selection

Because the audience is picked ninety days ahead, a lot can change in between. Check immediately before each send and suppress: anyone who already holds an active service plan, anyone with an open job or unresolved complaint, anyone in a warranty claim or dispute right now, anyone whose unit was replaced since the row was written, anyone contacted by a human in the last week, anyone who opted out, and anyone a manager has flagged. The flag has to be one click in a tool the office staff already have open, or it will not get used.

3. A two-message structure, with the news separated from the offer

The first touch is informational and carries no price: your unit's labour coverage ends on this date, here is what that means, here is the record we hold. The second, weeks later, carries the plan and the cost. Separating them does two things — it earns the right to make the ask, and it flushes out data errors early, because homeowners will correct a wrong install date long before they will engage with a wrong price. Keep both short. A long message here reads as a pitch.

4. The model writes the copy, the table owns the facts

This is the guardrail I insist on. A language model is good at making the same message sound like it came from a person who knows the customer, and it is bad at arithmetic and terrible at warranty terms. So the model personalises tone and phrasing; every date, coverage statement, price and plan inclusion is injected as a validated variable from the warranty table, and the draft is rejected if it contains a date or a currency figure that did not come from that injection. Getting a warranty term wrong in writing is not a bad customer experience, it is a potential misrepresentation, and no amount of clever prompting is worth that exposure.

5. Reply handling that routes to a human immediately

Stop the sequence on any inbound reply, in every case. Route anything containing a question about coverage, a claim, a complaint or a price negotiation straight to a named person rather than into a bot conversation. The whole value of this trigger is that it produces a genuine question from a warm customer — handing that to an autoresponder is how you convert an opportunity into an annoyance. If you want the fuller argument for keeping these systems narrow and supervised, it is in the AI agents that actually make money are narrow and boring.

6. A capacity check before the batch goes out

This is the step everyone skips. If the automation books forty tune-up visits into a month where you have technicians for fifteen, you have converted a revenue win into a scheduling disaster and a run of bad reviews. Before releasing a batch, check available capacity in the target window and throttle the send to match. Boring, unglamorous, and the difference between a system that survives its second quarter and one that gets switched off.

The data problem, stated honestly

Most home services companies cannot run this on their history. Install dates are usually reliable. Equipment identity is patchy. Warranty terms at time of sale are often reconstructable only from supplier records, and registration status frequently lives nowhere at all. The temptation is to guess and let the automation smooth over the gaps, and that temptation should be resisted, because a confidently wrong warranty date sent to a few hundred homeowners is a worse outcome than not sending anything.

What I recommend instead is a split. Fix the capture at the point of install first — serial number, model, registration confirmation, and warranty terms as structured fields the technician completes before the job closes — and run the automation on that clean forward-looking cohort from day one. Then treat the historical backlog as a separate, bounded reconstruction project, working backwards from the most recent install years where the records are best and the expiry dates are still ahead of you. You will get most of the value from the last four years anyway.

Compliance, briefly

This is a commercial message to an existing customer, which is the easiest category to be in but not a free pass. In the US, SMS to customers still sits under TCPA and the carrier registration regime: you need a defensible consent record, honour opt-outs immediately and permanently, and stay inside reasonable local hours. In the UK and EU the existing-customer soft opt-in usually covers this for similar products and services, provided the original opt-out was offered and you keep offering it. Everywhere, the substantive risk here is not spam law — it is accuracy. Say something specific and wrong about somebody's warranty coverage and you have a consumer protection problem, not a marketing one. That is precisely why the facts come from the table and not from the model.

What it costs and what to measure

Running cost is genuinely low, roughly 30 to 120 USD a month for orchestration, model usage and messaging, because you are only ever contacting the units expiring in a narrow window. The real spend is the field service integration and the data cleanup, both one-time. Track four things:

The honest caveat

An automation cannot make a service plan worth buying. If your plan is a discount card with a sticker on it, a well-timed message will only help homeowners decline it faster and more politely. The businesses that win with this build are the ones whose plan genuinely includes something the customer can feel — priority scheduling in a heatwave, waived diagnostic fees, a real annual visit that gets done — and who use the expiry date as the moment to explain it rather than as a deadline to pressure against.

The structure ports cleanly beyond HVAC. Roofing workmanship warranties, solar inverter and workmanship coverage, generator installs, garage doors, water treatment systems, commercial kitchen equipment: anywhere a contractor installs something with a coverage period and then stops thinking about it. The clock changes and the terms change, but the shape — computed warranty table, suppression at send time, news separated from offer, facts injected not generated, capacity check before batch — does not. You can see the range of what I build on my AI automation services page.

Need this set up for your business?

Gideon Wafula builds custom AI automation systems, n8n, WhatsApp, Voice AI, and more.

See Services →

Frequently Asked Questions

What is a warranty expiry automation for a home services business?
It is a workflow that reads the install date and warranty terms for every piece of equipment your company has put in, calculates when the labour coverage lapses, and starts a short outreach sequence in the months before that date offering a paid service agreement or maintenance plan. The customer is not a cold lead: you installed the equipment, you hold the records, and the expiry date is a real event in their life rather than a manufactured marketing reason to call. That is what makes it convert better than generic database reactivation.
How is this different from renewing an existing maintenance plan?
Plan renewal is retention: the customer already believes in the product and you are asking them to continue. Warranty expiry is acquisition inside your own customer base, and the objection is completely different. A renewal prospect asks whether the plan was worth it last year. An expiry prospect asks why they should start paying for something that has been free since the install. The copy, the offer, the timing and the human handoff all have to be built for that second conversation, which is why bolting it onto a renewal sequence usually produces a flat result.
What data do you need before you can build it?
Four fields per install: the install date, the equipment identity, the warranty terms that applied at the time, and whether the unit was ever registered with the manufacturer. Most companies have the first two reliably in their field service software and the last two scattered across paperwork, technician notes and the supplier portal. The honest sequence is to fix the data capture at the point of install first, run the automation on the clean forward-looking cohort, and treat the historical backlog as a separate one-time reconstruction project rather than trying to automate over gaps.
What does this automation cost to run each month?
The recurring bill is small, usually in the range of 30 to 120 USD covering orchestration, a modest amount of model usage for personalising copy, and messaging. Send volume is low because you are only ever contacting the installs whose coverage lapses in a given window. The real cost sits in the integration with the field service platform and in the data cleanup, and both of those are one-time project work. Any vendor quoting a large monthly figure for this is charging you for their margin rather than for compute.