Un post sur r/micro_saas a montré que les meilleures réponses LinkedIn font référence au contexte spécifique de l'entreprise. Le problème : rechercher manuellement chaque prospect avant de répondre prend trop de temps. Ce tutoriel construit une étape d'enrichissement qui extrait les données de l'entreprise à partir de la recherche avant de rédiger une réponse.
Prérequis
- Clé API Scavio
- Python 3.8+
- Messages LinkedIn ou demandes de connexion auxquelles répondre
Parcours
Étape 1: Extraire les informations du prospect à partir du message LinkedIn
Analyser le nom de l'entreprise et de la personne à partir de la conversation.
def parse_prospect(linkedin_message):
# In practice, you would extract from LinkedIn UI or API
return {
'name': linkedin_message.get('sender_name', ''),
'company': linkedin_message.get('company', ''),
'title': linkedin_message.get('title', ''),
'message': linkedin_message.get('text', '')
}Étape 2: Enrichir avec les données de recherche
Rechercher l'entreprise du prospect et les actualités récentes.
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def enrich_prospect(company, person_name):
# Company info
company_data = requests.post('https://api.scavio.dev/api/v1/search',
headers=H,
json={'platform': 'google', 'query': f'{company} company'}).json()
# Recent news
news = requests.post('https://api.scavio.dev/api/v1/search',
headers=H,
json={'platform': 'google', 'query': f'{company} news 2026'}).json()
# Person background
person = requests.post('https://api.scavio.dev/api/v1/search',
headers=H,
json={'platform': 'google', 'query': f'{person_name} {company}'}).json()
return {
'company_results': company_data.get('organic_results', [])[:3],
'news': news.get('organic_results', [])[:3],
'person': person.get('organic_results', [])[:3]
}Étape 3: Générer un résumé du contexte de réponse
Résumer les données d'enrichissement dans une fiche de contexte brève.
def context_summary(enrichment):
summary = 'CONTEXT FOR REPLY:\n\n'
summary += 'Company:\n'
for r in enrichment['company_results']:
summary += f" - {r.get('title', '')}: {r.get('snippet', '')}\n"
summary += '\nRecent News:\n'
for r in enrichment['news']:
summary += f" - {r.get('title', '')}\n"
summary += '\nPerson Background:\n'
for r in enrichment['person']:
summary += f" - {r.get('title', '')}: {r.get('snippet', '')}\n"
return summaryÉtape 4: Rédiger une réponse éclairée
Utiliser le contexte pour écrire une réponse qui montre que vous avez fait vos devoirs.
def draft_reply(prospect, context):
# In production, feed context to an LLM for drafting
# Here is a manual template approach
news_ref = context['news'][0].get('title', '') if context.get('news') else ''
reply = (f'Thanks for reaching out, {prospect["name"]}.\n\n')
if news_ref:
reply += f'I noticed {prospect["company"]} was recently covered -- '
reply += f'"{news_ref}" caught my eye.\n\n'
reply += 'Would love to explore how we might work together.'
return replyExemple Python
import os, requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def enrich_for_reply(company, person):
for q in [f'{company} company', f'{company} news 2026', f'{person} {company}']:
data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'google', 'query': q}).json()
for r in data.get('organic_results', [])[:2]:
print(f" {r.get('title', '')}")
enrich_for_reply('Notion', 'Ivan Zhao')Exemple JavaScript
const enrichment = 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: `${company} news 2026`})
}).then(r => r.json());Sortie attendue
Context sheet with company overview, recent news, and person background. 3 search queries per prospect = $0.015. Use the context to write informed LinkedIn replies.