Annual Maintenance Reminder
Automatically remind each customer exactly 12 months after their last service.
Import this blueprint into your automation tool:
How to import: Download the blueprint → go to make.com (free account) → Create new scenario → click the 3-dot menu → Import Blueprint → upload the file. Then replace the placeholder values (YOUR_TWILIO_NUMBER etc.) with your own.
What this does
The seasonal campaign sends to everyone at once. This template is different — it sends each customer a personalized maintenance reminder exactly 12 months after their last service call. It's more targeted, more personal, and converts at a higher rate. This is the foundation of a recurring revenue model for your HVAC business.
Before you start
- ✓ A Google Sheet logging customer service dates (Name, Phone, Email, Last Service Date)
- ✓ Zapier + Twilio or Gmail
Setup guide
Set up your service history sheet
Create a Google Sheet with columns: Customer Name | Phone | Email | Last Service Date | System Type | Reminder Sent. Export your past job history and populate this sheet. Going forward, add a row after every completed job.
Pro tip: If you use ServiceTitan or Housecall Pro, you can automate this with a Zapier "Job Completed → Add Row" Zap so the sheet updates itself.
Set up the date-based trigger
In Zapier, use "Schedule by Zapier" to trigger daily. Add a "Lookup Spreadsheet Row" action to find rows where Last Service Date = today's date exactly 1 year ago. This finds customers due for their annual reminder today.
Pro tip: Zapier's date filtering can be tricky. Use the formula: IF(DATEDIF(Last Service Date, TODAY(), "D") = 365, "Send", "") in a helper column called "Due Today". Then trigger on rows where Due Today = "Send".
Send the annual reminder
Add a Twilio SMS or Gmail action with the personalized reminder message.
Hi [First Name], it's [Your Name] from [Company Name]. It's been about a year since we last serviced your [System Type] — just wanted to check in and see if you're due for maintenance before the season hits. Want me to get a time on the calendar? Reply YES and I'll grab a slot for you.
Pro tip: Including the system type ("your Carrier heat pump" vs "your HVAC system") increases response rate by making the message feel like it came from someone who knows them.
Mark reminder sent
After sending, update the "Reminder Sent" column to today's date. This prevents re-sending the reminder if the daily Zap runs again tomorrow.
All messages — copy & paste ready
Hi [First Name], it's [Your Name] from [Company Name]. It's been about a year since we last serviced your [System Type] — just wanted to check in and see if you're due for maintenance before the season hits. Want me to get a time on the calendar? Reply YES and I'll grab a slot for you.
Hi [First Name], it's been a year since [Company Name] serviced your [System Type]. Systems over [System Age] years old benefit from more frequent check-ups, especially going into [Season]. Want to get ahead of any potential issues? Reply YES and I'll find you a slot this week.
Pro tip
Build a simple membership pitch into the follow-up: "We also offer our maintenance plan — $149/year covers two tune-ups and gives you priority emergency service. Want me to add that when I schedule your appointment?" This converts one-time customers into recurring revenue.
Common questions
What if a customer booked service within the last 12 months on their own?
How is this different from the seasonal campaign?
Need help setting this up?
Reply to your welcome email and I'll walk you through it. Most setups take under 30 minutes with help.
Get Setup Help