Resumen
Este flujo de trabajo toma un lista of LinkedIn objetivos (nombre + company) y enriquece cada contact con reciente Google search datos antes de outreach. For cada contact, it searches for reciente company news, producto launches, o blog publicaciones, entonces genera un personalized opening line referencing something especifico. El enriquecido lista es exported con personalizado campos listo for your outreach herramienta.
Desencadenador
Manual (ejecutar antes de cada outreach campana)
Programación
On-demand (antes de cada outreach campana)
Pasos del flujo de trabajo
Cargar LinkedIn objetivo lista
Importar un CSV o JSON file con contact names y company names. Cada fila becomes un enriquecimiento objetivo.
Search Google for cada contact
For cada contact, call Scavio Google search con 'nombre company reciente 2026'. Extraer el top 3 resultados organicos con titles y fragmentos.
Extraer personalization context
From el resultados de busqueda, identificar el mas relevante piece of context: un reciente blog publicacion, producto launch, funding round, o conference talk.
Generar opening line
Crear un personalized opening line referencing el extraido context. Keep it bajo 100 characters y especifico to el contact.
Exportar enriquecido lista
Escribir el enriquecido contact lista con el personalization campo added. Compatible con Instantly, Smartlead, o Lemlist importar formats.
Implementacion en Python
import requests, os, csv
SCAVIO_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": SCAVIO_KEY}
def enrich(name: str, company: str) -> dict:
resp = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
json={"platform": "google", "query": f"{name} {company} recent 2026"},
timeout=10)
results = resp.json().get("organic", [])[:3]
if results:
best = results[0]
return {
"context_title": best["title"],
"context_snippet": best.get("snippet", ""),
"opening": f"Saw your work on {best['title'][:60]}. Relevant to what I do."
}
return {"context_title": "", "context_snippet": "", "opening": ""}
# Read targets
with open("targets.csv") as f:
targets = list(csv.DictReader(f))
# Enrich each target
for t in targets:
enrichment = enrich(t["name"], t["company"])
t.update(enrichment)
# Write enriched list
with open("enriched_targets.csv", "w", newline="") as f:
w = csv.DictWriter(f, fieldnames=targets[0].keys())
w.writeheader()
w.writerows(targets)
print(f"Enriched {len(targets)} contacts")Implementacion en JavaScript
import { readFileSync, writeFileSync } from "fs";
async function enrich(name, company) {
const resp = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ platform: "google", query: `${name} ${company} recent 2026` })
});
const results = ((await resp.json()).organic || []).slice(0, 3);
if (results.length > 0) {
const best = results[0];
return {
context_title: best.title,
context_snippet: best.snippet || "",
opening: `Saw your work on ${best.title.slice(0, 60)}. Relevant to what I do.`
};
}
return { context_title: "", context_snippet: "", opening: "" };
}
// Load targets and enrich
const targets = JSON.parse(readFileSync("targets.json", "utf8"));
for (const t of targets) {
const enrichment = await enrich(t.name, t.company);
Object.assign(t, enrichment);
}
writeFileSync("enriched_targets.json", JSON.stringify(targets, null, 2));
console.log(`Enriched ${targets.length} contacts`);Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA