Come vibe-codare un bot WhatsApp con Claude Code e n8n
Vibe coding significa descrivere in linguaggio naturale quello che vuoi che il codice faccia, e lasciare che un modello linguistico lo scriva. Ecco come applicarlo per costruire un bot WhatsApp su n8n.
TL;DR
L'architettura ManyChat → webhook → n8n permette di costruire logica complessa senza scrivere codice. Claude Code genera i nodi JSON di n8n da descrizioni in italiano. Il file CONTESTO.md con i dettagli del progetto è la chiave per output coerenti e importabili direttamente.
Come vibe-codare un bot WhatsApp con Claude Code e n8n
«Vibe coding» è il termine che circola da qualche mese per descrivere una cosa precisa: descrivere in linguaggio naturale quello che vuoi che il codice faccia, e lasciare che un modello linguistico lo scriva per te. Non è programmazione vera, ma non è neanche cliccare bottoni su un'interfaccia drag-and-drop. È qualcosa nel mezzo: devi capire cosa stai costruendo, sapere cosa chiedere, riconoscere quando l'output è sbagliato. Ma non devi sapere scrivere codice.
Su n8n, questo approccio funziona meglio che su quasi qualsiasi altro strumento. E noi lo usiamo direttamente per costruire bot WhatsApp.
Come funziona l'architettura
Prima di arrivare al vibe coding, vale la pena capire perché usiamo questa combinazione di strumenti.
L'architettura è divisa in due livelli. ManyChat gestisce il canale WhatsApp: riceve i messaggi, parla con le API di Meta, invia le risposte. n8n gestisce la logica: decide cosa rispondere, aggiorna il database, chiama l'AI se serve. I due sistemi si parlano tramite webhook.
Un webhook è come un campanello. Ogni volta che un utente manda un messaggio su WhatsApp, ManyChat suona il campanello di n8n e consegna il pacchetto (il messaggio, il numero di telefono, il timestamp). n8n apre il pacchetto, elabora, e dice a ManyChat cosa rispondere. ManyChat consegna la risposta all'utente.
Perché questa separazione? Per due ragioni concrete.
La prima è la sicurezza. Le API di Meta sono aggressive nel rilevare comportamenti anomali. Un sistema che scrive direttamente alle API da un server custom sembra spam finché non prova il contrario, e il processo di verifica può essere lungo e losco. ManyChat è un Business Solution Provider ufficiale di Meta: ha accordi preferenziali, gestisce il rate limiting, si fa carico del rischio. Usarlo come intermediario riduce drasticamente la probabilità di ban.
La seconda è la flessibilità. Su n8n puoi costruire qualsiasi logica: leggere un foglio Google, chiamare un'API esterna, fare una query su un database, mandare una notifica Telegram. Non sei limitato da quello che ManyChat ti permette di fare nell'interfaccia visiva. E su n8n puoi vibe codare i workflow usando Claude Code.
Leggi anche: Come collegare WhatsApp a ManyChat per il setup iniziale del canale: registrazione del numero su Meta e connessione a ManyChat.
Leggi anche: Come creare un'automazione n8n per capire come installare e usare n8n prima di costruire il bot.
Leggi anche: Come installare Claude Code per il setup iniziale dello strumento.
Cosa vuol dire vibe codare un flusso n8n
n8n ha un formato JSON per i workflow. Ogni workflow è un oggetto JSON con nodi, connessioni e parametri. È leggibile da un umano, ma scriverlo a mano è lento e soggetto a errori.
Claude Code, invocato dalla riga di comando, legge il tuo progetto, capisce il contesto, e genera quel JSON su descrizione verbale. Tu descrivi cosa deve fare ogni nodo, Claude Code produce il JSON, lo importi in n8n con Import > Paste JSON. Funziona.
Il segreto è dare a Claude Code un file di contesto nella cartella del progetto con l'architettura del bot: quali strumenti usi, i nomi dei campi, le API key, il flusso conversazionale. Con quel file presente, ogni prompt produce JSON che rispecchia il tuo progetto specifico invece di un esempio generico.
Questo non significa che il JSON uscirà perfetto al primo colpo. Uscirà quasi perfetto, e aggiustare l'1% che non va richiede capire n8n abbastanza da individuare il nodo sbagliato e descrivere il problema a Claude Code in termini precisi.
Leggi anche: Prompt copia-incolla per creare un bot WhatsApp con Claude Code e n8n contiene il file di contesto pronto e i prompt completi per costruire il bot step per step.
Come abbiamo costruito il bot per CPER
CPER è un'azienda di consulenza finanziaria che riceveva i lead da Instagram e li gestiva a mano. Un consulente apriva WhatsApp, raccoglieva i dati a voce (nome, città, email, situazione finanziaria), compilava un foglio Google, inviava la guida PDF giusta. Tempo per lead: 15-20 minuti, solo durante l'orario di ufficio.
Abbiamo costruito un bot in 11 step su n8n che fa la stessa cosa in 2 minuti, di notte come di sabato.
Il flusso è quasi interamente deterministico: ogni step ha una risposta fissa, ogni transizione è una regola. Solo allo step 9 entra l'AI: le quattro risposte del test di profilazione finanziaria vengono mandate a Groq (llama-3.3-70b) che classifica il profilo e sceglie la guida PDF giusta tra più varianti. I profili si mescolano in modi che una tabella «se X allora Y» non gestisce bene, ma un modello linguistico classifica senza difficoltà.
Per tutto il resto, il bot è un distributore automatico: premi il tasto, ottieni sempre la stessa risposta. Questo mantiene il comportamento prevedibile e azzera il rischio di risposte incoerenti su prezzi e offerte.
Il workflow è stato costruito principalmente in vibe coding. Abbiamo descritto ogni step a Claude Code e importato il JSON generato in n8n. Le correzioni sono venute quasi tutte da due bug ricorrenti su n8n: la gestione dei 0 item (se un nodo non trova dati, si ferma in silenzio) e il row_number che non funziona su righe appena create. Claude Code ha generato i workaround una volta descritti i sintomi.
La struttura di un flusso tipico in n8n
Per capire cosa chiedere a Claude Code, aiuta avere in testa la struttura base di un bot WhatsApp su n8n.
Webhook trigger. Il punto di ingresso. ManyChat manda qui ogni messaggio in arrivo. Il workflow risponde subito 200 OK in parallelo, per non fare aspettare ManyChat.
Nodo di parsing. Estrae i campi utili dal payload: numero di telefono, testo del messaggio, flag fromMe. Filtra i messaggi inviati dal bot stesso (altrimenti risponde ai propri messaggi, loop infinito).
Lookup su database. Cerca il lead nel foglio Google usando il numero di telefono come chiave. Restituisce lo step corrente e i dati già raccolti.
Safe Pass. Un nodo Code obbligatorio dopo ogni lookup: se il lead non esiste, il lookup restituisce 0 item e n8n si ferma in silenzio senza errori. Il Safe Pass risolve questo restituendo sempre 1 item con un flag che indica se il lead esiste.
Router per step. Un nodo Switch che legge lo step corrente e instrada l'esecuzione al ramo corretto. Ogni ramo salva i dati, aggiorna lo step, e invia la risposta via ManyChat.
Descritta in questo modo, è una lista di istruzioni che Claude Code trasforma in workflow JSON in pochi minuti. Il segreto è essere precisi: specificare i nomi dei campi, i valori attesi, le condizioni di transizione. Più il prompt è preciso, meno correzioni servono dopo l'importazione.
Il punto in cui il vibe coding smette di bastare
C'è un limite. I prompt generano il 70-80% di un workflow funzionante. Il restante 20-30% richiede capire n8n: leggere i log di esecuzione, identificare il nodo che fallisce, capire perché un'espressione restituisce undefined invece del valore atteso.
Non è programmazione. È debugging assistito: descrivi il sintomo, Claude Code suggerisce la causa, tu verifichi nel log e applichi la correzione.
La soglia pratica: se sai leggere un log di errore e spiegare cosa non funziona in italiano, puoi costruire un bot WhatsApp su n8n in vibe coding. Non serve altro.
Domande frequenti
Devo saper programmare per costruire un bot WhatsApp con questo metodo? No, ma devi saper leggere un log di errore e descrivere cosa non funziona in modo preciso. I prompt generano il 70-80% di un workflow funzionante; il restante 20-30% richiede debugging assistito: descrivi il sintomo a Claude Code, lui suggerisce la causa, tu verifichi nel log di n8n e applichi la correzione.
Perché usare ManyChat invece di connettersi direttamente alle API di Meta? Perché Meta banna gli account che sembrano spam, e il confine tra messaggi legittimi e spam lo decide il loro algoritmo, non tu. ManyChat è un Business Solution Provider ufficiale di Meta: gestisce il rate limiting, si fa carico del rischio di ban, e se la verifica aziendale fallisce ti permette di riprovare invece di bloccarti. Abbiamo visto ban immediati su account che usavano le API dirette: non vale il risparmio.
Quanto tempo ci vuole per costruire un bot da zero con questi prompt? Per un bot semplice (5-6 step, raccolta dati, passaggio all'operatore): una giornata di lavoro, inclusi setup di n8n, ManyChat e Google Sheets. Per un bot con classificazione AI, gestione degli step multipli e alert all'operatore come quello di CPER: 2-3 giorni, il grosso dei quali è testing e debugging dei casi limite.
Posso adattare questi prompt per un bot con flusso diverso dal mio?
Sì, aggiornando il file CONTESTO.md. Descrivi il tuo flusso conversazionale, i tuoi step, i nomi dei campi sul foglio Google, e i messaggi che vuoi inviare. Claude Code userà quelle specifiche invece degli esempi generici dei prompt.
Questo articolo fa parte del cluster su WhatsApp e Facebook Ads: Come integrare WhatsApp con Facebook Ads - guida pratica per aziende italiane