Vai al contenuto principale

n8n: una guida con esempi pratici

Scopri come usare n8n per creare agenti AI che automatizzano l’elaborazione delle email e realizzare un agente RAG (retrieval-augmented generation) per il question answering sui documenti.
Aggiornato 18 mag 2026  · 12 min leggi

n8n si è affermato come un framework potente e popolare nell’AI agentica. Ti permette di creare flussi di lavoro automatizzati senza bisogno di codice complesso.

In questo articolo ti spiegherò passo passo come sfruttare al meglio questa piattaforma robusta per automatizzare due processi distinti:

  1. Per prima cosa, ti guiderò nella configurazione di un agente AI per elaborare automaticamente le email da Gmail, risparmiando tempo prezioso e riducendo il lavoro manuale.
  2. Poi creeremo un agente intelligente in grado di chattare su qualsiasi documento, offrendo accesso immediato alle informazioni.

Teniamo i lettori aggiornati sulle ultime novità in AI con The Median, la nostra newsletter gratuita del venerdì che riassume le notizie chiave della settimana. Iscriviti e resta sul pezzo in pochi minuti a settimana:

Cos’è n8n?

n8n è uno strumento di automazione open source che ci aiuta a collegare varie app e servizi per creare workflow, un po’ come su una catena di montaggio digitale. Consente di progettare visivamente questi flussi con dei nodi, ognuno dei quali rappresenta un diverso passaggio del processo.

Con n8n possiamo automatizzare attività, gestire il flusso dei dati e persino integrare API, il tutto senza competenze di programmazione avanzate. Ecco un esempio di automazione che costruiremo in questo tutorial:

esempio di workflow n8n

Senza entrare nei dettagli, ecco cosa fa questa automazione:

  1. Accede al nostro account Gmail per controllare i nuovi messaggi di posta.
  2. Le nuove email vengono inviate a ChatGPT per l’elaborazione tramite AI.
  3. L’AI identifica le informazioni rilevanti, che vengono poi salvate in un foglio di calcolo.

Come usare n8n?

Abbiamo due opzioni per usare n8n:

  1. Usare la loro interfaccia web qui. Richiede un account e un abbonamento a pagamento, ma offre una prova gratuita di 14 giorni che puoi usare per seguire questo tutorial.
  2. Essendo open source, possiamo anche eseguirlo in locale o ospitarlo in autonomia. È gratuito e dà accesso a quasi tutte le funzionalità (alcune sono esclusive dei piani cloud o enterprise a pagamento).

Entrambe le opzioni ti permettono di seguire questo tutorial senza costi. Noi lo eseguiremo in locale, ma se preferisci usare l’interfaccia web, i passaggi sono gli stessi.

Novità in n8n 2.0

Nota: n8n 2.0 è stato rilasciato a fine 2025 e ha introdotto un sistema di workflow Bozza/Pubblica, il salvataggio automatico (gennaio 2026), un pannello di focus aggiornato per modificare i nodi senza perdere il contesto della canvas e i Task Runner che isolano l’esecuzione dei workflow per una maggiore sicurezza.

I workflow qui sotto funzionano sulla versione 2.x — se sei sulla 1.x, valuta l’aggiornamento prima di procedere.

Configurazione locale di n8n

Il repository ufficiale di n8n spiega come impostare n8n in locale. Il modo più semplice è:

  1. Scarica e installa Node.js dal sito ufficiale.

  2. Apri un terminale ed esegui il comando npx n8n.

Tutto qui! Dopo aver eseguito il comando, dovresti vedere questo nel terminale:

Esecuzione di n8n in locale

Per aprire l’interfaccia, premi "o" sulla tastiera oppure apri l’URL di localhost mostrato nel terminale — nel mio caso, http://localhost:5678.

Capire n8n

Prima di costruire la nostra prima automazione, è utile capire come funziona n8n. Un workflow n8n è composto da una sequenza di nodi. Inizia con un nodo trigger che specifica una condizione per l’esecuzione del workflow.

nodi trigger in n8n

I nodi si collegano per spostare ed elaborare i dati. In questo esempio, il nodo trigger di Gmail si collega a un nodo OpenAI. Ciò significa che l’email viene passata a ChatGPT per l’elaborazione. Infine, l’output di ChatGPT viene inviato a un nodo Google Sheet, che si collega a un Foglio Google nel nostro Google Drive e scrive una nuova riga in un foglio di lavoro.

