Chatbots blir ett allt viktigare verktyg för företag i modern tid. Med rätt verktyg och kunnande skapar företag chattagenter som kan ha riktiga samtal med kunder.

Google Dialogflow ES är ett av marknadens mest kraftfulla – och gratis – verktyg för att bygga chattbotar. Men hur kan du frigöra dess fulla potential?

Steg 1: Skapa din Dialogflow ES Agent

Att skapa din egen Dialogflow ES-agent är det första steget i denna process. Alla Google-konton fungerar, och du börjar med att navigera till Google Dialogflow ES webbplats. Klicka på Skapa agent när du har loggat in och fyll i uppgifterna i formuläret innan du klickar Skapa. Du kan använda Dialogflow för att skapa en chatbot för underhållning, automation eller kundtjänst. Detta projekt täcker det senare.

Steg 2: Lägg till Dialogflow-uppföljningsavsikter

Den nya agenten har bara en förinställd välkomstavsikt och en förinställd reservavsikt. En avsikt är ett fragment eller steg i en konversation.

Du måste lägga till två uppföljningsavsikter till den befintliga förinställda välkomstavsikten för att komma igång. Håll muspekaren över

instagram viewer
Standardinställning för välkomst, Klicka på Lägg till uppföljningsavsikt, och plocka Ja från rullgardinsmenyn. Upprepa processen genom att välja Nej från rullgardinsmenyn för att skapa den andra uppföljningsavsikten.

Avsikten Ingen uppföljning kommer att avsluta konversationen och säga adjö till användaren. Öppna Ingen uppföljningsavsikt och lägg till en serie textsvar för att avsluta konversationen. Aktivera Ställ in denna avsikt som slutet på konversationen reglaget.

Gå tillbaka till huvudskärmen Intents och klicka på Ja uppföljningsavsikt för att öppna den.

Steg 3: Bygg en rik dialogflödes-svarslista med JSON

Nu har du ställt in dessa avsikter, det är dags att ställa en fråga till användaren så att de kan komma till dem. Öppna Standardinställning för välkomst och Radera svaren den genererade med. Klick Lägg till svar och välj Anpassad nyttolast från menyn.

JSON-koden nedan lägger till två olika typer av avancerade svar; info och marker.

{
"richContent": [
[
{
"type": "chips",
"alternativ": [
{
"text": "Ja"
},
{
"text": "Nej"
}
]
},
{
"bild": {
"src": {
"rawUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png"
}
},
"title": "Berätta om dig själv :)",
"subtitle": "Ge mig en del av din personliga information. Jag skickar det till dig i ett mejl. Det är affären; absolut ingen rolig affär. Löfte! Är du med?",
"type": "info"
}
]
]
}

Steg 4: Samla in användarens namn som en dialogflödesparameter

Därefter är det dags att lägga till ytterligare en uppföljningsavsikt för att samla in data från användaren. Som beskrivs i steg 2 bör du redan ha ett Ja-uppföljningsavsikt som ber om användarens namn. Håll muspekaren över Ja uppföljningsavsikt Klicka på i huvudmenyn Lägg till uppföljningsavsiktoch välj Beställnings från listan.

Detta kommer att skapa en ny uppföljningsavsikt utan några träningsfraser. Gå till avsnittet Utbildningsfraser, skriv ett namn i rutan och tryck på Enter för att lägga till det som en ny fras. Detta kommer att utlösa skapandet av en ny parameter med entitetstypen @sys.person. Klicka på @sys.person enhet och ändra den till en @sys.given-name entitet.

Detta kommer att lagra användarens indata så att agenten kan använda den. Gå till avsnittet Svar och lägg till ett svar med $förnamn innuti. Detta anropar namnparametern du har samlat in, vilket gör att den visas i chatten.

Steg 5: Använd en Dialogflow Custom Payload för att utlösa avsikter

Håll dig inom uppföljningsavsikten du just lade till, klicka på Lägg till svar och välj Anpassad nyttolast från listan. Om du lägger till JSON-koden nedan i det här avsnittet utlöses ett listrikt svar som ber användaren att välja en färg.

Den viktigaste delen av denna JSON-kod är händelsesektionen med varje post. När du klickar på den anropar varje listobjekt en händelse som heter COLOR med namn och färgparametrar som har samlats in hittills. Avsikter kan ha händelser tilldelade dem som kommer att utlösa dem.

{
"rikt innehåll": [
[
{
"händelse": {
"språkkod": "sv",
"parametrar": {
"namn": "$förnamn",
"Färg": "Röd"
},
"namn": "FÄRG"
},
"titel": "Röd",
"typ": "lista"
},
{
"typ": "delare"
},
{
"händelse": {
"namn": "FÄRG",
"språkkod": "sv",
"parametrar": {
"namn": "$förnamn",
"Färg": "Grön"
}
},
"typ": "lista",
"titel": "Grön"
},
{
"typ": "delare"
},
{
"typ": "lista",
"titel": "Blå",
"händelse": {
"språkkod": "sv",
"namn": "FÄRG",
"parametrar": {
"namn": "$förnamn",
"Färg": "Blå"
}
}
}
]
]
}

Steg 6: Flytta dialogflödesparametrar mellan avsikter

