n8n es una plataforma de automatización del flujo de trabajo que facilita la conexión de API, la programación de tareas y el procesamiento de datos sin escribir aplicaciones completas. Este tutorial crea un flujo de trabajo n8n que ejecuta una búsqueda diaria en Google, Reddit y YouTube utilizando la API de Scavio, procesa los resultados y los envía a Slack o por correo electrónico. La versión autohospedada de n8n es gratuita con ejecuciones ilimitadas.
Requisitos previos
- n8n instalado (autohospedado o en la nube)
- Una clave API de Scavio de scavio.dev
- Familiaridad básica con el editor de flujo de trabajo visual de n8n
Guia paso a paso
Paso 1: Crear un nuevo flujo de trabajo con un activador de programación
Inicie un nuevo flujo de trabajo y agregue un nodo Programar activador configurado para que se ejecute diariamente a la hora que prefiera.
// Schedule Trigger node settings:
// Trigger interval: Every day
// Hour: 8
// Minute: 0
// Timezone: your local timezonePaso 2: Agregue un nodo de solicitud HTTP para la búsqueda de Scavio
Agregue un nodo de solicitud HTTP que llame al punto final de búsqueda 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"
// }Paso 3: Analizar y formatear resultados
Agregue un nodo Código para extraer y formatear los resultados de la búsqueda.
// 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
}
}));Paso 4: Enviar resultados a Slack o enviarlos por correo electrónico
Agregue un nodo Slack o Correo electrónico para enviar los resultados formateados.
// 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 resultsEjemplo en 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]]Ejemplo en 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 }
}));Salida esperada
A daily n8n workflow that searches via Scavio and delivers formatted results to Slack or email.