ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment résoudre la personnalisation des campagnes sortantes avec n8n Search
Tutoriel

Comment résoudre la personnalisation des campagnes sortantes avec n8n Search

Améliorez la personnalisation des campagnes sortantes à froid dans n8n en enrichissant les prospects avec des données de recherche en direct. Extrayez les actualités récentes, les articles de blog et les mises à jour d'entreprise pour chaque prospect.

Obtenez une clé API gratuiteDocumentation API

Corrigez la personnalisation faible des campagnes sortantes dans n8n en ajoutant une étape d'enrichissement par recherche qui extrait l'activité récente du prospect avant la génération d'e-mails. La personnalisation générique comme l'utilisation des prénoms et des noms d'entreprise est ignorée. Une personnalisation efficace fait référence à quelque chose de spécifique : un article de blog récent, une annonce de financement, un lancement de produit ou une conférence. En interrogeant l'API de recherche pour chaque prospect avant de rédiger l'e-mail, votre workflow n8n peut générer des accroches véritablement personnalisées qui font référence à des événements récents et réels.

Prérequis

  • Instance n8n en cours d'exécution (auto-hébergée ou n8n Cloud)
  • Une clé API Scavio depuis scavio.dev
  • Une liste de prospects avec noms et entreprises
  • Un nœud d'envoi d'e-mails configuré dans n8n

Parcours

Étape 1: Rechercher l'activité du prospect

Interrogez le nom et l'entreprise du prospect pour trouver l'activité publique récente.

Python
import os, requests

API_KEY = os.environ['SCAVIO_API_KEY']

def find_prospect_activity(name: str, company: str) -> list:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'platform': 'google', 'query': f'{name} {company} 2026'}, timeout=15)
    results = resp.json().get('organic_results', [])
    activities = []
    for r in results[:5]:
        activities.append({
            'title': r.get('title', ''),
            'snippet': r.get('snippet', ''),
            'url': r.get('link', ''),
            'type': classify_activity(r),
        })
    return activities

def classify_activity(result: dict) -> str:
    title = (result.get('title', '') + result.get('snippet', '')).lower()
    if any(w in title for w in ['blog', 'article', 'wrote', 'published']):
        return 'content'
    if any(w in title for w in ['spoke', 'conference', 'keynote', 'panel']):
        return 'speaking'
    if any(w in title for w in ['raised', 'funding', 'series', 'launch']):
        return 'news'
    return 'mention'

activities = find_prospect_activity('Jane Smith', 'Acme Corp')
for a in activities:
    print(f"[{a['type']}] {a['title'][:60]}")

Étape 2: Rechercher les actualités de l'entreprise

Extrayez les actualités récentes de l'entreprise pour trouver des événements pertinents pour la personnalisation.

Python
def get_company_news(company: str) -> list:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'platform': 'google', 'query': f'{company} news announcement 2026'}, timeout=15)
    results = resp.json().get('organic_results', [])
    return [{
        'headline': r.get('title', ''),
        'snippet': r.get('snippet', '')[:150],
        'url': r.get('link', ''),
    } for r in results[:3]]

news = get_company_news('Acme Corp')
for n in news:
    print(f"  {n['headline'][:60]}")

Étape 3: Sélectionner le meilleur angle de personnalisation

Classez les activités et actualités découvertes pour choisir l'angle de personnalisation le plus fort.

Python
def select_hook(activities: list, news: list) -> dict:
    # Prioritize: content > speaking > news > mention
    priority = {'content': 1, 'speaking': 2, 'news': 3, 'mention': 4}
    sorted_activities = sorted(activities, key=lambda a: priority.get(a['type'], 5))
    if sorted_activities:
        best = sorted_activities[0]
        return {
            'type': best['type'],
            'reference': best['title'],
            'url': best['url'],
            'snippet': best['snippet'][:100],
        }
    if news:
        return {
            'type': 'company_news',
            'reference': news[0]['headline'],
            'url': news[0]['url'],
            'snippet': news[0]['snippet'][:100],
        }
    return {'type': 'none', 'reference': '', 'url': '', 'snippet': ''}

