Resumen
Automation agencies waste time on cold outreach to businesses ese do no necesita automatizacion. Este flujo de trabajo identifies high-intent prospects by busqueda for businesses hiring for repetitive roles (datos entrada, manual QA, informe generation), businesses usando outdated herramientas, y businesses in industrias ripe for automatizacion. Cada prospect obtiene scored by automatizacion potential antes de outreach.
Desencadenador
Semanal on Monday 8 AM.
Programación
Semanal
Pasos del flujo de trabajo
Define Target Industries y Signals
List industrias y hiring senales ese indicate automatizacion readiness: datos entrada jobs, manual reporting roles, legacy herramienta menciones.
Search Google for Hiring Signals
Search for objetivo companies hiring for manual roles. Companies hiring datos entrada clerks son prime automatizacion prospects.
Search Google Maps for Local Businesses
Find businesses in objetivo areas ese match el industria criterios. Verificar sitio web presence y technology senales.
Puntuacion Automation Potential
Puntuacion cada prospect: hiring manual roles (+30), no sitio web (+20), low resena conteo (+10), industria match (+25).
Salida Prioritized Prospect List
Generar un ranked lista of prospects con puntuaciones, contact info, y recommended automatizacion pitch angle.
Implementacion en Python
import requests, os, json
API_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": API_KEY, "Content-Type": "application/json"}
SIGNALS = [
{"query": "hiring data entry clerk {city}", "weight": 30, "label": "manual_hiring"},
{"query": "{industry} companies in {city}", "weight": 25, "label": "industry_match"},
]
def search(query: str, platform: str = "google") -> list:
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers=H,
json={"query": query, "platform": platform, "country_code": "us"},
timeout=15,
)
return resp.json().get("organic_results", resp.json().get("local_results", []))
def discover_prospects(industry: str, city: str) -> list:
prospects = {}
for signal in SIGNALS:
query = signal["query"].format(industry=industry, city=city)
results = search(query)
for r in results:
name = r.get("title", "").split(" - ")[0].split(" | ")[0].strip()
if name not in prospects:
prospects[name] = {"name": name, "url": r.get("link", ""), "score": 0, "signals": []}
prospects[name]["score"] += signal["weight"]
prospects[name]["signals"].append(signal["label"])
maps_results = search(f"{industry} in {city}", "google-maps")
for r in maps_results:
name = r.get("title", "")
if name not in prospects:
prospects[name] = {"name": name, "url": "", "score": 0, "signals": []}
if not r.get("website"):
prospects[name]["score"] += 20
prospects[name]["signals"].append("no_website")
prospects[name]["address"] = r.get("address", "")
ranked = sorted(prospects.values(), key=lambda p: p["score"], reverse=True)
return ranked[:20]
prospects = discover_prospects("accounting", "Phoenix AZ")
print(f"Found {len(prospects)} prospects")
for p in prospects[:5]:
print(f" [{p['score']}] {p['name']} - signals: {', '.join(p['signals'])}")Implementacion en JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
const SIGNALS = [
{query:'hiring data entry clerk {city}', weight:30, label:'manual_hiring'},
{query:'{industry} companies in {city}', weight:25, label:'industry_match'},
];
async function search(query, platform='google') {
const r = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:H, body:JSON.stringify({query, platform, country_code:'us'})});
const data = await r.json();
return data.organic_results || data.local_results || [];
}
async function discoverProspects(industry, city) {
const prospects = {};
for (const signal of SIGNALS) {
const query = signal.query.replace('{industry}', industry).replace('{city}', city);
const results = await search(query);
for (const r of results) {
const name = (r.title||'').split(' - ')[0].split(' | ')[0].trim();
if (!prospects[name]) prospects[name] = {name, url:r.link||'', score:0, signals:[]};
prospects[name].score += signal.weight;
prospects[name].signals.push(signal.label);
}
}
const mapsResults = await search(industry+' in '+city, 'google-maps');
for (const r of mapsResults) {
const name = r.title||'';
if (!prospects[name]) prospects[name] = {name, url:'', score:0, signals:[]};
if (!r.website) { prospects[name].score += 20; prospects[name].signals.push('no_website'); }
prospects[name].address = r.address||'';
}
return Object.values(prospects).sort((a,b)=>b.score-a.score).slice(0,20);
}
const prospects = await discoverProspects('accounting', 'Phoenix AZ');
console.log('Found '+prospects.length+' prospects');
for (const p of prospects.slice(0,5)) console.log(' ['+p.score+'] '+p.name+' - signals: '+p.signals.join(', '));Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Google Maps
Búsqueda de negocios locales con calificaciones e información de contacto