Costruisci un chatbot WhatsApp Dialogflow senza dover scrivere codice

Abigail Freeman
Technical Support Engineer at Landbot
Illustrator: Jana Perès

Scopri come costruire un chatbot WhatsApp Dialogflow utilizzando l’interfaccia di Landbot, che non richiede codice, insieme al gestore campagne WhatsApp per ridurre i costi e velocizzare il processo.

La pandemia e la conseguente corsa alla digitalizzazione hanno causato un aumento senza precedenti nell’utilizzo delle tecnologie chatbot, dell’intelligenza artificiale e degli algoritmi di apprendimento automatico, portando il futuro dei chatbot molto più vicino alla realtà attuale di quanto lo sia mai stato in passato.

Anche se negli ultimi anni è aumentato il numero di chatbot esistenti, molti di essi seguono flussi di conversazione predefiniti e lineari, nei quali l’input naturale dell’utente è limitato o del tutto assente. Anche questi bot, nella loro semplicità, possono comunque essere potenti ed estremamente utili. Tuttavia, in molti casi e in molti canali, l'utilizzo dell’elaborazione del linguaggio naturale (NLP) può migliorare drasticamente l’esperienza utente. Uno di questi canali è l’app di messaggistica più popolare al mondo, WhatsApp.

Dato che WhatsApp ha un’interfaccia piuttosto limitata, se confrontata con quella di altre app di messaggistica come Facebook Messenger, le conversazioni si basano per lo più su testo anziché su un’interfaccia utente avanzata e interattiva. Per questo WhatsApp è il canale perfetto per conversazioni guidate dalla NLP.

Il problema è che la maggior parte delle aziende, specialmente quelle di piccole dimensioni, non intendono utilizzare bot NLP ritenendo che il loro sviluppo sia troppo costoso o dispendioso in termini di tempo per bilanciare l’investimento. Questo articolo ti mostrerà come costruire un chatbot utilizzando il software NLP di Google Dialogflow, in combinazione con il builder di Landbot, per arrivare a creare un bot in modo rapido ed efficiente, mantenendo il suo pieno controllo e senza perdere di vista il suo scopo generale.

Per cui, sia che tu sia uno sviluppatore interessato a trucchi e semplificazioni per rendere il tuo lavoro più semplice, sia che tu non abbia alcuna conoscenza di come scrivere codice, questo articolo è perfetto per te.

Cosa ti occorre per creare un assistente WhatsApp Dialogflow con Landbot?

Per creare un bot WhatsApp Dialogflow ti occorre:

1) L’API WhatsApp Business. A differenza dell’app di base WhatsApp Business, l’API per WhatsApp ti permette di inviare notifiche massive, chiamate anche messaggi altamente strutturati (HSM), a un numero illimitato di utenti e di integrare i chatbot nel tuo canale. Per avere l'accesso devi prima richiedere l’API WhatsApp direttamente o tramite un provider (scelta consigliata).

2) Un account Dialogflow. Se non hai ancora un account dovrai crearne uno sulla console Dialogflow di Google. Il servizio è gratuito a meno che tu non sia interessato a funzionalità più avanzate come l’analisi del sentimento.

3) Un account Landbot. Per completare tutto ti occorre un account Landbot; in questo modo potrai utilizzare l’editor visuale e il gestore di campagne WhatsApp per semplificare quella parte di creazione del bot WhatsApp Dialogflow che ancora richiede codifica e rendere il processo di sviluppo più veloce ed efficiente. Puoi utilizzare Landbot per configurare rapidamente integrazioni con terze parti o effettuare calcoli che altrimenti avrebbero richiesto la scrittura di codice. E, cosa ancora più importante, avrai la possibilità di testare l’esperienza dell’utente finale con il bot su un canale sicuro WhatsApp mentre procedi, in tempo reale:

Come costruire un chatbot WhatsApp Dialogflow con Landbot

Per seguire il tutorial, effettua la registrazione su Landbot (gratuita).

NOTA: se non sei esperto di Dialogflow e ti interessa una spiegazione più approfondita sugli elementi di base del software, puoi utilizzare la nostra guida all’utilizzo di Dialogflow e la sua integrazione in Landbot.

1. Costruisci il tuo operatore Dialogflow

Come primo passo devi creare il tuo operatore Dialogflow. In pratica, in Dialogflow l’“operatore” è il bot che stai sviluppando. I suoi componenti principali sono gli intenti, che lo aiutano a identificare cosa vuole davvero fare l’utente.

Ciascun intento richiede una fase di addestramento (incentrata sui tanti modi diversi in cui gli utenti possono richiedere la stessa cosa) e, ovviamente, le risposte. (È buona norma creare sempre molteplici varianti delle risposte in modo da mantenere le conversazioni quanto più possibili naturali). Vai sulla console di Dialogflow e clicca per creare un nuovo operatore.