hook = select_hook(activities, news)
print(f"Best hook: [{hook['type']}] {hook['reference'][:60]}")

Étape 4: Générer une accroche personnalisée

Créez une accroche d'e-mail qui fait référence à l'activité ou à l'actualité spécifique trouvée.

Python
def personalized_opener(name: str, company: str, hook: dict) -> str:
    first_name = name.split()[0] if name else 'there'
    if hook['type'] == 'content':
        return f"Hi {first_name}, I came across your piece \"{hook['reference'][:50]}\" and it resonated with something we have been working on."
    if hook['type'] == 'speaking':
        return f"Hi {first_name}, I noticed your talk at {hook['reference'][:40]} and wanted to connect."
    if hook['type'] in ('news', 'company_news'):
        return f"Hi {first_name}, saw the news about {company} - {hook['reference'][:40]}. Congrats on the milestone."
    return f"Hi {first_name}, I have been following {company}'s work and wanted to reach out."

opener = personalized_opener('Jane Smith', 'Acme Corp', hook)
print(opener)

Étape 5: Enrichir par lots la liste de prospects

Traitez une liste entière de prospects et produisez des accroches personnalisées pour chacun.

Python
import time

def enrich_leads(leads: list) -> list:
    enriched = []
    for lead in leads:
        activities = find_prospect_activity(lead['name'], lead['company'])
        news = get_company_news(lead['company'])
        hook = select_hook(activities, news)
        opener = personalized_opener(lead['name'], lead['company'], hook)
        enriched.append({
            **lead,
            'hook_type': hook['type'],
            'hook_reference': hook['reference'][:80],
            'personalized_opener': opener,
        })
        print(f"{lead['name']}: [{hook['type']}] {hook['reference'][:40]}")
        time.sleep(0.5)
    return enriched

test_leads = [
    {'name': 'Jane Smith', 'company': 'Acme Corp', 'email': '[email protected]'},
    {'name': 'John Doe', 'company': 'Beta Inc', 'email': '[email protected]'},
]
results = enrich_leads(test_leads)

Exemple Python

Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def personalize(name, company):
    data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': f'{name} {company} 2026'}).json()
    top = data.get('organic_results', [{}])[0]
    return f"Re: {top.get('title', 'your recent work')[:50]}"

print(personalize('Jane Smith', 'Acme Corp'))

Exemple JavaScript

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function personalize(name, company) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: H,
    body: JSON.stringify({platform: 'google', query: `${name} ${company} 2026`})
  });
  const top = ((await r.json()).organic_results || [{}])[0];
  return `Re: ${(top.title || 'your recent work').slice(0, 50)}`;
}
personalize('Jane Smith', 'Acme Corp').then(console.log);

Sortie attendue

JSON
An n8n-compatible outreach personalization pipeline that enriches each lead with real prospect activity and company news, generating specific personalized email openers.

Tutoriels associés

  • Comment construire un enrichissement par recherche d'e-mails à froid à grande échelle
  • Comment diagnostiquer le taux de rebond d'Apollo avec l'enrichissement par recherche

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Instance n8n en cours d'exécution (auto-hébergée ou n8n Cloud). Une clé API Scavio depuis scavio.dev. Une liste de prospects avec noms et entreprises. Un nœud d'envoi d'e-mails configuré dans n8n. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Best Of

Meilleure API de recherche pour l'enrichissement des emails à froid en 2026

Read more
Use Case

Workflow d'enrichissement de recherche n8n

Read more
Best Of

Comparaison des meilleurs nœuds d'API de recherche n8n (Mai 2026)

Read more
Glossary

Personnalisation des e-mails froids basée sur SERP

Read more
Workflow

Campagne d'emails froids avec personnalisation basée sur l'audit SERP

Read more
Glossary

Personnalisation des emails à froid par recherche

Read more

Commencer

Améliorez la personnalisation des campagnes sortantes à froid dans n8n en enrichissant les prospects avec des données de recherche en direct. Extrayez les actualités récentes, les articles de blog et les mises à jour d'entreprise pour chaque prospect.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité