Trades agent system
Renew the membership and fill the slow season
A daily job finds agreements expiring in 60, 30, and 7 days, picks one of three messages from visit history and equipment age, and books tune-ups into open slow-season capacity.
- Difficulty
- Difficulty 3 of 5 in the research brief.
- Setup time
- Estimate, not from the brief: a weekend once membership expiry dates and equipment age are actually filled in on the customer record.
The pain
Maintenance agreements lapse because nobody runs the renewal, and the shoulder season is empty while peak season is overbooked. The commercial benchmark shows a large share of firms still renew by hand.
MCAA's 2025 benchmark: planned-maintenance retention is above 93%, but 43% of respondents have no automatic renewal. The brief says this is commercial mechanical, and residential will differ.
MCAA 2025 Benchmark Survey (PDF)
Source type · Trade association survey, commercial mechanical
Daily: agreements expiring in 60, 30, or 7 days
Read visit history and equipment age
Pick one message
Renew
The plan is current and the equipment is not aged out.
Renew and upgrade
Visit history supports a higher tier.
Replacement conversation
The system is over 15 years old. Offer a replacement estimate, not a scare.
SMS or email with a payment link
If it does not renew
Card failed
Dunning branch. Do not cancel the plan in silence.
No reply by day 7
Hand the name to a call list.
Visit is due
Book the tune-up into open slow-season capacity.
Log the result on the membership
Trigger
A daily job flags ServiceTitan memberships or Housecall Pro service plans expiring in 60, 30, and 7 days. A second pass books the tune-up when a visit is due and slow-season capacity is open.
Data sources
- Membership or service-plan end dates
- Visit history
- Equipment age
- Open slow-season capacity
- The card on file, so a failed payment can take the dunning branch
Build it
- 1
Make expiry and equipment age real fields
The daily job is useless if the membership end date or the install year is blank. Fix those fields before you automate the message.
- 2
Choose one of three messages, not a blast
Renew, renew and move up a tier, or offer a replacement conversation because the system is over 15 years old. The choice comes from visit history and equipment age.
- 3
Send a payment link, then branch on what happens
SMS or email includes the payment link. A failed card on file enters dunning. No response by day 7 moves the customer to a person on a call list.
Branch. When a visit is due, book the tune-up into open slow-season capacity instead of waiting for the customer to remember spring.
- 4
Write the outcome back to the membership
Renewed, declined, card failed, or handed to the call list. The next day's job must not send the same offer again.
Tools and rough monthly cost
Similar to the estimate chase: orchestrator, messages, and the model, on top of the FSM you already have.
| Tool | Job | Rough monthly |
|---|---|---|
| ServiceTitan or Housecall Pro | Memberships, equipment, and the tune-up booking | Your existing FSM plan. Housecall Pro webhooks require MAX if you drive this from events instead of a daily pull. |
| n8n or Make | The daily expiry scan and the day-7 handoff | Often the low tens of dollars. Unverified public list-price estimate, October 2026. Not a figure from the research brief. Check the vendor.Unverified |
| Twilio | SMS, with email as the other channel | Per-message usage. Unverified public list-price estimate, October 2026. Not a figure from the research brief. Check the vendor.Unverified |
| LLM API | Picks and writes the one message | Usually a few dollars a month. Unverified public list-price estimate, October 2026. Not a figure from the research brief. Check the vendor.Unverified |
Expected ROI
The brief's formula is: lift in renewal rate × number of agreements × price. The only cited benchmark is MCAA's 43% with no automatic renewal, and that sample is commercial mechanical. Residential will differ. Do not copy 93% retention onto a residential shop.
Caveats
- MCAA's 93%+ planned-maintenance retention and 43% with no automatic renewal are commercial mechanical figures. The brief says residential will differ.
- Housecall Pro webhooks require MAX. A daily API pull can still run without them if your plan includes API access.
- Equipment age over 15 years is the brief's rule for the replacement message. Do not widen it.
Example prompt
Change the names, fees, and slots before you run it. It does not add facts that were not in the brief.
You write one membership message for an HVAC or plumbing customer. You will be told: days until expiry (60, 30, or 7), visit history, equipment age, and whether a card on file failed. Choose exactly one: - renew, if the equipment is not over 15 years - renew and name the higher tier, only if the visit history you were given supports it - offer a replacement estimate, only if the system is over 15 years old Do not threaten a breakdown. Do not invent a discount. If the card failed, the message is about updating the card, not about a new sale. Keep it under 120 words.