whatsapp dialogflow chatbot senza codice

Poi scegli il nome, il fuso orario e la lingua del tuo operatore.

dialogflow whatsapp

Una volta completata questa configurazione iniziale, puoi passare alla sezione degli intenti nel menu a sinistra e iniziare a creare gli intenti. Per gli scopi di questo articolo, abbiamo creato un semplice operatore che permette di prenotare e cancellare appuntamenti e controllare gli orari di apertura.

dialogflow construzione chatbot

In questa fase ci concentriamo solo sulla parte di creazione delle conversazioni per rispondere alle esigenze dell’utente e utilizzeremo Landbot per occuparci del resto (come le integrazioni).

2. Crea un bot in Landbot

Una volta aperto il pannello di controllo di Landbot dashboard, clicca semplicemente sul  pulsante “Build a Chatbot” (Crea un chatbot) nell’angolo in alto a destra dell’interfaccia. Nel pop-up per la selezione del canale, scegli semplicemente WhatsApp/Messenger.

Landbot diagoflow whatsapp

Completato questo passaggio verrai reindirizzato alla libreria dei modelli, ma non preoccuparti ancora di questo. Clicca invece sul pulsante “Start from Scratch” (Inizia da zero):

Landbot diagoflow whatsapp

Prima di accedere al riquadro principale appare un pop-up contenente le istruzioni su come configurare il canale di test WhatsApp che permette di testare il bot mentre viene costruito: 

Landbot diagoflow whatsapp

Se preferisci configurare il canale di test WhatsApp in seguito, clicca semplicemente su "Build a multi-channel bot” (Costruisci un bot multicanale)  per passare alla schermata di costruzione del bot:

3. Modifica la prima casella

L’editor di Landbot viene spesso utilizzato per creare bot strutturati e basati su regole estremamente potenti e flessibili, anche senza utilizzare la NLP.

Tuttavia, se vuoi utilizzare input naturali devi prima apportare alcune modifiche. La più importante è quella che permette all’utente di essere il primo a parlare.

Come mostrato nella sezione precedente, quando utilizzi l’editor per la prima volta, è già presente la casella di benvenuto “welcome”. Devi eliminarla subito.

Una volta fatto questo, apparirà la seguente schermata:

chatbot di landbot

Clicca sul riquadro e quando appare un menu pop-up, cerca la casella “Set Variable” (Imposta variabile):

Quando appare l’editor delle caselle sulla sinistra, imposta il campo “Create/Select a variable to modify” (Crea/Seleziona una variabile da modificare)  su  @welcome e nel campo “Type the Value”(Digita il valore)  scrivi ${body}

chatbot landbot whatsapp dialogflow

@welcome è la variabile dove viene salvato il primo valore inserito dall’utente per default. Impostando tale valore su ${body} stiamo dicendo al bot di riconoscere il testo libero che l’utente ha inviato su WhatsApp come primo messaggio di attivazione.

4. Integra l’operatore Dialogflow con Landbot

Ora è il momento di passare alla parte più interessante e integrare Dialogflow con WhatsApp utilizzando Landbot. Disegna una freccia che parte dalla casella “Set Variable” (Imposta variabile) e seleziona “Dialogflow” dal menu delle funzionalità:

chatbot landbot whatsapp dialogflow

Per proseguire devi effettuare l’upload della chiave JSON di Google Project del tuo operatore Dialogflow. Se non lo hai mai fatto prima, devi semplicemente tornare sulla console > Aprire le impostazioni dell’operatore  > Cliccare sul link nel campo “Service Account”:

dialogflow whatsapp

Verrai reinviato sulla piattaforma Google Cloud. Devi ora cliccare sull’icona con i tre puntini per aprire il menu delle opzioni e selezionare “Create key” (Crea chiave).

dialogblog chatbot

Una volta che appare una finestra pop-up, seleziona JSON e clicca su CREATE (CREA).

dialogflow

A questo punto puoi tornare sull’interfaccia Landbot ed effettuare l’upload del file. (Se tutto si è completato correttamente il segno di spunta nell’angolo in alto a destra assumerà un colore viola).

chatbot landbot whatsapp dialogflow

Nel secondo passaggio dovrai definire quali dati (input dell’utente) vuoi inviare da Landbot a Dialogflow. Dato che abbiamo già stabilito che l’input dell’utente verrà salvato nella variabile @welcome, la configurazione sarà la seguente:

chatbot landbot whatsapp dialogflow

Il passo numero 3 consiste nell’identificare quale tipo di dati vuoi reinviare da Dialogflow a Landbot. Ci sono due campi principali da definire:

  👉 la variabile nella quale vuoi salvare le risposte dell’operatore che hai definito in Dialogflow

  👉 le entità che vuoi prelevare da Dialogflow e inviare a Landbot (solo se applicabile)

 reinviare da Dialogflow a Landbot

