Come creare un bot WhatsApp con n8n: guida pratica con modello

Argomento: n8n

Creare un bot WhatsApp con n8n: guida pratica

Eccolo qua.

Vuoi creare un bot WhatsApp, apri Meta, poi n8n, poi torni su WhatsApp Business… e a un certo punto hai davanti schermate, token, webhook, modelli da approvare. Non si capisce più bene dove si inceppa tutto.

Magari il problema è proprio questo: il bot ti serve, ma la configurazione sembra più complicata del risultato che vuoi ottenere.

Tra il pannello sviluppatori di Meta, i diversi tipi di messaggi e le regole di approvazione dei template, è facile bloccarsi ancora prima di partire, tipo:

  • Processo di configurazione lungo nel pannello per sviluppatori di Meta;
  • Diversi tipi di messaggi: quelli avviati dall'azienda e quelli in risposta agli utenti;
  • Processo di approvazione con requisiti stringenti per i modelli di messaggio.

E poi c'è quello che si può fare e quello che non si può fare, ad esempio:

FunzionalitàWhatsAppBusinessAPI
UtilizzoPer uso personalePer piccole aziende che gestiscono direttamente le conversazioni con i clientiPer medie e grandi aziende che comunicano con i clienti su larga scala tramite accesso programmatico
Profilo aziendale
Catalogo prodotti
Sincronizzazione contattiRubrica telefonicaRubrica telefonicaCRM
Strumenti di messaggisticaBaseAvanzati (risposte rapide, messaggi di assenza, etichette)Completi (chatbot, messaggi automatici)
ChatEntro 24 ore; oltre tale limite solo tramite modelli pre-approvati
Messaggi broadcastLimitatiMigliaia di messaggi
Integrazioni

Questa guida serve proprio a semplificare il percorso per creare un bot WhatsApp.

Usando n8n, cioè uno strumento open source low-code per automatizzare flussi di lavoro, ti accompagno passo dopo passo nella realizzazione del bot.

Vedremo insieme come:

  • Scoprire gli strumenti di base per la creazione di un chatbot WhatsApp;
  • Configurare il tuo account WhatsApp Business e impostare un'app nel portale Meta per sviluppatori;
  • Imparare a creare un chatbot WhatsApp per l'invio di messaggi predefiniti in uscita;
  • Passare alla creazione di un chatbot WhatsApp in grado di rispondere con messaggi personalizzati.

Alla fine troverai anche diversi modelli pronti all'uso di flussi di lavoro di n8n da prendere come base e adattare alle tue integrazioni WhatsApp.

Qual è il miglior bot per WhatsApp?

Prima di metterti a creare un bot per WhatsApp personalizzato, ha senso dare un'occhiata ad alcune soluzioni già pronte.

In certi casi potrebbero bastarti e farti risparmiare tempo.

  • Twilio. Offre un insieme di strumenti e librerie di programmazione che permettono agli sviluppatori di collegare le proprie applicazioni a WhatsApp (e agli SMS tradizionali) in modo strutturato. È una buona scelta per chi vuole costruire un bot partendo dal codice.
  • Vepaar (ex WhatsHash). Una piattaforma completa per gestire la propria attività su WhatsApp. Include strumenti per tenere traccia dei clienti, gestire un catalogo di prodotti, monitorare gli ordini e analizzare i dati delle conversazioni.
  • Tiledesk. Una piattaforma open source per creare bot senza necessariamente scrivere codice, con un'interfaccia visiva per gestire le conversazioni. Si integra facilmente con WhatsApp e con altri strumenti esterni come n8n, ed è disponibile sia come servizio online che installabile direttamente sui propri server.

Se invece vuoi dare al tuo assistente WhatsApp funzioni più personalizzate, collegarlo ad altre applicazioni o servizi, oppure aggiungere anche un po' di intelligenza artificiale, allora continua a leggere.

Qui sotto vediamo proprio come n8n può aiutarti a fare tutto questo.

Come creare un bot WhatsApp con n8n?

In questa prima parte andremo a creare un bot WhatsApp che invia messaggi predefiniti in uscita.

WhatsApp, giustamente, cerca di limitare i messaggi indesiderati. Per questo motivo le aziende possono avviare una conversazione solo usando messaggi modello già approvati dalla piattaforma.

Quindi, prima di costruire l'automazione in n8n, bisogna sistemare la parte di configurazione: creare un'applicazione nel portale sviluppatori di Meta, collegarla a WhatsApp e attivare l'accesso alle API Cloud di WhatsApp.

Se detta così sembra un po' macchinosa, tranquillo.