Gå tillbaka till huvudmenyn Intents och klicka på Skapa avsikt. Ge din nya avsikt ett namn och skriv in FÄRG i händelsesektionen innan du slår Stiga på.

Gå till avsnittet Utbildningsfraser och lägg till ett namn och en färg i listan med fraser för att utlösa skapandet av nya parametrar. Ändra @sys.person parameter entitet till en @sys.given-name entitet och se till att färgentiteten är inställd på @sys.color.

Du kan nu lägga till några svar med $given-name och $color så att användarens inmatningar visas i chattfönstret.

Slutligen, gå tillbaka till Sammanhang avsnittet högst upp på sidan och lägg till en utdata med ett unikt namn. Detta kommer att överföra parametrarna från denna avsikt till nästa.

Steg 7: Samla in användarens land och telefonnummer som dialogflödesparametrar

Gå tillbaka till huvudmenyn Intents, håll muspekaren över Färgavsikt du just skapat och klicka på Lägg till uppföljningsavsikt. Kontrollera avsnittet Kontexter i den nya avsikten. Se till att den inkluderar färgkontexten som du skapade i det sista steget i både inmatnings- och utdatasektionerna. Lägg till en annan utdatakontext för den aktuella avsikten.

Gå till Träningsfraser och lägg till namnet på ett land i listan innan du trycker Stiga på. Detta skapar en ny parameter. Ändra parameterns enhetstyp till @sys.geo-country innan du lägger till parametern i svarssektionen.

Gå tillbaka till huvudmenyn för avsikter och skapa en ny uppföljningsavsikt för den avsikt du just skapade. Upprepa stegen du just har tagit, men använd ett telefonnummer i Träningsfraser sektion. Se till att den genererade parametern har en @sys.telefonnummer Entitetstyp.

Gå tillbaka till huvudmenyn för avsikter och skapa två nya uppföljningsavsikter för den avsikt du just skapade; a Ja och Nej uppföljningsavsikt. Du kan ställa in avsikten Ingen uppföljning för att avsluta konversationen.

Ja-uppföljningsavsikten måste ha alla sammanhang från de tidigare avsikter du har skapat.

Slutligen, gå tillbaka till huvudmenyn Intents och skapa en ny uppföljningsavsikt för Ja-uppföljningsavsikten du just skapade. Lägg till en e-postadress i avsnittet Utbildningsfraser och se till att den genererade parametern har @sys.e-post som dess enhetstyp.

Gå till Svar avsnitt, klicka Lägg till svaroch välj Anpassad nyttolast från listan. Följande JSON-kod lägger till ett rikt svar av listtyp som anropar en händelse som heter SENDEMAIL. Alla användarparametrar du har bett om hittills kommer att skickas till detta syfte.

{
"rikt innehåll": [
[
{
"titel": "Skicka epost",
"händelse": {
"parametrar": {
"namn": "#Color-followup.name",
"Land": "#Color-country-followup.country",
"e-post": "$e-post",
"Färg": "#Color-followup.color",
"telefon": "#Color-country-phonenum-followup.phone-number"
},
"namn": "SKICKA EPOST",
"språkkod": "sv"
},
"typ": "lista"
}
]
]
}

Steg 8: Skicka ett e-postmeddelande med Dialogflow Node.js Inline Editor

Klick Skapa avsikt i huvudmenyn Intents. Lägg till SKICKA EPOST till evenemang avsnitt och träffa Stiga på. Följ detta genom att lägga till alla parametrar du har samlat in i Åtgärd och parametrar sektion.

Gå till Uppfyllelse sektionen längst ner på sidan och aktivera skjutreglaget märkt Aktivera webhook-samtal för detta syfte. Detta gör att du kan lägga till anpassad kod till denna avsikt.

Välj Uppfyllelse från huvudmenyn till vänster på sidan och aktivera reglaget för att aktivera Inline Editor. Du kan behöva lägga till ett faktureringskonto i ditt Google-projekt för att göra detta.

Klicka på package.json fliken och bläddra till botten av filen. Ersätt beroendesektionen med följande kod för att lägga till Nodemailer API till ditt projekt.

"beroenden": {
"actions-on-google": "^2.2.0",
"firebase-admin": "^5.13.1",
"firebase-funktioner": "^2.0.2",
"dialogflöde": "^0.6.0",
"nodemailer": "^4.4.2",
"dialogflödesuppfyllelse": "^0.5.0"
}

Gå tillbaka till filen index.js och ersätt den befintliga koden med exemplet som finns på detta CodePen-projekt innan du klickar Distribuera. Du måste ersätta Gmail-uppgifterna med de för ditt eget konto. Du måste använda ett applösenord för detta. När den är klar kommer din chatbot att skicka alla detaljer du samlar in via e-post till användaren i slutet av en lyckad konversation. Du kan läs mer om Node.js och hur du använder den med vår praktiska guide.

Använda Dialogflow ES på din webbplats

Din nya chatbot kan samla in användarinformation och skicka e-post, men Dialogflow ES kan göra så mycket mer. Du kan ansluta nästan vilket API som helst till den här tjänsten, och du kan använda Dialogflow API för att styra din chatbot på din egen webbplats.