Aperçu
Déclencher sur nouveau contact CRM, enrichir avec une recherche Google Scavio pour le contexte de l'entreprise, noter avec un prompt LLM court (3 règles), et taguer chaud/tiède/froid dans le CRM. Total : 12 lignes de code d'expression sur 4 nœuds n8n.
Déclencheur
Nouveau contact créé dans le CRM (webhook ou polling)
Planification
Sur nouveau contact CRM
Étapes du workflow
Déclencheur webhook lors d'un nouveau contact CRM
n8n reçoit le nom de l'entreprise et l'email depuis le webhook CRM.
Nœud de requête HTTP Scavio
POST vers /api/v1/search avec platform=google, query=nom de l'entreprise. Retourne un SERP structuré.
Nœud de notation LLM
Envoyer les 3 premiers snippets SERP + nom de l'entreprise à Claude/GPT avec le prompt : 'Score 1-10 : signaux de recrutement, actualités financières, adéquation tech stack. Retourne JSON {score, reason}.'
Nœud IF : aiguillage par score
score >= 7 → chaud (assigner à AE), 4-6 → tiède (séquence de nurturing), <4 → froid (archiver).
Implémentation Python
import requests, os
key = os.environ["SCAVIO_API_KEY"]
company = "Acme Corp"
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": key},
json={"query": company, "platform": "google", "limit": 3})
snippets = [r["snippet"] for r in resp.json().get("results", [])]
prompt = f"Score this company 1-10 for B2B SaaS fit: {company}. Context: {snippets}. Return JSON: score, reason."
score_result = call_llm(prompt)
print(score_result)Implémentation JavaScript
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({ query: "Acme Corp", platform: "google", limit: 3 })
});
const snippets = (await resp.json()).results.map(r => r.snippet);
const score = await callLLM(`Score 1-10 for B2B SaaS fit: Acme Corp. Context: ${snippets.join(" ")}. Return JSON: {score, reason}.`);
console.log(score);Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA