Resumen
Ejecutar enriquecimiento on demand de Claude Code. A single command pulls el contact lista de HubSpot, enriquece cada con Scavio public-data senal, y upserts personalizado propiedades back to HubSpot. No Clay, no Apollo, no seat fees.
Desencadenador
Slash command in Claude Code o cron
Programación
Diario at 7 AM o on demand
Pasos del flujo de trabajo
Pull contacts de HubSpot
Use HubSpot's Contacts API to obtener registros missing enriquecimiento campos.
For cada contact, SERP el dominio
Scavio consulta 'dominio news' y 'dominio funding' for reciente senal.
Reddit mencion verificar
Scavio Reddit search for nombre de marca sentiment y complaint volume.
YouTube mencion verificar
Scavio YouTube search for founder interviews o producto demos.
Synthesize one-liner
Claude convierte raw resultados en un one-line contact brief.
Upsert to HubSpot propiedades
Escribir brief, last_signal_date, y reddit_mention_count to HubSpot personalizado campos.
Implementacion en Python
import os, requests
SCAVIO = os.environ["SCAVIO_API_KEY"]
HUBSPOT = os.environ["HUBSPOT_TOKEN"]
SH = {"x-api-key": SCAVIO}
HH = {"Authorization": f"Bearer {HUBSPOT}"}
contacts = requests.get("https://api.hubapi.com/crm/v3/objects/contacts?limit=100",
headers=HH).json().get("results", [])
for c in contacts:
domain = c["properties"].get("company_domain")
if not domain: continue
serp = requests.post("https://api.scavio.dev/api/v1/search",
headers=SH, json={"query": f"{domain} funding news"}).json()
requests.patch(f"https://api.hubapi.com/crm/v3/objects/contacts/{c['id']}",
headers=HH, json={"properties": {"scavio_signal_count": len(serp.get("organic_results", []))}})Implementacion en JavaScript
const SCAVIO = process.env.SCAVIO_API_KEY;
const HUBSPOT = process.env.HUBSPOT_TOKEN;
const SH = { "x-api-key": SCAVIO, "content-type": "application/json" };
const HH = { Authorization: "Bearer " + HUBSPOT, "content-type": "application/json" };
const contacts = await fetch("https://api.hubapi.com/crm/v3/objects/contacts?limit=100", { headers: HH })
.then(r => r.json());
for (const c of contacts.results) {
const domain = c.properties.company_domain;
if (!domain) continue;
const serp = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: SH,
body: JSON.stringify({ query: domain + " funding news" })
}).then(r => r.json());
await fetch("https://api.hubapi.com/crm/v3/objects/contacts/" + c.id, {
method: "PATCH", headers: HH,
body: JSON.stringify({ properties: { scavio_signal_count: serp.organic_results?.length || 0 } })
});
}Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit
YouTube
Búsqueda de videos con transcripciones y metadatos