Puoi andare comunque molto più in profondità. Attivando “Advanced Configuration” (Configurazione avanzata) nella parte alta dell’editor di caselle Dialogflow:

dialogflow landbot

Puoi sbloccare e configurare altri elementi chiave di Dialogflow, come contesto, carico e risposta ad una domanda:

  👉 Response variable (variabile risposta) invia la risposta dell’operatore da Dialogflow a Landbot.

  👉 Entities (Entità) ti aiuta a trasferire informazioni utili come data, orario, indirizzo, nazionalità e scelta del prodotto.

  👉 Output context (contesto output), payloads (carico) (altro per sviluppatori) e query response (risposta a una domanda) ti permettono, ad esempio, di salvare il contesto Dialogflow o il nome dell’intento che l’operatore ha identificato e usare queste informazioni per impostare delle condizioni e diversificare il flusso.

carico e risposta ad una domanda dialogflow landbot

5. Comprendi l’integrazione Dialogflow

Una volta completata la configurazione, clicca su SAVE (SALVA). Potrai notare come sulla casella di integrazione del chatbot Dialogflow sono presenti tre uscite diverse, che identificano un esito, contrassegnate dal colore verde, giallo e rosa:

dialogflow landbot

Il bot attiva l’uscita verde se l’intento è stato identificato correttamente, attiva l’uscita gialla se l’intento è stato identificato correttamente ma l’utente deve fornire una o più entità aggiuntive in modo che possa essere soddisfatto e attiva l’uscita rosa quando l’operatore non riesce a identificare l’intento (fallback). L’integrazione più semplice dell’operatore Dialogflow assume questo aspetto:

L’integrazione più semplice dell’operatore Dialogflow landbot

Disegna una freccia che parte da ognuna delle possibili uscite e seleziona la casella “Question: Text” (Testo domanda) e anziché una domanda statica inserisci la variabile che vuoi utilizzare per rappresentare le risposte dell’operatore DF (ad esempio @df_response). Salva la risposta dell’utente nella stessa variabile utilizzata in precedenza (@welcome); salva le modifiche e chiudi il percorso in modo che torni alla casella Dialogflow. Ripeti lo stesso procedimento per ogni casella ed è tutto.

Ad esempio, nella sequenza di prenotazione riportata di seguito, il bot identifica correttamente l’intento come un tentativo di effettuare una prenotazione. Tuttavia, dato che un’entità richiesta non è ancora presente, segue il percorso identificato in giallo. In questo modo, quando il ciclo della conversazione torna su Dialogflow, l’intento viene mantenuto e viene richiesta l’entità mancante. Solo dopo che entrambe le entità sono state identificate, l’utente vede la risposta finale. Configurazione Dialogflow:

dialogflow chatbot

Esperienza utente finale:

6. Usa i Params Brick (Raggruppamenti) di Dialogflow per operazioni più complesse

Oltre alle caselle individuali, Landbot offre anche dei raggruppamenti chiamati “Bricks” che puoi utilizzare per costruire un bot WhatsApp Dialogflow. I cosiddetti “Bricks” sono raggruppamenti di caselle che puoi salvare e riutilizzare quante volte desideri. Puoi creare i tuoi raggruppamenti personalizzati o utilizzare quelli, già costruiti, della libreria Landbot.

Uno dei raggruppamenti disponibili più utili quando si lavora con Dialogflow, è quello chiamato “Dialogflow Params”. È un raggruppamento predefinito che ti aiuta a ripulire e convertire dati avanzati di Dialogflow, come contesto di output, carico e risposte alle domande da un vettore a un formato che puoi utilizzare in Landbot. Effettua queste operazioni utilizzando formule che permettono calcoli e computazioni simili a quanto è possibile effettuare con Excel:

dialogflow whatsapp chatbot

Questo raggruppamento contiene 5 conversioni configurabili:

  • Dal vettore del contesto di output alla stringa del contesto di output
  • Dal carico a qualsiasi parametro di carico stai utilizzando
  • Dalla risposta alla domanda al nome dell’intento
  • Dalla risposta alla domanda al punteggio di confidenza
  • Dalla risposta alla domanda al codice linguaggio

Come possiamo utilizzare questi dati a nostro vantaggio?

Ad esempio, volevamo ottenere tutti gli intenti Dialogflow. Per questo abbiamo cancellato tutte le caselle del raggruppamento che non ci occorrono e abbiamo configurato solo quella che converte @query_response in @user_intent:

ottenere tutti gli intenti Dialogflow landbot

(Ricorda di creare la variabile di uscita - il raggruppamento suggerisce un nome ma devi comunque cliccare su “Create” per attivarla). Inoltre verifica di aver specificato i dati di uscita che vuoi convertire nella casella di integrazione Dialogflow.

