Bygg en chatbot som skickar e-post med Google Dialogflow

Bygg en chatbot som skickar e-post med Google Dialogflow

​​​​​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?





MAKEUSE AV DAGENS VIDEO

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 EN 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.





hur man lägger till sociala medialänkar till youtube
  skapa dialogflow es agent

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 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.



  ja och nej uppföljningsavsikter

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.

  dialogflow konversation slutavsikt

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.

  välkommen avsikt anpassad nyttolast

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





{ 
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Yes"
},
{
"text": "No"
}
]
},
{
"image": {
"src": {
"rawUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png"
}
},
"title": "Tell me about yourself :)",
"subtitle": "Give me some of your personal information. I'll send it to you in an email. That's the deal; absolutely no funny business. Promise! You in?",
"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öljningsavsikt och välj Beställnings från listan.

  välj ja uppföljningsavsikt

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.

  dialogflow given namn parameterinställning

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.

  dialogflödesnamn parametersvar

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.

  dialogflow rik innehållslista

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.

{ 
"richContent": [
[
{
"event": {
"languageCode": "en",
"parameters": {
"name": "$given-name",
"color": "Red"
},
"name": "COLOR"
},
"title": "Red",
"type": "list"
},
{
"type": "divider"
},
{
"event": {
"name": "COLOR",
"languageCode": "en",
"parameters": {
"name": "$given-name",
"color": "Green"
}
},
"type": "list",
"title": "Green"
},
{
"type": "divider"
},
{
"type": "list",
"title": "Blue",
"event": {
"languageCode": "en",
"name": "COLOR",
"parameters": {
"name": "$given-name",
"color": "Blue"
}
}
}
]
]
}

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å .

  färgämne med händelse

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 .

  färgträning och parametrar

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

  färgavsiktssvar med parametrar

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.

  utdatakontext för färgavsikt

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.

  dialogflöde färg land uppföljning avsikt

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.

  landsträning och parametrar

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.

  telefonnummer utbildning och parametrar

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.

  telefonnummer ja nej uppföljningar

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

  följa upp ingångssammanhang

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.

  dialogflow e-postparameter

Gå till Svar avsnitt, klicka Lägg till svar och 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.

{ 
"richContent": [
[
{
"title": "Send Email",
"event": {
"parameters": {
"name": "#Color-followup.name",
"country": "#Color-country-followup.country",
"email": "$email",
"color": "#Color-followup.color",
"phone": "#Color-country-phonenum-followup.phone-number"
},
"name": "SENDEMAIL",
"languageCode": "en"
},
"type": "list"
}
]
]
}

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.

  e-posthändelse och parametrar

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.

  dialogflow avsiktsuppfyllelse

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.

  dialogflow aktiv inline editor

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.

"dependencies": { 
"actions-on-google": "^2.2.0",
"firebase-admin": "^5.13.1",
"firebase-functions": "^2.0.2",
"dialogflow": "^0.6.0",
"nodemailer": "^4.4.2",
"dialogflow-fulfillment": "^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.