Ora la vediamo un passaggio alla volta.

Passaggio 1. Configura un account WhatsApp Business

Per partire, accedi a Meta Business Suite, cioè la piattaforma di gestione aziendale di Meta, e crea un nuovo account aziendale usando le tue credenziali Facebook.

Subito dopo vai su Meta per sviluppatori e accedi con le stesse credenziali.

A questo punto segui questi passaggi:

  1. Crea una nuova app su Meta per sviluppatori
  2. Ottieni un token di accesso API di test
  3. Ottieni un numero di prova gratuito
  4. Aggiungi fino a cinque numeri WhatsApp per testare il bot
  5. Invia un messaggio modello di test tramite la console per sviluppatori

Passaggio 2. Crea un flusso di lavoro con un nodo WhatsApp

Ora spostati in n8n, crea un nuovo flusso di lavoro e aggiungi 2 nodi:

  • Attivazione manuale
  • WhatsApp Business Cloud
Aggiunta di un nuovo flusso di lavoro di n8n con 2 nodi
Aggiunta di un nuovo flusso di lavoro di n8n con 2 nodi

Aggiungi poi le credenziali nelle impostazioni del nodo WhatsApp, inserendo il token di accesso, cioè la chiave che autorizza la connessione, e l'ID dell'account aziendale WhatsApp.

Se hai un dubbio su dove trovarli, il breve video di istruzioni qui sopra ti aiuta a orientarti.

Aggiunta delle credenziali nelle impostazioni del nodo WhatsApp
Aggiunta delle credenziali nelle impostazioni del nodo WhatsApp

Passaggio 3. Configura il nodo WhatsApp per inviare un messaggio modello

Configurazione del nodo WhatsApp per l'invio di messaggi modello
Configurazione del nodo WhatsApp per l'invio di messaggi modello
  • Seleziona la risorsa Messaggio (messaggio) e l'operazione Invia modello (invia modello);
  • Scegli uno dei numeri disponibili nel campo Numero di telefono del mittente (numero del mittente). Consulta il video qui sopra per sapere come aggiungere un numero di test alla tua app Meta Business.
  • Inserisci poi uno dei numeri di test che hai già aggiunto alla lista telefonica della tua app.
  • Infine, seleziona il modello predefinito hello_world dal menu a discesa e clicca su Testa il passaggio (testa il passaggio) oppure sul pulsante Testa il flusso di lavoro (testa il flusso di lavoro).

Se hai seguito tutto correttamente, dovresti ricevere un messaggio generico di prova.

Messaggio modello inviato dal bot WhatsApp
Messaggio modello inviato dal bot WhatsApp

Passaggio 4. Aggiungi un nuovo modello di messaggio con variabili personalizzate

Puoi controllare i modelli esistenti dentro il WhatsApp Manager.

Mi raccomando: verifica di aver selezionato l'account WhatsApp Business corretto nell'angolo in alto a destra.

Aggiunta di un nuovo modello di messaggio
Aggiunta di un nuovo modello di messaggio

Nella parte centrale dello schermo vedrai i modelli disponibili e il loro stato.

Da qui puoi crearne uno nuovo e definire anche le variabili personalizzate.

Creazione di un nuovo modello e definizione delle variabili
Creazione di un nuovo modello e definizione delle variabili

Una volta che il modello è stato creato e approvato da Meta, cosa che può richiedere fino a un giorno, puoi inviare i messaggi tramite il nodo WhatsApp in n8n.

Qui sotto trovi una configurazione di esempio con i componenti Intestazione (Header) e Corpo (Body), ognuno con un parametro di testo personalizzato.

Configurazione del nodo WhatsApp con i componenti Intestazione e Corpo aggiuntivi
Configurazione del nodo WhatsApp con i componenti Intestazione e Corpo aggiuntivi

Ecco come vengono mappate le variabili personalizzate nelle sezioni Intestazione e Corpo del modello:

Messaggio del modello del bot WhatsApp con variabili personalizzate
Messaggio del modello del bot WhatsApp con variabili personalizzate
  • Hello World è il modello predefinito: non contiene variabili ed è sempre identico, senza possibilità di personalizzazione.
  • I tre modelli di benvenuto successivi sono invece personalizzabili tramite variabili. Puoi salutare l'utente per nome oppure omettere il nome. Puoi anche modificare il formato della data, ovvero il testo che segue la frase "Oggi è". Ogni variabile viene sostituita con un valore reale al momento dell'invio del messaggio.