Questo workflow utilizza ChatGPT per identificare le fatture da pagare e assegna una riga nel foglio con l’ID della fattura e l’importo.

flusso dati in n8n

I workflow n8n possono essere molto più complessi. n8n supporta oltre 400 integrazioni ufficiali (nodi core), più 600+ nodi sviluppati dalla community e connessioni personalizzate tramite il nodo HTTP Request — quindi non possiamo coprirli tutti in un tutorial.

Mi concentrerò invece sul darti un’idea generale di come funziona e il background necessario per esplorarlo in autonomia. Se c’è uno strumento che usi regolarmente, è probabile che n8n lo supporti o che tu possa integrarlo manualmente.

Esempio 1: automatizzare l’elaborazione delle fatture dalle email

In questa sezione impariamo a costruire il workflow mostrato sopra.

È un caso d’uso reale che utilizzo per gestire le fatture di affitto. Ho una casa con alcune stanze che affitto. Le bollette sono divise equamente tra tutti gli inquilini. Ogni volta che ricevo una fattura, devo aggiungere il totale a un foglio di calcolo condiviso con gli inquilini.

Ho un indirizzo email specifico a cui vengono inoltrate le fatture relative alle utenze della casa. In questo modo so che tutte le email in quella casella corrispondono a una fattura. Invio il contenuto dell’email a ChatGPT per identificare l’ID della fattura e l’importo totale da pagare. Quindi queste informazioni vengono aggiunte a una nuova riga nel foglio condiviso.

Configurare il trigger email

Per avviare un nuovo workflow, dobbiamo cliccare il pulsante "Add first step...".

Avvio di un workflow n8n

Essendo il primo nodo, deve essere un trigger, quindi ci viene mostrato un pannello per selezionarlo. Un nodo trigger definisce le condizioni per cui il workflow viene eseguito.

Nodi trigger in n8n

Esiste un’ampia gamma di nodi trigger. Selezioniamo un nodo trigger Gmail digitando "gmail" nella casella di ricerca e cliccando sul nodo Gmail.

Selezione di un nodo trigger Gmail in n8n

Poi scegliamo l’unico trigger disponibile per Gmail: "On message received".

Nodo trigger On message received in n8n

Si aprirà il pannello di configurazione del nodo, dove dobbiamo impostare le credenziali di Gmail per consentire al workflow n8n di accedere al nostro account. Per farlo, clicca su "New credential". Verrà aperta la seguente finestra:

Configurazione delle credenziali Google OAuth in n8n

A destra (1) c’è una guida che spiega i passaggi necessari per configurare le credenziali su Google Cloud. Le guide di n8n sono piuttosto complete, quindi non ripeteremo i passaggi qui. Assicurati anche di abilitare la Gmail API nella Google Cloud Console.

Una volta configurato, dobbiamo copiare il client ID (2) e il client secret (3) da Google Cloud nella configurazione delle credenziali di n8n.

Per assicurarci che tutto sia configurato correttamente, possiamo testare il nodo cliccando "Fetch Test Event".

Test di un workflow

Dopo il test, dovremmo vedere nella sezione output l’email più recente ricevuta in posta in arrivo. Il contenuto dell’email è nel campo snippet.

Il campo snippet contiene il testo dell’email. Dice che la mia fattura internet di aprile è disponibile. Fornisce l’ID della fattura e il totale da pagare. Queste sono le informazioni che vogliamo aggiungere al foglio di calcolo. 

Per i test, ti consiglio di fissare l’output cliccando il pulsante con la puntina in alto a destra:

Fissaggio del risultato di un nodo in n8n

Questo bloccherà il risultato al trigger, il che significa che ogni volta che eseguiremo questo workflow verrà usato sempre lo stesso output. Così è più semplice testare, perché i risultati non saranno influenzati da eventuali nuove email. Lo sbloccheremo quando il workflow sarà configurato correttamente.

A questo punto, il nostro workflow dovrebbe avere un solo nodo trigger (lo riconosciamo dal piccolo fulmine a sinistra).

Identificare i nodi trigger in n8n

Nota che, non avendo probabilmente una fattura in arrivo nella tua casella, più avanti ChatGPT potrebbe restituire una risposta senza senso. Se vuoi testare esattamente questo workflow, puoi inviarti un’email di prova con il seguente contenuto (o qualcosa di simile):

Dear customer,

