Resumen
Inbound leads arrive con solo un nombre y correo electronico. Sales teams waste time calling unqualified leads porque alli es no enriquecimiento datos to puntuacion them. Este flujo de trabajo searches for el lead's company, extrae senales (hiring, funding, tech stack), y assigns un puntuacion. Cost: $0.015 per lead (3 searches) vs $0.50-2.00 per lead de enriquecimiento vendors.
Desencadenador
Real-time via webhook cuando nuevo lead es created, o batch diario at 6 AM UTC.
Programación
Real-time webhook o diario batch at 6 AM UTC
Pasos del flujo de trabajo
Recibir Nuevo Lead Datos
Capture lead datos de form submission o CRM webhook. Extraer company nombre de correo electronico dominio.
Search for Company Information
Ejecutar 3 searches: company nombre, company + hiring, company + funding/news. Extraer Knowledge Graph datos, organic fragmentos, y PAA.
Extraer Scoring Signals
Analizar resultados de busqueda for senales: company tamano (de KG), hiring activity (job posting fragmentos), funding (news fragmentos), tech stack (de sitio web descriptions).
Calcular Lead Puntuacion
Assign points basado on senales: hiring = +20, reciente funding = +30, tech match = +25, company tamano match = +15. Tier as hot/warm/cold.
Actualizar CRM y Notificar Sales
Escribir el enriquecimiento datos y puntuacion back to el CRM. Notificar el sales team about hot leads via Slack.
Implementacion en Python
import requests, os
API_KEY = os.environ["SCAVIO_API_KEY"]
def score_lead(company: str) -> dict:
"""Score a lead via search enrichment. Cost: $0.015 (3 searches)."""
queries = [company, f"{company} hiring 2026", f"{company} funding news 2026"]
signals = {"company": company, "hiring": False, "funding": False, "tech_match": False, "score": 0}
for i, q in enumerate(queries):
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY, "Content-Type": "application/json"},
json={"query": q, "country_code": "us"},
timeout=10,
)
data = resp.json()
snippets = " ".join(r.get("snippet", "") for r in data.get("organic_results", [])[:5]).lower()
if i == 0 and data.get("knowledge_graph"):
signals["description"] = data["knowledge_graph"].get("description", "")
signals["score"] += 15
if i == 1 and any(w in snippets for w in ["hiring", "job opening", "we're growing"]):
signals["hiring"] = True
signals["score"] += 20
if i == 2 and any(w in snippets for w in ["raised", "funding", "series"]):
signals["funding"] = True
signals["score"] += 30
signals["tier"] = "hot" if signals["score"] >= 45 else "warm" if signals["score"] >= 20 else "cold"
return signals
lead = score_lead("Vercel")
print(f"{lead['company']}: {lead['tier']} (score: {lead['score']}) hiring={lead['hiring']} funding={lead['funding']}")Implementacion en JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function scoreLead(company) {
const queries = [company, company+' hiring 2026', company+' funding news 2026'];
const signals = {company, hiring:false, funding:false, score:0};
for (let i=0; i<queries.length; i++) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:H, body:JSON.stringify({query:queries[i], country_code:'us'})});
const d = await r.json();
const snippets = (d.organic_results||[]).slice(0,5).map(r=>r.snippet||'').join(' ').toLowerCase();
if (i===0 && d.knowledge_graph) { signals.description = d.knowledge_graph.description||''; signals.score += 15; }
if (i===1 && /hiring|job opening/.test(snippets)) { signals.hiring = true; signals.score += 20; }
if (i===2 && /raised|funding|series/.test(snippets)) { signals.funding = true; signals.score += 30; }
}
signals.tier = signals.score >= 45 ? 'hot' : signals.score >= 20 ? 'warm' : 'cold';
return signals;
}
const lead = await scoreLead('Vercel');
console.log(lead.company+': '+lead.tier+' ('+lead.score+') hiring='+lead.hiring+' funding='+lead.funding);Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA