Indice
- Configurare il primo workflow di avviso
- Passo 1: creare un canale Echobell
- Passo 2: costruire il workflow n8n
- Passo 3: configurare il modello di notifica
- Altri esempi di workflow
- Avvisi di errore di GitHub Actions
- Avvisi di soglia sul prezzo delle criptovalute
- Eventi critici della smart home
- Digest RSS/newsletter
- Monitoraggio dei cron job
- Buone pratiche
- Usa canali separati per priorità
- Usa le condizioni per ridurre il rumore
- Mantieni i modelli brevi e orientati all'azione
- Aggiungi un test settimanale
n8n gestisce bene l'automazione dei workflow, ma le sue notifiche integrate sono deboli. Abbinarlo a Echobell / Google Play colma questa lacuna: n8n si occupa della logica, Echobell recapita avvisi push o chiamate telefoniche che ti raggiungono davvero.
Configurare il primo workflow di avviso
Un punto di partenza pratico: farti avvisare quando la CPU del server supera l'80%.
Passo 1: creare un canale Echobell
- Apri Echobell → Nuovo canale
- Chiamalo "Server Alerts"
- Copia l'URL del webhook dalle impostazioni del canale
Passo 2: costruire il workflow n8n
{
"nodes": [
{
"name": "Cron",
"type": "n8n-nodes-base.cron",
"parameters": {
"rule": {
"interval": [{"field": "minutes", "minutesInterval": 5}]
}
}
},
{
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"parameters": {
"url": "https://api.your-monitoring.com/stats",
"method": "GET"
}
},
{
"name": "IF",
"type": "n8n-nodes-base.if",
"parameters": {
"conditions": {
"number": [
{
"value1": "={{ $json.cpu_usage }}",
"operation": "gt",
"value2": 80
}
]
}
}
},
{
"name": "Echobell Alert",
"type": "n8n-nodes-base.httpRequest",
"parameters": {
"url": "YOUR_ECHOBELL_WEBHOOK_URL",
"method": "POST",
"bodyParameters": {
"parameters": [
{
"name": "server_name",
"value": "production-01"
},
{
"name": "cpu_usage",
"value": "={{ $json.cpu_usage }}"
},
{
"name": "alert_type",
"value": "CPU Alert"
}
]
}
}
}
]
}
Passo 3: configurare il modello di notifica
Nel canale Echobell:
Title: 🔥 Server {{server_name}} CPU Critical!
Body: CPU usage at {{cpu_usage}}%. Immediate attention needed.
Per gli avvisi critici imposta il tipo di notifica su Chiamata.
Altri esempi di workflow
Avvisi di errore di GitHub Actions
// n8n Webhook trigger configuration
{
"path": "github-actions",
"responseMode": "onReceived"
}
Collega il webhook di GitHub a n8n, filtra su action: completed e conclusion: failure, poi invia un POST al tuo webhook Echobell.
Avvisi di soglia sul prezzo delle criptovalute
// In n8n's Function node
const price = $json.price;
const threshold = 50000;
if (price < threshold) {
return {
json: {
symbol: "BTC",
price: price,
alert: "Price dropped below $50,000"
}
};
}
return null;
Eventi critici della smart home
Inoltra a Echobell tramite n8n gli eventi critici di Home Assistant (sensori di perdite d'acqua, rilevatori di fumo, sensori di porte e finestre quando sei fuori casa). Trovi i dettagli nella guida all'integrazione con Home Assistant.
Digest RSS/newsletter
// Cron trigger → RSS Read → Filter new items → Echobell
{
"cron": "0 8 * * *",
"rss_url": "https://your-favorite-blog.com/feed",
"condition": "contains({{title}}, 'AI')"
}
Monitoraggio dei cron job
const lastRun = new Date($json.last_execution);
const now = new Date();
const hoursSince = (now - lastRun) / (1000 * 60 * 60);
if (hoursSince > 24) {
return {
json: {
job: "daily-backup",
status: "OVERDUE",
last_run: lastRun.toISOString()
}
};
}
Buone pratiche
Usa canali separati per priorità
- Critico: produzione fuori uso, avvisi di sicurezza → chiamata telefonica
- Attenzione: spazio su disco, CPU alta → push urgente
- Info: report giornalieri, digest → push normale
Usa le condizioni per ridurre il rumore
Le condizioni di Echobell ti permettono di filtrare al momento della consegna:
// Only call during off-hours
hour < 8 || hour > 18
Mantieni i modelli brevi e orientati all'azione
Good: 🔴 Disk Full on server-01
Bad: The disk on server number one in the production environment has become completely full
Aggiungi un test settimanale
// Every Friday at 5 PM
if (new Date().getDay() === 5 && new Date().getHours() === 17) {
return { json: { test: "Weekly system check" } };
}
Parti da un solo workflow, poi amplia da lì. La documentazione sui webhook copre l'intera API di Echobell.