integrazione Dialogflow landbot

Potresti aver notato che il raggruppamento Dialogflow Params contiene una grande casella Messaggio.

Come le note all’interno del raggruppamento suggeriscono, esiste solo a scopi di test e di risoluzione dei problemi. Per cui, una volta che sei sicuro che la formula che hai scelto funziona correttamente, puoi cancellarla. Qui sotto puoi vedere come il bot ha identificato correttamente “Hi” (Ciao) come “Default Welcome Intent” (Intento di default di benvenuto).

chatbot whatsapp dialogflow

Conoscere il nome dell’intento può aiutarti a configurare processi aggiuntivi in Landbot usando la logica condizionale.

Se la variabile @intent_name ASSUME IL VALORE “Make an Appointment” (Prenota un appuntamento) puoi modificare il flusso in modo che passi attraverso il tuo CRM o un'altra integrazione che invia una notifica Slack o tramite email per avvisarti del nuovo appuntamento. Ad esempio abbiamo deciso di utilizzare l’intento identificato e caricare i dati dell'appuntamento su un foglio di calcolo, prima di tornare indietro su Dialogflow:

Vedi tutto questo in azione:

Ciò detto, ci sono comunque anche molti altri modi in cui puoi sfruttare i parametri Dialogflow a tuo vantaggio.

Ad esempio, per migliorare:

👉 L’esperienza cliente reindirizzando tutti gli intenti rilevati con un valore di confidenza inferiore a 0,6 a un operatore umano

👉 La raccolta dati: una volta che un contesto viene identificato, puoi passare a un flusso basato su regole fino a quando non hai quello che ti occorre per minimizzare gli errori NLP e chiudere il percorso tornando su Dialogflow

  👉 L’esperienza utente, aggiungendo facilmente elementi interessanti alla conversazione come video, immagini e file e suddividendo le risposte del bot in bolle multiple senza dover scrivere del codice. (Ad esempio il tuo operatore DF riconosce l’intento come una richiesta di avere maggiori informazioni sulla tua azienda o su un prodotto. Fornisce una risposta, ma dato che anche la tua configurazione Landbot riconosce lo stesso intento, invia l’utente su un flusso che contiene un video o un messaggio audio personalizzato. Una volta che l’intento è stato soddisfatto il flusso torna sulla NLP per continuare la conversazione)

7. Ci sono sempre altri trucchi

Grazie a Landbot, puoi fare molto di più con il tuo assistente WhatsApp Dialogflow. Un buon esempio è il raggruppamento “Business Open/Closed” (Azienda aperta/chiusa). Utilizzando un webhook già configurato puoi reindirizzare i tuoi clienti quando ti contattano al di fuori degli orari di apertura. Tutto quello che devi fare è modificare gli orari di apertura all’interno del webhook per riflettere la situazione della tua azienda:

chatbot whatsapp dialogflow

Come puoi vedere, puoi facilmente identificare:

  • Fuso orario
  • Date di chiusura
  • Orari di apertura speciali in date selezionate
  • Orari di apertura generali
chatbot whatsapp dialogflow

Per configurare tutto questo collega l’uscita “Open” (Aperto) con il raggruppamento Human Takeover (Passa a un operatore umano) (esatto è davvero così semplice!) e crea un percorso alternativo per l’uscita “Closed” (Chiuso).

In questo caso stiamo chiedendo all’utente di lasciare un messaggio che verrà inviato al team sotto forma di email di notifica. Se i tuoi uffici sono aperti, il tuo operatore riceverà una notifica attraverso il gestore chat centralizzato multi-operatore.

Se l’azienda è aperta, dal punto di vista dell’utente il passaggio di consegne avviene così:

chatbot whatsapp dialogflow

Questa è la prospettiva dell’operatore:

chatbot whatsapp dialogflow

Se invece gli uffici sono chiusi, il bot segue un percorso diverso chiedendo all’utente di lasciare un messaggio o un ticket di cui il servizio clienti si occuperà alla riapertura:

chatbot whatsapp dialogflow conversacione

In conclusione...

Questo articolo avrebbe potuto essere molto più lungo, perché le possibilità sono davvero illimitate. Landbot ti fornisce l’opportunità unica di personalizzare e far salire di livello il tuo assistente basato sulla NLP senza dover spendere troppo tempo e denaro nel processo di sviluppo. Avrai la possibilità di trasformare la tua strategia di messaggistica WhatsApp in qualcosa di molto più potente ed efficace.

Gli sviluppatori di chatbot e i creatori che non amano scrivere codice hanno tutto da guadagnare dall’utilizzo di Landbot.

Se vuoi provare tutte queste funzioni registrati (gratuitamente - non è richiesta una carta di credito) e comincia il tuo periodo di prova gratuito!