SkillShop
SkillShop › Use cases › Sales, Marketing & Support
Sales, Marketing & SupportDone with n8n 2026-10-13

Find roofing leads and run AI voice outreach

n8n workflows find roofing businesses, log them in Sheets, personalize outreach, place voice calls, and classify call outcomes back into the sheet.

Find roofing leads and run AI voice outreach preview
What They Did
Two n8n workflows. Discovery pulls roofing businesses for a target city through Apify and Google Places, filters them, checks phone numbers and duplicates, and writes them to Google Sheets. Outreach picks one lead, with follow-ups first, and checks local calling hours. It then searches for competitor info (SerpAPI), has OpenAI write an opener, calls through Vapi, polls the call status, and has AI classify the outcome into the sheet.
How It Went
The article gives no results, volumes or conversion numbers. It presents the architecture and lessons: define lead states first, keep timing, routing and retries in deterministic logic, and plan for API failures.
Worth Knowing
The state-to-timezone mapping and business-plus-phone dedupe have gaps. Commenters note that some states span two time zones and that phone formats need normalizing before comparing.
Try it yourself with n8n

Build me n8n workflows that find [type of local business] in [city/region] using [lead source], log name, phone, and website in a Google Sheet, and draft a personalized outreach script for each. Then set up voice calls through [voice AI provider] and write each call outcome (interested, not interested, no answer, callback) back to the sheet. Do not place any calls until you have shown me the script, the first batch of numbers, and the calling hours for my approval.

Read the original ↗