The roofer who can't answer the phone
An AI receptionist answers the call, checks the ZIP while the caller waits, and turns the call into a logged job with the right team alerted.
Demo build for a fictional client. All names and business numbers are made up.
An AI receptionist that answers the call, checks the ZIP and logs the job
The problem. Ridgeline Roofing is a fictional 6-person roofer in Denver. The crew is on roofs all day and the office closes at night. Calls go to voicemail, and a homeowner with an active leak may call the next roofer. Job details get written down by hand, if at all.
What happens on a call
- A Vapi voice agent answers, says it's a virtual assistant, and asks one question at a time.
- Once the caller confirms all 5 digits of the ZIP, the agent asks Make. The answer comes back in about 3 seconds, and the caller hears it during the call.
- When the call ends, Vapi sends one report to Make.
- A Make data store checks the call ID, so the same report can't create two jobs.
- A Make AI Agent reads the transcript and returns 9 fields, including a draft follow-up email.
- A safety rule checks only the caller's words. If they said "leak", the job becomes an Active leak.
- The job is logged in Google Sheets and goes down one of four routes: emergency, insurance, standard or review.
- Slack alerts the right team. Gmail sends the customer email on three routes. Anything unclear goes to a person.
What the agent will not do
It never gives prices, promises a time, or gives repair or insurance advice. If someone is in danger, it tells them to leave the area and call 911.
Measured results
| What | Measured |
|---|---|
| ZIP check during the call | About 3 seconds, 2 Make credits |
| After-call processing | 8.52 credits for a job with an email |
| Total per phone job | About 10.5 credits, so 1,000 free credits cover roughly 95 calls a month |
| Duplicate report | Stops after about 2 credits |
| Voice cost | $0.214 for a 2.8-minute call, about $0.08 a minute |
Tests
9 of 10 planned tests passed: active leak, hail claim, replacement, out of area, spelled email, refused email, hang-up, wrong number and a duplicate report. The last test, switching off the ZIP check during a call, hasn't been run yet.
Limits of this build
No outbound calls, call transfers, calendar booking or repeat-customer lookup. Test calls ran through Vapi's browser calling, so there's no paid phone number attached.
Tools
Vapi, Make (AI Agent, data store, Router), Google Sheets, Gmail, Slack.
13 real problems found in testing
| # | What went wrong | What I did |
|---|---|---|
| 1 | The call report never arrived. Vapi sent 11 message types and filled Make's 50-item queue in about a minute | Sent only the end-of-call report |
| 2 | Test runs kept catching old messages | Cleared the queue and replayed saved calls for free |
| 3 | 80205 was called out of area because the caller paused after 802 | Confirm all 5 digits first, and check the length in Make |
| 4 | The agent asked "Is that correct?" and moved on without waiting | Added a one-question rule with a right and wrong example |
| 5 | Callers were cut off mid-sentence | Longer pause settings for numbers and punctuation |
| 6 | The agent asked about the problem twice | Added a "listen first" rule |
| 7 | The small AI model filed a live leak as a repair | Clearer rules, a stronger model and the leak safety rule |
| 8 | A routine repair became an emergency because the agent said the word "leak" | Removed the agent's lines before checking. My first fix silently did nothing, so I tested again |
| 9 | Dates were saved in UTC, so the overdue check couldn't read them | Formatted them in Denver time |
| 10 | Line breaks vanished from emails | Gave the AI an exact layout |
| 11 | Names went wrong: Rhea Shah corrected to Priya lost the surname | Keep uncorrected parts, trust confirmed read-backs, spell the last name |
| 12 | The roof year was missed | Linked short answers to their question |
| 13 | A completely empty transcript stops the AI step | Known limit. A hang-up still includes the greeting, so this didn't affect the tests |
Want this for your roofing company? I can build it for you. The same idea works in Zapier, n8n or GoHighLevel. Message me or send me an email.