Your internet invoice number FT 2025**/****** for April is now available in the attachment.

Amount

€**.**
This invoice must be paid by 19/05/2025.

Dopo averla inviata, devi sbloccare il risultato, rieseguire il nodo Gmail e fissare il nuovo risultato.

Configurare il nodo ChatGPT

Il passo successivo è configurare il nodo OpenAI. Inizia cliccando il pulsante "+" a destra del nodo trigger Gmail:

Collegare i nodi in n8n

Digita "OpenAI" e seleziona l’opzione corrispondente dall’elenco.

Ricerca dei nodi OpenAI in n8n

Poi, sotto "Text Actions", seleziona il nodo "Message a model". Questo nodo serve per inviare messaggi a un LLM.

Creazione di un nodo "Message a model" in n8n

Come prima, dobbiamo creare una credenziale per accedere a OpenAI. Nota che una volta creata, può essere riutilizzata in qualsiasi workflow: non serve impostarla ogni volta.

Per la credenziale OpenAI ci serve solo una chiave API. Se non ne hai una, puoi crearla qui. Se riscontri problemi, n8n fornisce anche una guida.

Per la configurazione, dobbiamo selezionare il modello AI da usare e il messaggio da inviare al modello.

Per il modello useremo GPT-4.1. OpenAI nel frattempo ha rilasciato la famiglia GPT-5 (5.4, 5.4-mini, 5.5) e ha rimosso la 4.1 da ChatGPT, ma è ancora disponibile via API ed è più che sufficiente per un’estrazione semplice come questa. 

Selezione del modello AI in n8n

Nel campo del messaggio, dobbiamo fornire il prompt. In questo esempio, diamo al modello il contenuto dell’email e gli chiediamo di identificare l’ID della fattura e l’importo totale da pagare. Ecco il prompt che ho usato:

Configurazione del prompt dell’agente in n8n

Il contenuto dell’email è fornito come {{ $json.snippet }}. In n8n, il prompt può contenere variabili popolate dall’output dei nodi precedenti, nel nostro caso l’email. L’elenco dei campi disponibili è visibile a sinistra. Possiamo digitare il campo manualmente o trascinarlo nel prompt.

Per testare, clicchiamo il pulsante "Test Step" in alto nel pannello di configurazione. Il risultato viene mostrato a destra:

Il risultato è una stringa con la risposta del modello. Vorremmo però avere i due campi separati, così da non dover elaborare ulteriormente il messaggio. Possiamo ottenere questo cambiando l’output dell’LLM in JSON:

Configurazione del formato di output in n8n

Testando di nuovo questo passaggio, otteniamo i due campi come dati JSON:

Inviare i dati a un Google Sheet

L’ultimo passaggio di questo workflow è inviare l’ID fattura e il prezzo in una nuova riga di un Google Sheet. A questo punto dobbiamo collegare l’output del nodo OpenAI a Google Sheets. Lo facciamo come prima cliccando il pulsante "+" a sinistra del nodo:

Aggiunta del nodo finale in n8n

Qui vogliamo digitare Google Sheets e selezionare il nodo "Append row in sheet":

Selezione di un nodo Google Sheets in n8n

Possiamo usare le stesse credenziali utilizzate per l’accesso a Gmail. Ma dobbiamo abilitare le seguenti API nella Google Cloud Console:

  • Google Sheets API
  • Google Drive API

Per configurare il nodo Google Sheets, dobbiamo selezionare il foglio e indicare i valori per popolare i campi. Il foglio va creato manualmente con due colonne: una per l’ID della fattura e un’altra per il totale.

Stato iniziale del foglio di calcolo

Questi valori sono presi dall’output del nodo OpenAI. Possiamo trascinarli direttamente nelle colonne.

Eseguire il workflow

Fatto! Ora abbiamo un workflow che inserirà automaticamente le nostre fatture in un Google Sheet. Possiamo testarlo cliccando "Test workflow" in basso:

Test del workflow in n8n

Dopo l’esecuzione, se andiamo nel nostro Google Sheet, vedremo una nuova riga con i dati:

Per impostazione predefinita, un workflow viene eseguito ogni minuto. A seconda del workflow, dovremmo impostare una frequenza adeguata. In questo caso specifico, una volta al minuto è troppo. Una volta al giorno è più appropriato. 

Possiamo configurarlo facendo doppio clic sul nodo trigger e impostando un valore diverso nel campo "Poll Times":

Modificare la frequenza di esecuzione nel workflow n8n

Esempio 2: creare un agente RAG

In questa sezione costruiamo un workflow RAG più complesso. RAG sta per retrieval-augmented generation, una tecnica che combina il recupero di informazioni rilevanti da un database o documento e l’uso di un modello linguistico per generare risposte basate sui dati recuperati.

È molto utile quando abbiamo una base di conoscenza specifica, come un documento lungo, e vogliamo costruire un agente AI in grado di rispondere a domande su di essa. 

Mi piace giocare ai giochi da tavolo, ma spesso con i miei amici discutiamo sulle regole e finiamo per cercarle invece di giocare, il che può essere frustrante. Creare un agente RAG basato sulle regole del gioco è una buona soluzione, perché la prossima volta che avremo una domanda potremo semplicemente chiederla all’agente.

Per costruire questo agente, creeremo due workflow:

  1. Un workflow che eseguiremo una sola volta per caricare i dati in un database Pinecone.
  2. Un altro che alimenta l’agente RAG e usa il database Pinecone per rispondere alle nostre domande.

Caricare i dati in Pinecone

Pinecone è un tipo di database che gestisce dati sotto forma di vettori. Un database vettoriale come Pinecone è ottimo per il nostro agente RAG perché aiuta l’agente a cercare e comprendere rapidamente le informazioni rilevanti, rendendolo più efficiente nel fornire risposte accurate.

Poiché dobbiamo eseguire questo workflow una sola volta, possiamo usare un nodo trigger manuale. È un nodo trigger usato per avviare manualmente un workflow. 

Nodo trigger manuale in n8n

Collega il nodo trigger manuale a un nodo “Google Drive” per scaricare i dati da Google Drive. 

Nodo di download Google Drive in n8n

Usa la seguente configurazione:

Configurazione del nodo di download Google Drive in n8n

Ho usato il file pubblico mtgrules.txt con le regole del gioco di carte collezionabili Magic: The Gathering. Puoi usare qualsiasi file su cui desideri porre domande; il workflow è lo stesso.

Per configurare Pinecone, accedi a Pinecone, copia la chiave API e crea un indice cliccando il pulsante "Create index". Ho chiamato il mio indice rules e selezionato il modello text-embedding-3-small.

Creazione dell’indice Pinecone

Tornando a n8n, collega l’output del nodo Google Drive a un nodo Pinecone Vector Store con l’azione "Add documents to vector store":

Creazione del nodo Pinecone in n8n 

Per configurare il nodo, dobbiamo creare una credenziale incollando la chiave API e selezionando il Pinecone Index appena creato. Sotto il nodo Pinecone Vector Store vediamo due elementi da configurare: un modello di embedding e un data loader.

Configurazione del Pinecone Vector Store in n8n

Per l’embedding, crea un nodo OpenAI Embedding con il modello text-embedding-3-small:

Configurazione dell’embedding per Pinecone

Per il data loader, creiamo un nodo Default Data Loader con tipo di dati binari:

Configurazione del data loader Pinecone in n8n

Infine, il data loader richiede un nodo Text Splitter, che specifica come deve essere suddiviso il testo del file durante la creazione dello store vettoriale. Usiamo il nodo Recursive Character Text Splitter, consigliato nella maggior parte dei casi.

Aggiunta di un nodo text splitter

Lo configuriamo con una dimensione dei chunk pari a 1.000 e una sovrapposizione di 200:

Configurazione del text splitter in n8n

Quando scegli la dimensione e la sovrapposizione dei chunk, valuta l’uso di chunk più grandi per documenti lunghi per catturare abbastanza contenuto e di una sovrapposizione più piccola per mantenere il contesto tra i segmenti senza ridondanza.

Ecco come appare il workflow finale per il caricamento dei dati:

Workflow finale di caricamento dati in n8n

Possiamo eseguirlo cliccando “Test workflow” e, una volta terminato, verificare in Pinecone che i dati siano stati caricati.

Creare un agente RAG

Ecco lo schema finale per l’agente RAG:

Workflow finale dell’agente RAG in n8n

Come esercizio, ti incoraggio a provare a capirlo e magari anche a ricrearlo in locale prima di proseguire con la lettura.

Iniziamo con un nodo trigger "On chat message". Serve per creare un workflow di chat.

Nodo trigger On chat message in n8n

Successivamente colleghiamo il trigger della chat a un nodo "AI Agent" con le opzioni predefinite.

Nodo AI Agent in n8n

Sotto l’AI Agent, vediamo che possiamo configurare tre cose:

  • Il modello AI usato dall’agente.
  • La memoria, che definisce come l’agente ricorda il contesto della conversazione
  • Gli strumenti a cui l’agente ha accesso. In questo caso forniremo il database Pinecone come tool, così l’agente potrà rispondere alle domande sul nostro documento.

Per il modello AI, selezioniamo un nodo "OpenAI Chat Model" e usiamo GPT-4.1, come prima. La famiglia GPT-5 è l’attuale famiglia di modelli di OpenAI, ma la 4.1 ha una finestra di contesto da 1M token e si adatta bene al RAG.

Configurazione del modello AI in n8n

Per la memoria, usiamo un nodo "Simple Memory" con una finestra di contesto di lunghezza 5. Significa che l’agente ricorderà e considererà le cinque interazioni precedenti quando risponde.

Infine, come tool aggiungiamo un nodo "Pinecone Vector Store" con la seguente configurazione:

Configurazione del tool Pinecone Vector Store per l’agente AI in n8n

Nel campo descrizione è importante specificare quando usare gli strumenti. È ciò che l’agente userà per decidere se chiamare il tool.

L’ultima cosa da configurare è l’embedding usato dallo store vettoriale. Come prima, usiamo un nodo OpenAI Embedding con il modello text-embedding-3-small:

Configurazione dell’embedding in n8n

Il workflow è completo e possiamo chattare con l’agente. Ecco un esempio:

Chattare con l’agente AI in n8n

A destra possiamo vedere i passaggi eseguiti dall’agente per rispondere alla nostra domanda. In particolare, ha consultato il database Pinecone per recuperare le regole rilevanti.

Template n8n

n8n offre una funzionalità utile che può velocizzare sensibilmente la creazione dei nostri workflow: la libreria di template n8n.

Questa libreria è una raccolta di workflow predefiniti, creati dalla community e dagli esperti n8n. Che si tratti di automatizzare task semplici o processi più complessi, è probabile che qualcuno abbia già realizzato un workflow adatto alle nostre esigenze.

Importare un workflow nella nostra installazione n8n significa che non dobbiamo sempre partire da zero. Possiamo invece sfruttare le soluzioni creative sviluppate da altri utenti. Una volta importato, basterà configurarlo con le nostre credenziali e adattarlo ai requisiti specifici.

Per qualunque attività tu voglia automatizzare, dall’elaborazione delle email alla gestione dei social media, è molto probabile che nella libreria esista già un template.

Conclusione

n8n offre un vasto ecosistema di integrazioni, permettendoci di collegare oltre un migliaio di servizi e strumenti per creare agenti AI. In questo tutorial abbiamo appena scalfito la superficie di ciò che n8n può fare. Esplorando come usare n8n per creare agenti AI che automatizzano le attività quotidiane, abbiamo solo iniziato a intravedere il suo potenziale.


François Aubry's photo
Author
François Aubry
LinkedIn
Ingegnere full‑stack e fondatore di CheapGPT. Insegnare è sempre stata la mia passione. Fin dai primi anni da studente, cercavo con entusiasmo occasioni per fare da tutor e aiutare altri studenti. Questa passione mi ha portato a intraprendere un dottorato, durante il quale ho anche svolto il ruolo di assistente alla didattica a supporto del mio percorso accademico. In quegli anni ho trovato enorme soddisfazione nell'ambiente tradizionale dell'aula, creando connessioni e facilitando l'apprendimento. Con l'avvento delle piattaforme di apprendimento online, però, ho riconosciuto il potenziale trasformativo dell'educazione digitale. Di fatto, ho partecipato attivamente allo sviluppo di una di queste piattaforme nella nostra università. Sono profondamente impegnato a integrare i principi dell'insegnamento tradizionale con metodologie digitali innovative. La mia passione è creare corsi non solo coinvolgenti e informativi, ma anche accessibili a chi apprende in questa era digitale.
Argomenti

Impara l’AI con questi corsi!

Programma

Sviluppare applicazioni AI

21 h
Impara a creare applicazioni basate sull'intelligenza artificiale con i più recenti strumenti per sviluppatori di AI, tra cui OpenAI API, Hugging Face e LangChain.
Vedi dettagliRight Arrow
Inizia il corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra altroMostra altro