Mon 9:12 AM
A voicemail becomes a lead
Maria calls while the crew is on a job. Google Voice emails the shop; the workflow reads it, finds the email address she spoke in the voicemail and adds one row to the Leads sheet.
For a shop that can't pick up while it's on a job: each missed call or voicemail becomes a lead in Google Sheets, gets up to three short emails from the owner, stops as soon as the customer replies (the inbox is checked every 5 minutes) — and lands on a Monday list. Built on n8n, Gmail and Google Sheets.
A simulated Monday-to-Monday: the real workflow files ran in a test harness with stand-in Gmail and Google Sheets. The sheet on the right is what the owner would see after each moment.
Mon 9:12 AM
Maria calls while the crew is on a job. Google Voice emails the shop; the workflow reads it, finds the email address she spoke in the voicemail and adds one row to the Leads sheet.
Mon 9:15 AM
The sender runs every 15 minutes during shop hours. Maria gets a short, human note from the owner — no form, no link to click, just "reply with a good time".
Mon 10:40 AM
A second call from the same number updates the same row (calls: 2). A notification Gmail hands over twice is skipped. No duplicate leads, no double emails.
Mon 1:05 PM
James leaves a voicemail but no email address. The system never guesses one — his row is marked "call back" and goes on the owner's Monday list.
Mon 7:30 PM
Tom calls at 7:30 PM. His row is ready at once, but the first email is scheduled for 8:00 AM, when the shop opens. Weekends are skipped the same way.
Wed 10:15 AM
Maria answers "Thursday morning works". The workflow sees the reply, marks her row "replied" and sends nothing more. "unsubscribe" works the same way — Sarah is never emailed again.
Mon 7:00 AM
Who called, what was sent, who replied, and who still needs a call. Buttons only change the sheet, after a confirm step ("I've called them" stops the emails). Nothing is booked automatically.
5 callers · 5 follow-up emails sent · 1 replied · 1 unsubscribed
Buttons only update the Leads sheet. Nothing is booked for you.
Five callers, five rows. Nobody emailed twice by mistake, nobody without an email forgotten.
| Caller | Phone | Calls | Emails | Status |
|---|---|---|---|---|
| Maria Lopez | (512) 555-0134 | 2 | 2 of 3 | replied |
| James | (512) 555-0187 | 1 | 0 of 3 | owner has it |
| Tom Reed | (512) 555-0152 | 1 | 3 of 3 | finished |
| — | hidden number | 1 | 0 of 3 | call back |
| Sarah Kim | (512) 555-0163 | 1 | 1 of 3 | unsubscribed |
Chicago time. Straight from the run log.
n8n → Workflows → Import from file. Google Voice sends its notifications to the Gmail you connect here, and the follow-ups go out from that same Gmail. Add Gmail and Google Sheets credentials, paste the sheet ID, fill in Shop settings (name, hours, time zone, email days), and pick workflow 0 as the Error workflow of the others. The schedule lives in the sheet, not in Wait nodes — a restart loses nothing.