n8n est une plateforme d'automatisation de workflows qui facilite la connexion d'API, la planification de tâches et le traitement de données sans avoir à écrire des applications complètes. Ce tutoriel construit un workflow n8n qui effectue une recherche quotidienne sur Google, Reddit et YouTube via l'API de Scavio, traite les résultats et les envoie à Slack ou par e-mail. La version auto-hébergée de n8n est gratuite avec des exécutions illimitées.
Prérequis
- n8n installé (auto-hébergé ou cloud)
- Une clé API Scavio provenant de scavio.dev
- Connaissance de base de l'éditeur visuel de workflows de n8n
Parcours
Étape 1: Créer un nouveau workflow avec un déclencheur planifié
Lancez un nouveau workflow et ajoutez un nœud Schedule Trigger configuré pour s'exécuter quotidiennement à l'heure de votre choix.
// Schedule Trigger node settings:
// Trigger interval: Every day
// Hour: 8
// Minute: 0
// Timezone: your local timezoneÉtape 2: Ajouter un nœud HTTP Request pour la recherche Scavio
Ajoutez un nœud HTTP Request qui appelle le point de terminaison de recherche de Scavio.
// HTTP Request node settings:
// Method: POST
// URL: https://api.scavio.dev/api/v1/search
// Authentication: Header Auth
// Header Name: x-api-key
// Header Value: your_scavio_api_key
// Body Content Type: JSON
// Body: {
// "platform": "google",
// "query": "your search query here"
// }Étape 3: Analyser et formater les résultats
Ajoutez un nœud Code pour extraire et formater les résultats de recherche.
// Code node (JavaScript):
const results = $input.all()[0].json.organic || [];
return results.slice(0, 5).map(r => ({
json: {
title: r.title,
url: r.link,
snippet: r.snippet,
position: r.position
}
}));Étape 4: Livrer les résultats à Slack ou par e-mail
Ajoutez un nœud Slack ou Email pour envoyer les résultats formatés.
// Slack node settings:
// Channel: #search-results
// Text: {{$json.title}} - {{$json.url}}
//
// Or Email node:
// To: [email protected]
// Subject: Daily Search Report
// Body: formatted HTML table of resultsExemple Python
# Equivalent Python script for n8n HTTP Request:
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def n8n_search(query, platform='google'):
resp = requests.post('https://api.scavio.dev/api/v1/search',
headers=H, json={'platform': platform, 'query': query}, timeout=10)
return [{'title': r['title'], 'url': r['link'], 'snippet': r['snippet']}
for r in resp.json().get('organic', [])[:5]]Exemple JavaScript
// n8n Code node example:
const results = $input.all()[0].json.organic || [];
return results.slice(0, 5).map(r => ({
json: { title: r.title, url: r.link, snippet: r.snippet }
}));Sortie attendue
A daily n8n workflow that searches via Scavio and delivers formatted results to Slack or email.