Most HVAC companies are better at finding new customers than at keeping the ones they already have.
A maintenance agreement is the strongest retention tool you have. The customer has already said yes once. But agreements expire, and if nobody asks the customer to renew before the end date, many of them lapse without a decision. Then, next season, that customer searches “HVAC near me” and books whoever answers first.
This guide gives you two sequences you can set up in the field service software you already use (ServiceTitan, Housecall Pro, Jobber or similar):
- The renewal sequence for maintenance agreements: 60, 30 and 7 days before expiry, and 15 days after. It stops as soon as the customer pays.
- The seasonal tune-up sequence that books the visits members have already paid for, and brings back past customers who are not on a plan.
You also get copyable text and email templates, the stop rules that keep the sequence from annoying paid-up customers, and what to check about text consent and carrier registration before you send anything.
Not legal advice. Last reviewed 2026-10-14. Texting rules differ by state, and the FCC adopted changes to the federal opt-out rules in 2026 that were not yet in effect at review time; see the consent section below.
The renewal sequence at a glance
| When | Channel | Purpose | Stop if… |
|---|---|---|---|
| 60 days before expiry | Email (and text, if the customer opted in) | Heads-up: what the plan covered this year, renewal price, how to renew | Paid, renewed, opted out, or said no |
| 30 days before expiry | Text and email | Reminder with a direct renewal link or phone number | Same |
| 7 days before expiry | Text | Last reminder before the plan ends: what stops on the end date | Same |
| Expiry day | No message | Status changes to “lapsed” in your software; the account goes on a call list | Same |
| 15 days after expiry | Text and email | Final “your plan has ended” note with a way to restart it | Same; after this, the sequence ends |
Four touchpoints over about 75 days (three of them pair an email with a text, so a customer who opted in to texts gets up to seven messages). That is enough for most customers to make a decision, and few enough that it does not feel like a chase.
Vendor guides use similar cadences. Oxmaint (2026), for example, starts with an internal review at 90 days, sends alerts at 60/30/15 days, adds a 30-day grace period and then a win-back message. Treat our cadence as a starting point, not a rule. What those guides leave out is the part that keeps you out of trouble: the stop rules, the consent check, and the wording.
What your customer records need before you start
The sequence runs from your field service software, so the data has to be there first. Check that each agreement record has:
- Agreement end date. Every message is timed from this date. If it is blank or wrong, the sequence fires at the wrong time.
- Auto-renew flag and payment status. A customer whose card renews automatically should get a different message (see the auto-renew template below), not a “please renew” chase.
- Renewal price for that customer’s plan tier, so the message can state it.
- Contact preference (email, text, or both) and a valid mobile number.
- Text consent record: whether the customer agreed to texts, the date, and how (agreement form, website checkbox, reply YES). This is a separate field from the phone number. More on why below.
- Opt-out status. Anyone who replied STOP or asked not to be contacted must be excluded automatically.
- Open issues. An unresolved complaint or an open callback should pause the sequence and send the account to a person.
If you only fix one thing, fix the end dates. A renewal sequence built on bad end dates sends “your plan expires next week” to someone who renewed last month.
The stop rules (the part most sequences get wrong)
A renewal sequence is only as good as its exit conditions. Set these up as automatic rules, not as something the office remembers to do:
- Payment received or renewal signed: stop immediately. Every later step should check payment status first. If your software can only check once a day, run the check before the day’s messages go out.
- Customer replies STOP (or a similar opt-out word): stop all texts for that campaign and send one confirmation only (template below).
- Customer says no or asks to cancel: stop the sequence, log the reason, and do not send the post-expiry message.
- Undeliverable number or bounced email: stop that channel and flag the record for the office to fix.
- Open complaint or callback on the account: pause and hand to a person. A cheerful renewal text to an unhappy customer makes things worse.
- Auto-renew customers: remove them from the “please renew” path. Send a notice before the charge instead. If you sell auto-renewing plans, ask counsel whether your state has automatic-renewal notice rules.
Copyable renewal templates
Replace the bracketed fields with merge fields from your software. Keep the business name at the start of each text so the customer knows who is writing, and keep the opt-out line in every text.
Day -60: email
Subject: Your [Company] maintenance plan renews on [End Date]
Hi [First Name],
Your [Plan Name] with [Company] ends on [End Date]. Here is what it covered this year:
- [Visit 1 date]: [spring/cooling tune-up]
- [Visit 2 date]: [fall/heating tune-up]
- [Member benefit, for example priority scheduling or repair discount, exactly as your agreement states it]
Renewing keeps the same coverage for another year at [Renewal Price].
Renew online: [Renewal Link] Or call us: [Phone]
If you have questions about the plan, just reply to this email.
[Your Name], [Company]
Day -60: text (only if the customer agreed to texts)
[Company]: Hi [First Name], your maintenance plan ends [End Date]. Renew for another year at [Renewal Price]: [Renewal Link] or call [Phone]. Reply STOP to opt out.
Day -30: text
[Company]: [First Name], a reminder that your maintenance plan ends [End Date]. Renewing keeps your [spring and fall tune-ups / member benefits]. Renew here: [Renewal Link]. Questions? Call [Phone]. Reply STOP to opt out.
Day -30: email
Subject: 30 days left on your maintenance plan
Hi [First Name],
Your [Plan Name] ends on [End Date]. If you renew before then, your [next tune-up / member pricing / priority scheduling] carries on without a gap.
[Renew Link] or call [Phone].
If you’ve decided not to renew, reply and let us know, and we’ll stop the reminders.
[Company]
That last line matters. It gives the customer an easy way to say no, which ends the sequence cleanly and tells you why customers leave.
Day -7: text
[Company]: [First Name], your maintenance plan ends in 7 days ([End Date]). After that, [your fall tune-up won’t be included / member pricing ends]. Renew: [Renewal Link] or call [Phone]. Reply STOP to opt out.
State only what actually stops. If your agreement does not promise priority scheduling, do not imply that the customer will lose it.
Day +15: text
[Company]: Hi [First Name], your maintenance plan ended on [End Date]. If you’d like to restart it, it takes 2 minutes: [Renewal Link] or call [Phone]. This is our last reminder. Reply STOP to opt out.
Day +15: email
Subject: Your maintenance plan has ended
Hi [First Name],
Your [Plan Name] ended on [End Date]. You can restart it any time at [Renewal Link] or by calling [Phone].
This is the last reminder we’ll send about it. Thanks for being a [Company] customer.
Auto-renew notice (instead of the renewal chase)
[Company]: Hi [First Name], your maintenance plan renews automatically on [Renewal Date] for [Renewal Price], charged to the card ending [Last 4]. To change or cancel, call [Phone] or visit [Account Link]. Reply STOP to opt out of texts.
Phone script for accounts that did not respond
After the expiry date, give the office a short list of lapsed accounts to call. Keep the call short:
“Hi [First Name], this is [Name] from [Company]. Your maintenance plan ended on [End Date], and I wanted to check whether you’d like to renew, or whether there was something about the plan that didn’t work for you. … Thanks, I’ll make a note of that.”
Log the answer. “Too expensive”, “moving” and “unhappy with a visit” each need a different fix, and you will only find the pattern if you write it down.
The seasonal tune-up sequence
The renewal sequence keeps the agreement. The tune-up sequence fills the visits. It also brings back past customers who are not on a plan, which is where the extra revenue usually is.
The trigger is the date of the customer’s last service. For a customer whose AC was serviced in April, the fall heating outreach starts in early September.
Message 1, about 6 weeks before the service window:
[Company]: Hi [First Name], your heating system is due for its fall tune-up. We have openings in [Month]. Want to get ahead of the first cold snap? Reply YES and we’ll text you times, or book here: [Booking Link]. Reply STOP to opt out.
Message 2, about 3 weeks out, if no response:
[Company]: Following up on your fall tune-up. We serviced your system in [Month] and can usually get you scheduled within [X] days. Book: [Booking Link] or call [Phone]. Reply STOP to opt out.
Message 3, at season start, if still no response:
[Company]: The first cold week is here. If you’d like your heating checked before you need it, we still have openings: [Booking Link]. Reply STOP to opt out.
For agreement members, change the wording: “Your fall tune-up is included in your plan. Pick a time: [Booking Link].” That is a scheduling message for a service the customer has already bought, not a sales pitch.
After the visit: send a review request about 48 hours later, to every customer, not only those you expect to be happy. Then schedule the next seasonal trigger. We cover the review side in how review requests and AI intake work together for local search.
Setting it up in ServiceTitan, Housecall Pro or Jobber
The logic above is the same in any tool. What differs is where the parts live. These notes come from each vendor’s own help pages; menus change, so confirm the details with your vendor’s support.
- ServiceTitan has an Expiring Memberships tab on the Follow Up screen, filterable by membership type, dates and opportunity status, where you can build renewal estimates in bulk (a feature ServiceTitan support has to enable on your account) and log call results (ServiceTitan help). Use that list as the call list for the day-0 and day +15 steps.
- Housecall Pro service plans include automated renewal emails for expiring plans as a topic in its own training (Housecall Pro help). Check whether the built-in timing matches the cadence above, and add the text steps through your texting setup if it does not.
- Jobber offers one-off and automated email Campaigns, triggered by client tags, line items, job type and timing, on all plans except Lite (Jobber help). We did not find a dedicated agreement-renewal workflow in Jobber’s help center, so a common approach is to set up the plan as a recurring job, tag plan customers, and use an automated campaign for the renewal emails. Texts would go through your texting setup. Check with Jobber support for current options.
Whatever the tool, test the sequence on 3 or 4 internal records first: one paid early, one that opts out, one with auto-renew, and one that never responds. Make sure each one exits where it should.
If your field software and your texting tool are separate systems, the integration that matters most is payment status. See CRM integration for owners who hate tech for how those connections usually work.
Text consent: what to check before you send
Not legal advice. Last reviewed 2026-10-14. The FCC adopted changes to its opt-out rules in 2026 that were not yet in effect at review time, and state rules differ. Have an attorney review your consent wording and process.
The most common mistake: “They’re our customer, so we can text them.” Having done business with someone is not the same as having their consent to marketing texts. Here is what the primary sources say.
Reminders and renewal asks are not the same kind of message
The wireless industry’s CTIA Messaging Principles and Best Practices (May 2023), which carriers expect senders to follow, sorts texts into three types:
- Conversational: the customer texts you first and you reply.
- Informational: for example appointment reminders and alerts. CTIA says the customer should give express permission for that purpose (verbal, on a form, by text or online).
- Promotional: anything with a sales or marketing promotion. CTIA says the customer “should agree in writing to receive promotional texts,” and notes that adding a call-to-action to an informational text “may place the message in the promotional category.”
A “your tune-up is booked for Tuesday” text looks informational. A “renew your plan for $X” text, or a tune-up offer to a non-member, is asking the customer to buy something. The cautious approach is to treat renewal and tune-up offers as promotional and to collect written consent for them.
What federal rules say about existing customers
- Under the FCC’s TCPA rules, an autodialed or prerecorded call or text that includes an advertisement or constitutes telemarketing needs the recipient’s prior express written consent (47 CFR 64.1200(a)(2)). That paragraph has no exception for existing customers. The “established business relationship” concept in the same rule (a purchase or transaction within the last 18 months, or an inquiry within 3 months) appears in the definitions that the do-not-call rules use (47 CFR 64.1200(f)(5) and (f)(15)), not in this consent requirement.
- Whether a particular texting platform counts as an “autodialer” is a contested legal question. Do not build your process on the assumption that it does not; ask counsel.
- The FCC has codified that National Do-Not-Call Registry protections apply to text messages (Federal Register, January 26, 2024).
- Calling-hours limits for telephone solicitations are before 8 a.m. and after 9 p.m., local time at the recipient’s location (47 CFR 64.1200(c)(1)). Schedule texts inside that window, and check whether the states you serve set a tighter one (Florida’s telemarketing act, for example, uses 8 a.m. to 8 p.m. for solicitation calls: Fla. Stat. 501.616).
- State laws add their own rules. Florida’s telephone solicitation law, for example, covers text messages and has its own STOP process (Fla. Stat. 501.059). Check the states you serve.
Collect consent where the customer already signs
The easiest place is the maintenance agreement itself, or the online signup form. CTIA suggests that businesses that already collect forms “add a field to capture the Consumer’s consent.” An example checkbox, for your attorney to adapt:
☐ I agree to receive recurring automated text messages from [Company] at the mobile number above about my maintenance plan, appointment reminders, renewal notices and offers. Consent is not a condition of purchase. Message frequency varies. Msg & data rates may apply. Reply STOP to opt out, HELP for help.
Keep the record. CTIA lists what to retain: the timestamp, how consent was collected, the wording the customer saw, the campaign it applies to, the IP address if consent was given online, the phone number, and who consented.
For customers with no text consent on file, use email for the renewal sequence, and ask for text consent there (“Want renewal and tune-up reminders by text? [Link to opt-in form]”). Do not text them to ask for permission to text them.
Opt-in confirmation text (CTIA recommends one for recurring programs):
[Company]: You’re signed up for maintenance plan and tune-up texts. Msg frequency varies. Msg & data rates may apply. Reply HELP for help, STOP to opt out.
Opt-outs: honor them fast, and confirm once
- Under the current FCC rule, a customer can revoke consent by any reasonable method, and a reply of “stop,” “quit,” “end,” “revoke,” “opt out,” “cancel” or “unsubscribe” counts as revocation per se. A revocation must be honored “within a reasonable time not to exceed ten business days” (47 CFR 64.1200(a)(10)). Automate it so it happens in seconds, not days.
- You may send one confirmation text that only confirms the opt-out and contains no marketing (47 CFR 64.1200(a)(12)). CTIA also asks for one final confirmation and no further messages, and for normal-language opt-outs (“please stop texting me”) to be honored too.
- What the FCC adopted in 2026 (not yet in effect): On September 30, 2026, the FCC adopted an order (FCC 26-67) that lets senders designate an exclusive opt-out method, such as standard reply words, as long as the method is clearly disclosed in each text. It also lets a sender treat an opt-out from one category of informational messages as applying only to that category. An opt-out from a telemarketing message still covers all future telemarketing from that sender. The changes take effect 30 days after Federal Register publication (FCC 26-67); check the FCC’s public notice for the date. Before that order, the FCC had delayed the “revoke all” part of the 2024 rule to January 31, 2027 (DA 26-12).
The practical takeaway does not change: put “Reply STOP to opt out” in every text, treat any of the seven words (and plain-language requests) as an opt-out across your renewal and marketing texts, and stop.
Opt-out confirmation text:
[Company]: You’re unsubscribed. You won’t receive any more texts from us.
HELP reply:
[Company] maintenance plan texts. Questions? Call [Phone] or email [Email]. Reply STOP to opt out.
10DLC registration: the step everyone skips
If you send texts from a regular 10-digit business number through software (your field service app, a texting platform, or an AI assistant), US carriers treat that as non-consumer (application-to-person, or A2P) messaging, and the major carriers require it to be registered before they will deliver it.
- T-Mobile states that “all entities that wish to send sanctioned 10DLC messaging traffic must be registered before their campaign messages will be approved for delivery on our network” (T-Mobile).
- Registration goes through The Campaign Registry, but businesses cannot register directly. Your messaging provider, called a Campaign Service Provider, registers your brand and campaigns for you.
- Expect to provide your legal business name, EIN, address, phone and contact email (a working website is strongly recommended), plus a campaign use case, a description of the messages, sample messages, and a description of how customers opt in. Sample messages should include opt-out language such as “Reply STOP to unsubscribe.” One provider puts standard brand vetting at 1 to 7 business days (Telnyx docs).
Three practical points:
- Ask your field service or texting vendor whether your number is registered, and under which use case. If the vendor registered a “customer care” or “account notification” campaign, renewal offers and tune-up promotions may need a marketing or mixed use case.
- Make your opt-in description match reality. If the registration says “customers opt in on the agreement form,” the checkbox above should actually be on the form.
- Use the templates above as your sample messages. They already include the business name and opt-out line.
Measure it with your own numbers
Skip industry averages and measure your own baseline. You need four numbers from last year:
- A: agreements that came up for renewal
- B: agreements that renewed
- C: past non-member customers who had a visit in the previous 12 to 24 months
- D: of those, how many booked a tune-up this season
Your renewal rate is B ÷ A. Your reactivation rate is D ÷ C. Run the sequences for one season and compare.
For example, suppose 200 agreements come up for renewal and 120 renew today (60%). If the sequence moves that to 140 (70%), you keep 20 more agreements. Multiply by your own plan price and the repair work those members usually generate. These are illustrative numbers, not a forecast. The point is to know your baseline before you change anything, so you can tell whether the sequence worked.
Also track opt-out rate per message. If one message causes far more STOP replies than the others, rewrite it or remove it.
Why this rarely happens by hand
Most owners know they should run renewal reminders. Most do not, because manually it means pulling the expiring list every week, checking who already paid, writing and sending each message, remembering the follow-ups, and logging every reply. That is a standing job, not a 10-minute task. So it happens once a year as a mass email, or not at all.
Automation handles the timing and the stop rules. Where AI helps is the replies. Customers answer renewal texts with questions: “What did the plan cover again?”, “Can I switch to the cheaper tier?”, “Can you come Thursday instead?” An AI intake assistant connected to your calendar and plan records can answer those and book the visit, and pass anything else (a complaint, a cancellation, a billing dispute) to a person. We cover this in three AI automations that free up an HVAC dispatcher, and the after-hours side in what 31 after-hours HVAC leads in 30 days could look like and a 90-day after-hours capture worked example.
Your setup checklist
- Agreement end dates, auto-renew flags and renewal prices are correct in your software
- Text consent is a separate field, with date and source
- Consent checkbox added to the agreement form and online signup, reviewed by counsel
- Stop rules automated: payment, opt-out, “no”, bad contact, open complaint
- Auto-renew customers get a notice, not a renewal chase
- Every text starts with your business name and ends with “Reply STOP to opt out”
- Opt-outs processed automatically, with one confirmation text
- Texts scheduled between 8 a.m. and 9 p.m. in the customer’s time zone, or your state’s tighter window
- 10DLC brand and campaign registered for the right use case
- Sequence tested on internal records before going live
- Baseline renewal and reactivation rates recorded
Where to start
If you run an HVAC, plumbing or other home service business, see how we approach AI intake and follow-up for local service businesses. If you are not sure whether renewals, after-hours calls or tune-up bookings should come first, the 2-week AI Readiness Audit looks at your customer records, your current follow-up and your texting setup, and tells you which to fix first. The audit starts at $2,500.