Workflow

Daily AI Visibility Audit Workflow

Pull 100 leads/day from Google Maps, score 0-100 on AI visibility, generate personalized openers. Pattern from r/ArtificialInteligence's audit pipeline.

Overview

Daily lead-gen + AI-visibility-scoring + outreach pipeline. Scrapes 100 local leads, scores each business 0-100 on AI search visibility, generates personalized openers, classifies replies, and runs full GEO audits on engaged conversations.

Trigger

Daily 6 AM

Schedule

Daily 6 AM

Workflow Steps

1

Pull 100 daily leads from Google Maps

Local-pack SERP queries per city + niche.

2

Score each lead 0-100 on AI visibility

Branded SERP query plus AI Overview citation check.

3

Classify visibility band

Strong (80+), Visible (40-79), Weak (under 40).

4

Generate personalized opener

LLM writes 60-word opener referencing the visibility gap.

5

4-step email sequence

Day 0, 3, 7, 14 with rotating subject lines.

6

Reply classification

LLM classifies intent: Interested, Not Now, Not Interested, Booked Call.

7

Full GEO audit on engaged replies

Deeper Reddit + YouTube + AI Overview pull, rendered to markdown report.

Python Implementation

Python
import os, requests
API_KEY = os.environ['SCAVIO_API_KEY']
H = {'x-api-key': API_KEY}

def daily_leads(city, niche, n=100):
    out = []
    for page in range((n // 20) + 1):
        r = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
            json={'query': f'{niche} {city}', 'search_type': 'local', 'start': page * 20}).json()
        out += r.get('local_results', [])
        if len(r.get('local_results', [])) < 20: break
    return out[:n]

def score(lead):
    if not lead.get('website'): return 0
    domain = lead['website'].split('/')[2]
    r = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'query': f'{lead["name"]} reviews', 'include_ai_overview': True}).json()
    cited = any(domain in c for c in (r.get('ai_overview') or {}).get('citations', []))
    organic = sum(1 for o in r.get('organic_results', [])[:10] if domain in o.get('link', ''))
    return min(100, organic * 10 + (50 if cited else 0))

JavaScript Implementation

JavaScript
const H = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function leads(city, niche) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', { method: 'POST', headers: H, body: JSON.stringify({ query: `${niche} ${city}`, search_type: 'local' }) }).then(r => r.json());
  return r.local_results || [];
}

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Frequently Asked Questions

Daily lead-gen + AI-visibility-scoring + outreach pipeline. Scrapes 100 local leads, scores each business 0-100 on AI search visibility, generates personalized openers, classifies replies, and runs full GEO audits on engaged conversations.

This workflow uses a daily 6 am. Daily 6 AM.

This workflow uses the following Scavio platforms: google. Each platform is called via the same unified API endpoint.

Yes. Scavio's free tier includes 500 credits per month with no credit card required. That is enough to test and validate this workflow before scaling it.

Daily AI Visibility Audit Workflow

Pull 100 leads/day from Google Maps, score 0-100 on AI visibility, generate personalized openers. Pattern from r/ArtificialInteligence's audit pipeline.