
n8n: piattaforma di workflow automation fair-code e self-hostable
Guida enciclopedica a n8n, il motore visuale per automatizzare flussi di lavoro tra app, database e API con codice quando serve.
Cos'è
n8n (pronunciato "n-eight-n") è una piattaforma di automazione dei flussi di lavoro (workflow automation) nata nel 2019 a Berlino, fondata da Jan Oberhauser. È distribuita con un modello definito "fair-code": il codice sorgente è pubblico, ispezionabile e modificabile, ma la licenza Sustainable Use License impone restrizioni all'uso commerciale rispetto alle licenze open-source tradizionali approvate dall'Open Source Initiative. L'obiettivo di questo modello è bilanciare la trasparenza del codice con la sostenibilità economica del progetto, evitando che grandi operatori possano riutilizzare il prodotto come servizio concorrente senza contribuire al suo sviluppo.
n8n si rivolge principalmente a team tecnici che desiderano la velocità di un tool visuale senza rinunciare alla flessibilità del codice. Si può installare on-premise o su cloud proprio, oppure utilizzare come servizio gestito tramite n8n Cloud.
Il problema che risolve
Le organizzazioni moderne gestiscono decine di sistemi: CRM, database, strumenti di comunicazione, piattaforme di marketing, help desk, repository di codice. Collegare questi servizi manualmente, copiando dati da un'applicazione all'altra o scrivendo script temporanei, genera errori, ritardi e debito tecnico. I tool no-code più semplici risolvono parte del problema, ma spesso limitano la logica personalizzata, impongono costi crescenti legati al numero di task o operazioni, e obbligano a processare i dati su infrastrutture di terzi.
n8n affronta questa situazione con un approccio ibrido: offre un editor visuale per costruire flussi rapidamente, ma permette anche di scrivere codice personalizzato, importare librerie, connettersi a database e self-hostare l'intera piattaforma. In questo modo si riduce la dipendenza dal vendor e si mantengono i dati sotto controllo diretto.
Come funziona
L'architettura di n8n è basata su nodi. Un workflow è rappresentato come un grafo diretto in cui ogni nodo svolge una funzione specifica:
- Trigger: avviano l'esecuzione. Possono essere webhook, scheduler cron, eventi di altre applicazioni, trigger manuali o chat.
- Azioni: eseguono operazioni concrete, come chiamate API, query a database, invio di messaggi, trasformazioni di file o chiamate a modelli di linguaggio.
- Logica: gestiscono il percorso dei dati attraverso nodi condizionali (IF), switch, merge, iteratori e aggregatori.
I dati fluiscono da un nodo all'altro in formato JSON, e ogni nodo riceve in input il risultato del nodo precedente, lo elabora e lo passa al successivo. L'editor web consente di trascinare i nodi sul canvas, configurarli tramite pannelli laterali, eseguire il workflow in modalità test e ispezionare l'input e l'output di ogni singolo passaggio. È anche possibile riavviare un nodo specifico senza dover rieseguire l'intero flusso.
Per le operazioni che non sono coperte dai nodi preconfigurati, è disponibile il nodo HTTP Request, che permette di invocare qualsiasi API REST. Per logiche più complesse si possono usare i nodi codice in JavaScript o Python; nelle istanze self-hosted è possibile installare pacchetti npm aggiuntivi, estendendo notevolmente le capacità della piattaforma.