Con questi modelli di messaggio e con il nodo di integrazione di WhatsApp, puoi inviare notifiche e messaggi di conferma direttamente dentro i flussi di lavoro n8n.

Mantenendo una comunicazione ordinata e coerente con gli utenti.

Come costruire un bot WhatsApp personalizzato con n8n?

Fin qui abbiamo visto come inviare messaggi avviati dall'azienda tramite i modelli WhatsApp.

Ma la domanda vera spesso è un'altra: come fai a far rispondere il bot con un messaggio personalizzato?

WhatsApp lavora con una finestra di 24 ore.

In pratica, quando un utente scrive al bot, quest'ultimo può rispondere con contenuti personalizzati nelle 24 ore successive. Per esempio, se un cliente scrive "Dove è il mio ordine?", il bot può recuperare i dati dell'ordine e rispondere in modo mirato, purché tutto avvenga dentro questa finestra.

È il comportamento standard della piattaforma.

Per costruire un bot che gestisca questo tipo di risposta, bisogna prima completare alcuni passaggi di configurazione più avanzati:

  1. Creare un webhook (punto di ricezione) per ricevere i messaggi in entrata
  2. Verificare il nuovo webhook
  3. Selezionare i permessi del webhook
  4. Attivare l'applicazione

Per esempio, ecco un flusso di lavoro con un bot eco: riceve i messaggi degli utenti e li rimanda indietro uguali.

Semplice bot WhatsApp che rimanda indietro i messaggi degli utenti
Semplice bot WhatsApp che rimanda indietro i messaggi degli utenti

Passaggio 1. Configura il primo webhook per la verifica dell'URL di richiamata

Probabilmente ti stai chiedendo perché servono due punti di ricezione separati.

La ragione è questa: Meta usa lo stesso indirizzo web sia per controllare che il bot esista davvero, sia per ricevere i messaggi degli utenti. Però queste due operazioni usano metodi di comunicazione diversi.

Quindi, in n8n, bisogna creare due automazioni distinte per gestirle nel modo corretto.

Per iniziare, crea un nuovo flusso di lavoro e aggiungi il primo nodo di ricezione.

Questo si occuperà di rispondere alla richiesta iniziale di verifica inviata da Meta:

Aggiungere un nuovo flusso di lavoro e creare la prima attivazione del webhook
Aggiungere un nuovo flusso di lavoro e creare la prima attivazione del webhook
  • Seleziona il metodo HTTP GET (il tipo di richiesta usato per la verifica iniziale)
  • Scegli il nodo Rispondi al webhook (rispondi al webhook) come tipo di risposta

Ora aggiungi un nodo Rispondi al webhook, cioè il componente che invia una risposta automatica al webhook, per restituire il codice di verifica.

Configuralo come indicato nell'immagine qui sotto:

Configurazione del nodo Rispondi al webhook in n8n per la verifica del webhook WhatsApp
  • Seleziona Testo dal menu a tendina Rispondi con
  • Inserisci l'espressione nel campo Corpo della risposta: {{ $json.query['hub.challenge'] }}

Vai poi nella bacheca dell'app e clicca su Configurazione WhatsApp nel menu a sinistra.

Ti si aprirà il pannello per configurare il webhook, cioè il canale che riceve i messaggi. Clicca su Modifica e incolla l'URL del webhook di produzione insieme al testo del token di verifica.

Navigazione nel pannello di configurazione del webhook
Navigazione nel pannello di configurazione del webhook

Clicca su Verifica e salva (Verifica e salva).

Se la configurazione è corretta, la finestra si chiuderà e il webhook verrà registrato. Se invece qualcosa non torna, comparirà un messaggio di errore con l'indicazione del problema.

Infine configura i permessi del webhook come mostrato nell'immagine precedente, poi attiva l'app.

Passaggio 2. Configura il secondo webhook che riceve i messaggi degli utenti

Una volta registrato il webhook dell'app, possiamo passare alla parte del flusso di lavoro che riceve ed elabora i messaggi degli utenti.

Configurazione del webhook che riceve i messaggi degli utenti
Configurazione del webhook che riceve i messaggi degli utenti

Durante la configurazione del nodo Webhook, usa queste impostazioni:

  • Assicurati che il percorso (Path) sia identico a quello del primo webhook
  • Imposta il metodo di invio su POST – è il formato con cui WhatsApp trasmette i dati al tuo webhook (punto di ricezione)
  • Lascia l'opzione di risposta (Respond) impostata su Immediatamente (Immediately)

Passaggio 3. Filtrare un messaggio in arrivo

