Dograh

HVAC Maintenance Plan Reminder Calls with AI and Renewal Consent

HVAC Maintenance Plan Reminder Calls with AI and Renewal Consent
Use CaseNovember 5, 2026·6 min read

HVAC Maintenance Plan Reminder Calls with AI and Renewal Consent

Vemu Sandeep
Vemu Sandeep·GTM Engineer, Dograh AI

GTM engineer at Dograh working across voice AI and enterprise AI. IIT (BHU) and IIM Visakhapatnam alumnus.

HVAC maintenance plan reminder calls with AI work as two separate campaigns. A pre-season reminder books the tune-up every member already paid for and carries no offer. A renewal call goes only to members with prior express written consent on file, reads the terms from the agreement and has your own system send the sign-up link.

Key Takeaways

  • The tune-up reminder books a paid visit and never mentions renewing.
  • Renewal calls go only to members with written consent on file.
  • Your service agreements decide who gets called and when.

This post is part of our guide to AI voice agents for field service management, where maintenance plans need two calls. Below, we cover both, which our HVAC guide introduces. Along the way, we show how each campaign runs in Dograh, the open-source AI voice agent platform we build.

Why plan renewals slip

A maintenance plan brings in money every year and keeps a homeowner calling you when the system fails. It also lapses quietly. The end date sits in the service agreement, the office is busy with breakdowns in the weeks around it, and nobody calls until the member has already let it go.

The agreements already know who is due and when. Your field service software holds each member's plan, the visits included, the last tune-up and the end date. The calls in this post read those records and write back to them, so the agent never keeps its own member list.

Two calls come out of the same record. Before each season, every member gets a reminder to book the tune-up they paid for. Ahead of the end date, members who agreed to renewal calls get one call about another year. AI voice agents for service reminders in home services covers the reminder call step by step, so this post spends its time on the line between the two calls and on the renewal.

One HVAC service agreement record, listing the plan, visits included, last tune-up and end date, feeds two calls. A reminder agent calls every member to book the tune-up, with no offer. Later a renewal agent calls only the members with a signed consent form, reads the terms and makes one offer.
A reminder about a tune-up the member already paid for is generally a service call, but adding 'would you like to renew?' generally turns it into telemarketing, which needs prior express written consent. Confirm the sign-up form's wording and your call lists with counsel before the first renewal campaign.

What the call says decides the consent you need. The FCC's ruling on AI-generated voices counts an agent's voice as an artificial voice under the Telephone Consumer Protection Act (TCPA). The FCC's calling rules then require the called person's prior express consent for an artificial-voice call to a mobile phone, and the message has to name the business responsible at the start.

A call that sells something clears a higher bar. A renewal pitch or an upgrade offer is telemarketing, and an artificial-voice telemarketing call to a mobile needs prior express written consent. That is a signed agreement, electronic signatures included, that lets your company make such calls to a named number, and no member can be required to sign it as a condition of buying the plan.

So a reminder about a tune-up the member already paid for is generally a service call, while the same call with "would you like to renew?" added generally becomes telemarketing. Keep every offer out of the reminder. Your plan sign-up form is the natural place to ask for written consent to renewal calls, and confirm the form's wording and your call lists with counsel before the first renewal campaign.

Dograh

Open Source Alternative to Vapi / Retell

Self-hosted voice agent platform — no per-minute fees

dograh-hq/dograh

Star on GitHub

The pre-season tune-up campaign

The reminder runs as a campaign built from your service agreements. A few weeks before the first hot spell, export the members due for a spring cooling check, or have your system upload the list through Dograh's API. Release it in slices that match your open tune-up windows, so the agent never runs out of slots to offer halfway through the month.

Each call opens with fixed Greeting Text that names your company. The agent asks for the plan holder by name, then asks them to confirm the service address on the account before it mentions the plan. Pre-Call Data Fetch, set to Outbound calls only, loads the plan record as the call connects, and the prompt keeps that record unspoken until the address check passes. Then the agent offers the windows your scheduling software returns and writes the tune-up back.

The reminder agent's prompt contains no renewal at all. If a member asks how long their plan runs, the agent reads the end date from the record and offers to have someone from the office call back about it. Campaign calling hours run in one time zone, so split members across zones, and you set the retries (0 to 10) and the delay between them.

The renewal campaign is a second list and a second agent. Your system picks members whose plan ends in the next month or two and who have written consent on file, and only those numbers are uploaded. Members without that consent hear about renewing from a person, or by letter or email from your own system.

The renewal agent verifies the member the same way, then reads the terms from the agreement record, such as the price for another year and the visits included. It makes one offer. A yes goes to an HTTP API tool that asks your own system to send its secure sign-up or payment link by text or email, and no card details are taken on the call. A no gets a polite close, with the outcome written back to the agreement.

Renewal calls follow the same split between telling and selling in every industry. AI voice agents for membership renewal walks through the notice and the offer as separate steps, with examples beyond HVAC.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

Stop requests, voicemail and checking the calls

A member who says "stop calling" on either campaign is not called again by that campaign, since each contact gets one answered call and retries happen only after busy, no answer or voicemail. Dograh records the call with its built-in do_not_call outcome, and a Webhook node sends that to your system. Your own list then keeps the number out of every later upload, because the next campaign only knows the list you give it.

Voicemail handling is off by default. Once you turn it on, "When voicemail is detected" starts at Disconnect the call. Switch it to Leave a message only with a message that names your company and a callback number and says nothing about the plan or a renewal.

Built-in QA reads each call after it ends. Replace its System Prompt with checks for your two rules, such as whether the reminder agent mentioned renewing, or whether the renewal agent named the plan before the address check passed. Run it on a sample of each campaign and open the trace of any call it flags.

Glossary

Service agreement
The record in your field service software for a member's maintenance plan, with its included visits, last tune-up and end date. Both campaigns read from it and write back to it.
Prior express written consent
The member's signed permission, where an electronic signature counts, for telemarketing calls with an artificial voice to a named number. A renewal call needs it, and signing can never be a condition of buying the plan.
Pre-Call Data Fetch
A Start Call node setting that sends the call's numbers to your endpoint as the call connects and loads the matching record. Set to Outbound calls only, it fetches the member's plan for each campaign call.
do_not_call outcome
A built-in call outcome Dograh records when a person asks not to be called. It reaches your system through the Webhook node, and your own list removes the number from later uploads.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.