AI Text Follow-Up Service for Home Contractors
Build and sell an AI SMS lead follow-up service to HVAC, roofing, and plumbing contractors. Tool costs under $130/month. Retainers of $350–$850 per client.
- Only 12% of home service contractors respond to a web lead within 5 minutes — the industry average is 42–47 minutes, causing most leads to book with a competitor first.
- Responding within 60 seconds of a form submission produces a 73% appointment booking rate; waiting 30 minutes drops it to 4% — an 18-point gap you can automate away.
- Tool costs for 5 clients run approximately $63/month (Twilio + Make.com + OpenAI API + free-tier Airtable), making gross margins above 95% at $400/month per client.
- Twilio 10DLC campaign registration ($10/month) is required by US carriers before sending business SMS — messages sent without it are silently filtered or blocked.
- US citizens running this service abroad still owe US self-employment tax (15.3%) on net earnings — the Foreign Earned Income Exclusion does not exempt SE tax.
- TCPA requires each contractor web form to include an unchecked SMS consent checkbox before any automated texts can legally be sent to their leads.
Disclosure: this article contains affiliate links. If you open an account through one of them, Cashflow Abroad may earn a referral commission at no extra cost to you.
The average HVAC contractor spends $104 per Google Ads lead and waits 47 minutes to follow up. By then, the homeowner has already booked with the first company that texted back. An AI text follow-up service fixes this gap automatically — sending a qualifying SMS within 30 seconds of every new web form submission, handling the back-and-forth, and dropping a booking link when the conversation is warm. You can build and sell this service from anywhere in the world, running five to ten contractor clients on under $130 per month in total tool costs.
The 5-Minute Problem That Costs Contractors Thousands
The research is consistent: responding to a new web lead within 5 minutes makes you 21 times more likely to qualify that lead than waiting 30 minutes. A response within 60 seconds produces a 73% appointment booking rate. A response after 30 minutes drops that to 4%. The same lead, a few dollars of outbound text messages, and an 18-point swing in conversion.
Only 12% of home service contractors respond within 5 minutes. The industry average wait is 42–47 minutes. A 2026 benchmark study found that 60% of contractor leads are never followed up at all — they simply go cold without ever receiving a "no." SMS has a 45% response rate versus 10% for email, and a 90–98% open rate. The channel works; the timing does not.
What a Single Missed Window Actually Costs
A roofing contractor paying $124 per non-branded Google Ads lead who misses the 5-minute window effectively converts at near zero on those leads. The average full-roof replacement runs $10,000 or more. At a normal follow-up close rate of 20%, missing 5 leads per week costs that contractor roughly $10,000 per month in closed jobs — not in ad spend wasted, but in revenue that went to whoever texted back first.
For HVAC, the math is similar. A heating repair lead costs $144 on average from Google Ads, with an average job value of $3,225. Contractors who respond within 60 seconds book 73% of qualified leads. Contractors who wait 30 minutes book 4%. That gap is what you are selling.
What You're Building and Who Buys It
An AI SMS follow-up service does three things in sequence: it receives a webhook trigger from the contractor's web form the moment a new lead submits; it sends a local-number text within 30 seconds; and it handles the conversation via AI until the lead books or opts out. You are not building a SaaS platform. You are wiring four existing tools together using Make.com and a Twilio number — then charging for the outcome.
Target Buyer Profile
Your best clients are owner-operated HVAC, roofing, or plumbing companies with 2–10 employees, spending $1,000–8,000 per month on Google Ads or Local Service Ads. They have a web form on their site but no CRM automation. The owner still handles — or misses — most callbacks personally. Revenue typically runs $500K–$3M per year. They pay a marketing agency, but the agency does not touch post-submission follow-up.
These businesses understand one metric: booked jobs. They do not want a dashboard tour or a tech demo. They want to see that three more estimates were booked this month from leads they would have missed. Price your pitch around that outcome, not the tool stack.
Complete Tool Stack and Monthly Costs
| Tool | Purpose | Monthly Cost (as of June 2026) | Notes |
|---|---|---|---|
| Twilio | Send and receive SMS on a local number | $1.15/number + $0.0083/SMS + $10 10DLC campaign | 1 number per client; 10DLC registration required by US carriers |
| Make.com Core | Workflow orchestration and automation | $9/month | 10,000 operations/month; unlimited scenarios; 1-min execution interval |
| OpenAI API (gpt-4o-mini) | AI response generation | $0.15/1M input tokens + $0.60/1M output tokens | Under $1/month per client at typical SMS conversation volume |
| Airtable (free tier) | Lead log and opt-out list | $0 | Up to 1,000 records; upgrade at scale or switch to Notion |
| Cal.com (open source) | Booking link for estimates | $0 | Self-hosted or cloud free tier; syncs with Google Calendar |
| Any web form (JotForm, Gravity, native) | Webhook source for new leads | $0 | Make.com accepts webhooks from any form builder the client already uses |
5 Twilio numbers: $5.75 | 10DLC campaign: $10 | 750 monthly conversations × 6 outbound SMS = 4,500 SMS at $0.0083 = $37 | OpenAI API: <$1 | Make.com Core: $9 | Total tool cost: ~$63/month. Revenue at $400/month average × 5 clients = $2,000/month. Gross margin: ~97% before your own time.
The Exact Build Sequence
Step 1 — Twilio Setup (30 minutes per client)
- Create a Twilio account at twilio.com and verify your business identity.
- Buy one local phone number per client in their local area code — $1.15/month each.
- Register a 10DLC brand (one-time $4 fee for your business entity) and one SMS campaign ($10/month). US mobile carriers require this for business-purpose SMS. Without it, messages are silently filtered or blocked.
- Copy your Twilio Account SID and Auth Token — you will use these in Make.com HTTP modules.
- In the Twilio Console, configure the inbound message webhook URL on each client number to point at the Make.com scenario webhook you create in Step 2.
Step 2 — Make.com Scenario Architecture
Build one scenario per client so lead data and conversation history stay isolated. Here is the module sequence:
| Step | Module Type | What It Does |
|---|---|---|
| 1 | Webhook trigger | Receives form submission: name, phone, service request, zip code |
| 2 | Airtable Search | Checks if this phone number was contacted in the last 24 hours (prevents duplicate sequences) |
| 3 | HTTP POST (Twilio) | Sends opening text within 30 seconds from client's local number |
| 4 | Second webhook trigger | Listens for the lead's inbound reply (Twilio forwards inbound SMS to this URL) |
| 5 | OpenAI module | Sends conversation history + system prompt to gpt-4o-mini; receives reply text |
| 6 | HTTP POST (Twilio) | Sends the AI-generated reply to the lead |
| 7 | Filter / Router | If booking signal detected → send Cal.com link. If STOP/opt-out detected → log to Airtable and halt flow. |
| 8 | Airtable Create | Logs every exchange with timestamp, phone, message content, and outcome status |
Step 3 — The OpenAI System Prompt
A weak prompt sends robotic, off-topic replies that erode trust. A strong prompt sounds like a competent scheduling assistant who knows the client's trade. Customize this template per client:
You are the scheduling assistant for [Contractor Name], a local [trade] company
serving [city and nearby areas]. Your job is to qualify incoming leads and book
free estimates.
Respond like a friendly, knowledgeable CSR — short sentences, no corporate tone.
Ask one question at a time. Qualify in this order: what is the problem, when do
they need help, and are they within the service area.
After 2–3 qualifying exchanges, offer to book a free estimate:
"We have availability this week. Here is our booking link: [Cal.com URL]"
Rules:
- Never quote prices. Say "our tech gives you an exact quote on-site."
- If they mention an emergency, say: "I am flagging this for our on-call team now."
- Keep responses under 35 words.
- Do not mention AI, automation, or software.
What to Charge and How to Package It
| Package | What's Included | Monthly Retainer | Setup Fee |
|---|---|---|---|
| Starter | 1 Twilio number, up to 300 SMS conversations/month, Airtable lead log | $350/month | $450 one-time |
| Growth | 1 number, up to 600 conversations/month, monthly booking summary report | $550/month | $600 one-time |
| Pro | 2 numbers (main + after-hours line), unlimited conversations, quarterly call review | $850/month | $800 one-time |
Anchor your price to a single missed job. A roofing client who closes one extra job per month from previously lost leads — at a $10,000 average ticket — is generating 28x their monthly Starter fee. Your pitch is not "I'll automate your texts." It is "I'll recover the jobs your response time is losing."
Landing Your First Five Clients
Test the follow-up gap before you pitch. Search Google Maps for HVAC, roofing, or plumbing companies in any mid-size US city. Submit a quote request as a test lead using a secondary phone number and time how long it takes to receive a text. In most cases you will receive nothing, or a callback two hours later.
Your cold outreach writes itself from that test: "I submitted a quote request on your site on Tuesday at 2:14 PM. No text came back. I built a system that would have auto-replied in under 30 seconds. Want to see it on your number this week?"
- Price the first client at cost or a 50% discount in exchange for a 90-day case study with outcome data
- After the first 30 days, pull the Airtable conversation log and count how many ended with a booked estimate — give the client that single number
- Ask for referrals to other trades they know; HVAC and plumbing owners often share the same local marketing vendors
- Target contractors whose Google Maps listing shows "Ad" — they are spending on leads but likely not following up on them
- Frame the pitch around the lead cost they already know: "You paid $124 for that roofing lead. If no one texts back in 5 minutes, it is gone."
For the full framework on building a portable client service business from abroad, see our $100K online business guide.
TCPA Compliance and Client Onboarding
The Telephone Consumer Protection Act requires prior express written consent before sending commercial SMS to consumers. This is the contractor's legal obligation — they are the business sending messages to their customers — but you need to build the infrastructure correctly or a single complaint creates exposure for everyone involved.
Required Compliance Infrastructure
The FCC's TCPA enforcement guidance defines the consent requirements. Violations carry statutory damages of $500–$1,500 per non-compliant message, and class action exposure means this is not a corner to cut.
- Consent checkbox: The contractor's web form must include an unchecked box: "I agree to receive text messages from [Company Name] about my service request. Message and data rates may apply. Reply STOP to opt out."
- First-message opt-out disclosure: Every first outbound SMS must include "Reply STOP to opt out" — this goes in the Make.com template, not inside the OpenAI prompt.
- STOP enforcement: Log every STOP reply to Airtable and block further messages from that number in your scenario filter. This is not optional under TCPA.
- Service agreement clause: Your contract with each contractor must assign TCPA compliance responsibility to them. A single clear paragraph stating they are responsible for obtaining consent on intake forms is standard practice.
- 10DLC registration: Carrier-level 10DLC registration (Twilio brand + campaign) is required to prevent filtering — but it does not satisfy TCPA consent obligations. Both are needed.
Running This Business From Abroad
Your entire stack is cloud-based. Twilio is US-based, Make.com is EU-hosted, and OpenAI's API is globally accessible. Your physical location has no effect on service delivery — the automation responds to a 2 AM lead in Austin the same way at 4 PM in Medellín as it does at 9 PM in Bangkok.
Geographic arbitrage details for this service at scale:
- Monthly living costs in Colombia, Mexico, Vietnam, or Georgia (country): $1,200–2,400 for a comfortable setup with reliable internet
- 10 clients at $450/month average retainer = $4,500/month USD gross
- Tool costs for 10 clients: approximately $107/month
- Net operating income before taxes and labor: ~$4,393/month
- US LLC banking: Mercury Bank accepts US LLC accounts for non-resident operators and is practical for receiving USD client payments via ACH or wire
Tax note for US citizens and green card holders: you owe US income and self-employment tax on this income regardless of where you live. The Foreign Earned Income Exclusion (IRS) covers up to $126,500 (as of 2024) of earned income if you qualify under the bona fide residence or physical presence test — but the 15.3% self-employment tax is not excluded under FEIE. Read our US expat banking and taxes guide and our self-employment tax trap guide for expat freelancers before setting your income targets. For a practical LLC and banking setup walkthrough, see the guide to running a US business from Colombia.
Common Failure Points
10DLC Registration Delays
Twilio's 10DLC campaign approvals take 3–7 business days and are occasionally rejected for vague reasons around campaign category or message description. Register before you commit a client start date. Messages sent from unregistered numbers before approval may be silently blocked.
Number Warming and Carrier Filtering
Sending high outbound volume from a brand-new local number can trigger carrier spam filters even with 10DLC registration. For the first week on any new client number, start with lower outbound message rates. Avoid promotional language in templates ("free quote," "best price," "limited time") — use plain conversational phrasing that matches how a real employee would text.
The Contractor Still Has to Show Up
Your automation qualifies leads and books estimates. The contractor has to honor those estimates and close the jobs. If a client's conversion rate is low after you implement, the gap is in their sales process, not your flow. Set clear expectations in your onboarding: you deliver more qualified conversations; turning them into revenue is their half of the deal.
OpenAI API Error Handling
Build a fallback in Make.com's error handler: if the OpenAI call fails or times out, the scenario should send a human-handoff message — something like "Thanks for reaching out — our team will follow up shortly." Silence on a technical failure looks like ignoring the lead, which is the exact problem you were hired to prevent.
Data Notes and Sources Checked
Prices and statistics were checked in June 2026 and are subject to change.
- Twilio SMS and 10DLC pricing — twilio.com/en-us/pricing/messaging
- OpenAI API pricing (gpt-4o-mini) — platform.openai.com/docs/pricing
- Make.com pricing plans — make.com/en/pricing
- FCC TCPA consent and opt-out requirements — fcc.gov
- IRS — Foreign Earned Income Exclusion overview — irs.gov
- Contractor lead response time and 5-minute conversion data — PushLeads, 2026
- Home service contractor booking rate benchmarks — ConversionSurgery.io, 2026
- HVAC Google Ads cost per lead and job value data — SearchlightDigital, 2026
- Roofing Google Ads cost per lead data — SearchlightDigital, 2026
- SMS vs email open and response rate statistics — OptiMonk, 2026
Conclusion
This is a three-week build that produces a recurring-revenue service with near-zero marginal tool costs. The barrier is not technical — it is finding contractors willing to admit their follow-up problem and pay $350–850 per month to fix it. One roofing client who closes a single extra job per month from recovered leads is generating 28x your monthly fee in gross revenue. That math closes the sale for you.
Run it from a low-cost city abroad, invoice in USD via a US LLC, and deposit into Mercury Bank. The gap between $1,500/month in living expenses and $4,000+ in monthly retainer income is real geographic arbitrage — no passive income labels required, just an automated workflow and five contractor clients. For the full recurring-income strategy, start with the portable income playbook.
Frequently asked questions
What does it cost to start an AI SMS follow-up service for one contractor client?
Startup costs include one Twilio phone number ($1.15/month), a 10DLC campaign registration ($10/month), Make.com Core plan ($9/month), and OpenAI API usage under $1/month — roughly $21/month in tool costs plus a one-time $4 Twilio brand registration fee. You can charge a $400–600 setup fee to cover your time.
Do I need to be in the United States to run this service for US contractors?
No. Twilio, Make.com, OpenAI, and Airtable are all cloud-based platforms accessible from anywhere. You can operate this service from any country with reliable internet, invoice clients in USD, and receive payments through a US LLC bank account like Mercury Bank.
How does 10DLC registration work and why is it required?
10DLC (10-digit long code) is a US carrier requirement for business SMS campaigns. You register your brand once with Twilio ($4 one-time) and each SMS campaign ($10/month). Without it, carriers may silently filter or block your outbound messages, meaning leads never receive the texts you send.
Can the AI handle objections, questions about pricing, and emergency calls?
The OpenAI system prompt controls what the AI can and cannot do. Best practice is to instruct it to never quote prices, to flag emergencies for on-call staff, and to route out-of-scope questions to a human. Responses stay under 35 words and avoid mentioning AI or automation.
What happens if a lead replies STOP or asks to be removed?
Your Make.com scenario includes a filter that detects STOP, opt-out, and removal keywords. On detection, the scenario logs the number to an Airtable do-not-contact list and halts all further automated messaging. TCPA requires honoring opt-outs immediately, so this step is not optional.
This guide is general information, not personalized tax, legal, or investment advice. Rules change; verify current thresholds with official sources or a qualified professional before acting.