Aperçu
Workflow n8n prêt à l'emploi qui analyse les publications publiques LinkedIn via des requêtes Google SERP site:linkedin.com, filtre les signaux de mots-clés (hiring, funding, mention de concurrent) et publie les correspondances sur Slack ou un tableau Notion partagé. Remplace les outils de scraping LinkedIn payants pour les équipes qui paient déjà pour Scavio.
Déclencheur
Toutes les 30 minutes via le nœud de planification n8n
Planification
Toutes les 30 minutes
Étapes du workflow
Construire une requête ciblée LinkedIn
Composer une requête Google SERP avec site:linkedin.com/posts ou site:linkedin.com/in pour le scope des publications ou des profils.
Récupération SERP Scavio
POST vers /v1/search avec la requête ciblée par site ; recevoir des organic_results structurés.
Filtre par mot-clé
Ignorer les résultats dont l'extrait ne correspond pas à la liste autorisée de mots-clés (hiring, raising, launching, etc.).
Dédoublonnage
Vérifier le permalien par rapport à l'état n8n pour éviter les doublons.
Enrichir avec le contexte de l'auteur
Optionnel : exécuter une deuxième requête SERP sur le nom de l'auteur pour un signal d'intention chaleureuse.
Publier sur Slack
Envoyer la correspondance formatée vers #linkedin-signals ou écrire dans un tableau Notion partagé.
Implémentation Python
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": API_KEY}
def scan(keywords):
query = f'site:linkedin.com/posts ({" OR ".join(keywords)})'
r = requests.post("https://api.scavio.dev/api/v1/search",
headers=H, json={"query": query}).json()
return r.get("organic_results", [])
for hit in scan(["hiring", "raising seed", "launching"]):
print(hit["title"], hit["link"])Implémentation JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const H = { "x-api-key": API_KEY, "content-type": "application/json" };
async function scan(keywords) {
const query = `site:linkedin.com/posts (${keywords.join(" OR ")})`;
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({ query })
}).then(r => r.json());
return r.organic_results || [];
}
for (const hit of await scan(["hiring", "raising seed", "launching"])) {
console.log(hit.title, hit.link);
}Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA