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.
Poi scegli il nome, il fuso orario e la lingua del tuo operatore.
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.
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.
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):
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:
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:
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}
@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à:
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”:
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).
Una volta che appare una finestra pop-up, seleziona JSON e clicca su CREATE (CREA).
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).
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:
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)
Puoi andare comunque molto più in profondità. Attivando “Advanced Configuration” (Configurazione avanzata) nella parte alta dell’editor di caselle Dialogflow:
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.
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:
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:
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:
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:
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:
(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.
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).
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:
Come puoi vedere, puoi facilmente identificare:
- Fuso orario
- Date di chiusura
- Orari di apertura speciali in date selezionate
- Orari di apertura generali
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ì:
Questa è la prospettiva dell’operatore:
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:
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!