WhatsApp Cloud API invia notifiche per diversi tipi di evento: consegna del messaggio, lettura e altri ancora.

Non tutte queste notifiche contengono un testo scritto dall'utente. Quindi bisogna filtrare solo quelle che ci servono davvero.

Per farlo, aggiungi un nodo IF, cioè una condizione logica, e rinominalo "È un messaggio?".

Nel campo della condizione inserisci questa espressione:

{{ $json.body.entry[0].changes[0].value.messages[0] }}

Questo percorso naviga nella struttura dati della notifica ricevuta da WhatsApp e controlla se esiste un messaggio dell'utente.

Poi seleziona come tipo di controllo Oggetto → Esiste, cioè: verifica che l'oggetto esista davvero. Se serve, attiva anche l'opzione Convalida del tipo meno rigorosa.

È utile quando il valore potrebbe non essere riconosciuto come oggetto nel modo previsto.

Per esempio, se il webhook riceve solo una notifica di consegna, questo filtro la esclude automaticamente e il flusso continua solo quando c'è un vero messaggio testuale.

Passaggio 4. Invia un messaggio di risposta personalizzato

Dopo aver ricevuto i dati tramite il secondo webhook e aver filtrato i messaggi dell'utente, il bot deve rispondere.

In questo esempio farà una cosa molto semplice: rimanderà indietro lo stesso testo ricevuto.

Aggiungi il nodo WhatsApp (Rimanda il messaggio al mittente) e configuralo così:

  • Seleziona la risorsa Messaggio (Message) e l'operazione Invia (Send)

Nel campo dedicato al numero di telefono del destinatario, inserisci questa espressione: {{ $json.body.entry[0].changes[0].value.messages[0].from }}
Questa formula legge il messaggio ricevuto ed estrae automaticamente il numero di telefono di chi ha scritto.

In pratica, il bot capisce da solo a chi rispondere, senza che tu debba inserire nulla manualmente.

  • Seleziona il tipo di messaggio Testo (testo)

Nel campo del corpo del messaggio, inserisci questa espressione: {{ $json.body.entry[0].changes[0].value.messages[0].text.body }}

Questa espressione recupera in automatico il testo del messaggio ricevuto e lo riutilizza come risposta.

Quindi il comportamento del bot è questo: se l'utente scrive "Ciao", il bot risponde "Ciao".

Ricorda solo una cosa importante: devi rispondere entro 24 ore dall'ultimo messaggio ricevuto. Dentro questa finestra puoi anche inviare più messaggi in risposta a un singolo messaggio in arrivo.

Messaggi di testo personalizzati di un bot eco di WhatsApp
Messaggi di testo personalizzati di un bot eco di WhatsApp

Buone pratiche per un flusso di lavoro stabile e sicuro in produzione

Prima di portare il bot WhatsApp in un ambiente reale, vale la pena controllare alcuni aspetti fondamentali.

Sono quelli che spesso fanno la differenza tra un'integrazione che regge e una che si rompe al primo intoppo.

Gestione dei token

Non inserire mai il token di accesso di Meta direttamente nel flusso di lavoro come testo in chiaro.

Usa le credenziali native di n8n oppure le variabili d'ambiente per conservarlo in modo sicuro. Inoltre, cambia periodicamente i token e revoca subito quelli che non usi più.

Verifica del token webhook

Il token di verifica configurato nella Meta Developer Console dovrebbe essere una stringa casuale e difficile da indovinare.

Conservalo nelle credenziali di n8n e non riutilizzarlo in altri contesti. Questo token rappresenta il primo livello di sicurezza per autenticare le richieste in entrata.

Limiti di invio e gestione degli errori

Le API di WhatsApp Business applicano limiti al numero di messaggi inviabili.

Quindi conviene inserire nel flusso di lavoro un nodo di gestione degli errori, così puoi intercettare risposte del tipo "troppe richieste" (codice HTTP 429) o errori del server (codice HTTP 500), e gestire i tentativi automatici con un intervallo ragionevole.

In n8n, per i casi più comuni, basta un nodo IF oppure un nodo di errore.

Registrazione e notifiche di errore

Aggiungi un nodo di registrazione per salvare i messaggi ricevuti e le risposte inviate, almeno nelle prime settimane in produzione.

E configura anche una notifica via email o su un canale dedicato per gli errori critici, così puoi intervenire in fretta se qualcosa si rompe.

Separare ambiente di test e produzione

Usa un numero WhatsApp dedicato per i test e uno separato per la produzione.

Non provare modifiche al flusso di lavoro direttamente sul numero usato dagli utenti reali. Questa separazione riduce il rischio di inviare messaggi sbagliati o incompleti durante lo sviluppo.

