← Tutti gli appunti

Automatizzare sul serio con n8n

Guidan8n1 min di lettura
automazionen8nself-host

n8n è diventato il mio coltellino svizzero per le automazioni: open source, self-host, e abbastanza flessibile da non mettermi i bastoni tra le ruote quando un flusso cresce.

Perché self-host

Tenere n8n sulla mia infrastruttura significa che il dato non lascia la macchina finché non decido io. Per i workflow che toccano informazioni sensibili è la differenza tra "si può fare" e "non se ne parla".

  • Controllo completo su versioni e dipendenze
  • Nessun limite artificiale sul numero di esecuzioni
  • Possibilità di mettere un reverse proxy davanti e gestire l'auth come voglio

Il pattern webhook → validazione → azione

La maggior parte dei flussi utili parte da un webhook. La regola che mi sono dato è semplice: valida sempre l'input prima di fare qualsiasi cosa.

// Pseudo-logica di un nodo Function
if (!body.email || !body.email.includes('@')) {
  throw new Error('Email non valida')
}
return { json: { ok: true } }

Un webhook senza validazione è solo un modo elegante per farsi riempire il database di spazzatura.

Integrare gli LLM senza far esplodere i costi

Quando aggiungo un nodo LLM nel flusso, lo tratto come una chiamata costosa e fallibile:

  1. Cache aggressiva sugli input ripetuti
  2. Timeout espliciti
  3. Un fallback deterministico quando il modello non risponde

L'automazione deve restare prevedibile anche quando il pezzo "intelligente" fa i capricci.