waiaconnect

Come creo un bot di assistenza clienti su WhatsApp con n8n?

Importi un JSON in n8n, inserisci le credenziali e descrivi la tua attività in un solo punto. Da lì ogni messaggio WhatsApp riceve una risposta dall'IA; se il cliente chiede una persona o il bot non sa rispondere, ti avvisa e tace in quella conversazione; e se rispondi tu dal telefono, il bot tace da solo. È qui sotto, gratis, con i 5 passi per farlo partire.

Scarica il workflow (JSON)

Programmi con l'IA? Collegala al tuo account via MCP: controlla la tua configurazione, crea webhook e modelli con la tua conferma e scrive il codice. Scopri come →

ProvatoIl 04/10/2026 abbiamo eseguito il workflow su n8n 2.40.7 contro un Connect di prova che invia gli eventi con la forma e la firma reali: 63 casi su 63 (firma, duplicati, IA con memoria, passaggio a una persona, l'eco del telefono, orari, audio e immagini, disiscrizione, errori e la cronologia). La prova con un numero WhatsApp reale è quella che farai tu.

Come funziona

E a parte: message.echo (hai risposto dal telefono) → il bot tace in quella conversazione · message.status fallito → registro e avviso, nessun nuovo tentativo.

Cosa fa, uno per uno

  • Controlla che il messaggio arrivi da Connect: il token nell'intestazione (lo controlla n8n prima di eseguire qualsiasi cosa) e la firma HMAC X-Connect-Signature-256 su timestamp.corpo, con 5 minuti di tolleranza. Una firma sbagliata riceve 401.
  • Non risponde mai due volte. Connect riprova se non riceve un 2xx (lo stesso evento, con lo stesso id), e quando Meta riconsegna un messaggio Connect non lo rimanda come evento nuovo. Il workflow registra l'id WhatsApp e invia anche un Idempotency-Key legato a esso: anche se qualcosa si ripete, Connect non invia un'altra risposta.
  • Risponde con l'IA leggendo le istruzioni della tua attività (cosa vendi, orari, tono) da un solo campo, con memoria per contatto. Il modello è un nodo a parte: c'è OpenAI e un nodo Claude pronto da scambiare.
  • Passa a una persona se il cliente lo chiede o se l'IA non sa (risponde con un segnale che il cliente non vede mai): gli dice che lo seguirà qualcuno, ti avvisa e tace in quella conversazione per le ore che scegli.
  • 🔑 Se rispondi tu dal telefono, il bot tace in quella conversazione per il tempo che scegli. È ciò che permette la coesistenza: Connect ti invia message.echo con quello che hai scritto nell'app. Quando il bot torna, l'IA sa cosa hai detto.
  • Orari di apertura: fuori orario invia un messaggio e basta (non lo ripete a ogni messaggio).
  • Audio, immagine, video, sticker, posizione: una risposta onesta («leggo solo testo, puoi scriverlo?»), non il silenzio.
  • Disiscrizione: se scrivono «baja» o «stop», conferma una volta e non scrive più; «alta» o «start» li riporta dentro.
  • Errori: se Connect rifiuta un invio (chiave sbagliata, prova scaduta, numero scollegato, quota) o Meta lo rifiuta dopo (per esempio la finestra di 24 ore), viene annotato in una tabella e ricevi un avviso. Non riprova mai, e un avviso fallito non genera un altro avviso: nessun loop possibile.
  • 🔑 La cronologia: se al momento della connessione hai scelto di ricevere la cronologia della coesistenza, tiene gli ultimi 30 messaggi di ogni contatto (mai le centinaia di migliaia) e l'IA li legge come «quello che vi siete detti prima» quando quel cliente torna a scrivere. Un lotto ripetuto non duplica nulla. Quando finisce (o se non è stato possibile salvarla) ricevi un avviso.

Scaricalo

Scarica il workflow (JSON)

Farlo partire in 5 passi

  1. Importalo. In n8n: Workflows → ⋮ → Import from File e scegli il JSON. Premi ▶ sul nodo Run once: create tables (crea le 4 tabelle che usa: duplicati, contatti, errori e cronologia).
  2. Credenziali (il workflow non contiene segreti): Connect webhook token — tipo Header Auth, Name X-Connect-Token, Value il tuo token wct_…; Connect API key — Header Auth, Name Authorization, Value Bearer wc_live_… (nel pannello: API → Crea API key); OpenAI (o Anthropic); e SMTP se vuoi gli avvisi via email.
  3. Config. Apri il nodo Config e descrivi la tua attività in businessInstructions, gli orari in openingHours, la tua email in ownerEmail. Per controllare la firma, incolla il tuo whsec_… in signingSecret.
  4. Attivalo (l'interruttore in alto) e copia la Production URL del nodo Connect webhook. ⚠ La Test URL ascolta una volta sola.
  5. In Connect → Webhook → Aggiungi endpoint: quell'URL, eventi message.received, message.echo e message.status (e history.batch, history.completed e history.dropped se hai scelto di ricevere la cronologia al momento della connessione), e genera il token statico. Premi Prova: deve dare 200. Poi mandati un WhatsApp da un altro telefono.

Non basta il nodo WhatsApp che n8n ha già?

n8n ha il suo nodo WhatsApp, che parla direttamente con Meta. Spesso basta, ed è gratis: se hai già un'app Meta, il tuo numero è sulla Cloud API e non usi l'app WhatsApp Business sul telefono, usa quello.

Cosa cambia con Connect, senza giri di parole (quello che diciamo del nodo di n8n viene dal suo codice, versione 2.40.7):

Nodo WhatsApp di n8nCon WAIA Connect
PrezzoGratis (Meta addebita comunque i suoi messaggi)Da US$ 12 al mese (Starter), 14 giorni di prova; Meta addebita comunque i suoi messaggi
App MetaLa crei e configuri tu (app, token, webhook)Non serve: colleghi il numero con la registrazione di Meta dal pannello
Continuare a usare l'app sul telefono (coesistenza)Il trigger non offre l'evento di ciò che si invia dal telefono (smb_message_echoes): il bot non sa che hai risposto tuSì: message.echo porta quello che hai scritto nell'app, e questo workflow tace da solo
Quanti workflow ricevonoUn trigger per app Meta (lo dice il nodo stesso)Uno o più endpoint, per account o per numero
Se il tuo n8n va giùMeta riprova dal suo latoConnect prova fino a 5 volte in circa 2 ore e mezza, firmato e con lo stesso id, e ti avvisa prima di mettere in pausa

Se non ti serve niente della colonna di destra, resta con il nodo di n8n. Il workflow ti serve comunque da esempio: le idee (registrare l'id WhatsApp, rispondere 200 prima dell'IA, non inviare testo libero fuori dalle 24 ore, non riprovare alla cieca) valgono con qualsiasi fornitore.

Da sapere prima

  • Serve n8n 2.3.0 o più recente: usa le Data tables, e l'operazione che crea le tabelle è arrivata in quella versione. L'abbiamo provato da cima a fondo su 2.3.0 e su 2.40.7. Su n8n Cloud sei già su una versione recente; in self-hosting, guarda la versione in basso a sinistra. Lì tiene i duplicati, lo stato di ogni contatto e gli errori; li vedi in Data tables.
  • La memoria dell'IA vive in n8n: si perde quando n8n si riavvia e non funziona in queue mode. Per qualcosa di duraturo, sostituisci il nodo di memoria con quello di Postgres o Redis con la stessa chiave.
  • Il segreto di firma resta dentro il workflow (nodo Config): n8n non permette a un nodo di leggere una credenziale. Cancellalo prima di esportare o condividere il workflow. Il token dell'intestazione e la API key stanno nelle credenziali.
  • Il nodo Code di n8n non può usare crypto in un'installazione propria (è vietato per impostazione predefinita): per questo la firma si calcola con il nodo Crypto.
  • L'avviso sul tuo WhatsApp va come template, mai come testo libero: fuori dalla finestra di 24 ore Meta lo rifiuta. Senza un template approvato, usa l'email.
  • I messaggi automatici dell'app (benvenuto, assenza) partono anch'essi dal telefono. Non siamo riusciti a misurarlo: se li hai attivi, possono contare come tua risposta e zittire il bot.
  • Servizio è il testo libero con cui rispondi entro 24 ore dall'ultimo messaggio del cliente. Dal 1° ottobre 2026 Meta lo addebita per messaggio consegnato (nella sua tabella, la stessa cifra dell'utilità di ogni paese), e anche l'utilità inviata a finestra aperta. I primi 1.000 messaggi di servizio per numero e per mese sono gratuiti; poi Meta addebita ogni risposta e ha bisogno della tua carta inserita in Meta. Lo addebita Meta, non WAIA Connect: la tua prova resta senza costi. La finestra di 24 ore esiste ancora e definisce se puoi inviare testo libero. Connect non aggiunge nulla a ogni risposta del bot.

Il tuo bot vive in un foglio Google?

Se non usi n8n e hai costruito il bot su un foglio di calcolo, c'è la guida con Google Sheets. La forma esatta di ogni evento è in Ricevere il webhook (in inglese).

Fonti (consultate il 29/09/2026)

Collega il tuo primo numero oggi

Fornitore di tecnologia verificato da Meta. Coexistence in un clic.

Inizia