Checklist: problemi comuni nell'integrazione WhatsApp

Se il tuo bot WhatsApp non funziona come dovrebbe, prima di rimettere mano a tutto il flusso di lavoro conviene escludere le cause più comuni.

È il modo più veloce per capire dove sta il problema.

Verifica del numero e token

  • Verifica non completata: assicurati che il numero di telefono associato all'app Meta sia nello stato verificato. Un numero in stato in sospeso blocca l'invio di qualsiasi messaggio.
  • Errori 401 / 403: significano quasi sempre un token scaduto o un token generato con permessi insufficienti. Rigenera il token dal pannello Meta per sviluppatori e verifica che sia di tipo token utente di sistema per un uso continuativo.
  • Ambiti mancanti: il token deve includere almeno whatsapp_business_messaging e whatsapp_business_management. Controlla gli ambiti attivi prima di testare qualsiasi chiamata API.

Modelli e approvazione

  • Modello non approvato: i messaggi del modello devono essere approvati da Meta prima dell'uso. Un modello in stato in sospeso o rifiutato restituisce errore anche se la chiamata API è corretta.
  • Variabili non corrispondenti: il numero e l'ordine dei parametri nel payload devono corrispondere esattamente a quelli definiti nel modello approvato.

Webhook e finestra delle 24 ore

  • Payload del webhook cambiato: Meta aggiorna periodicamente la struttura dei payload. Se il flusso di lavoro smette di funzionare anche se tu non hai toccato nulla, controlla che i percorsi dei nodi corrispondano ancora alla struttura attuale.
  • Finestra delle 24 ore: fuori dalla finestra di 24 ore dall'ultimo messaggio dell'utente, puoi inviare solo messaggi modello approvati. I messaggi di testo libero vengono rifiutati dall'API.
  • Webhook non verificato: se n8n non riceve eventi, controlla che l'URL del webhook sia registrato correttamente nel pannello Meta e che la verifica del token sia andata a buon fine.

Conclusioni

In questo tutorial abbiamo visto, passo dopo passo, come iniziare a usare WhatsApp Business API e integrarla nei flussi di lavoro con n8n:

  • Il primo flusso di lavoro ha mostrato come inviare messaggi avviati dall'azienda su WhatsApp tramite modelli pre-approvati.
  • Nel secondo esempio, abbiamo visto come costruire un semplice bot eco, cioè un bot che riceve un messaggio e risponde automaticamente all'utente con un testo personalizzato.

Quindi, ricapitolando, ora hai una base chiara per creare un bot di WhatsApp capace sia di inviare template approvati sia di rispondere ai messaggi ricevuti dentro la finestra prevista dalla piattaforma.

Prossimi passi

Hai completato la configurazione di base del bot WhatsApp con n8n.

Prima di portarlo in produzione, controlla questi punti essenziali:

  • Gestione degli errori: aggiungi blocchi di riserva per messaggi non riconosciuti o errori delle API, cioè delle connessioni con i servizi esterni.
  • Limiti di velocità: controlla quante richieste al minuto puoi inviare tramite la WhatsApp Business API per evitare blocchi automatici.
  • Registrazione delle conversazioni: salva i messaggi scambiati per monitorare il comportamento del bot nel tempo.
  • Test su numeri reali: esegui prove complete dall'inizio alla fine prima di aprire il bot agli utenti finali.
  • Sicurezza del punto di ricezione: assicurati che l'indirizzo che riceve i messaggi in arrivo sia protetto e che ogni richiesta venga verificata prima di essere elaborata.

Se vuoi estendere il flusso di lavoro, puoi integrare modelli di intelligenza artificiale tramite un nodo OpenAI o un sistema di gestione del linguaggio come LangChain, collegare il bot a un programma di gestione dei clienti, oppure aggiungere logica condizionale per gestire conversazioni più articolate.

Se hai bisogno di supporto per implementare questo flusso nel tuo progetto, oppure vuoi una revisione della tua configurazione, o hai anche solo un dubbio specifico, scrivimi e vediamo insieme come procedere.

Questo articolo è stato tradotto e riscritto partendo da questo articolo su n8n come base, dove puoi trovare anche i workflow scaricabili.

Chi scrive

Damiano Ruggieri

Heilà! Sono Damiano e sviluppo siti web personalizzati con Divi. Mi piacciono le idee insolite, i progetti complessi, le persone brillanti, e mi piace fare tante cose, ma farle bene.

0 Commenti

Invia Un Commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *