Byg en chatbot til at sende e-mail med Google Dialogflow

Byg en chatbot til at sende e-mail med Google Dialogflow

​​​​​Chatbots bliver et stadig vigtigere værktøj for virksomheder i den moderne tidsalder. Med de rigtige værktøjer og knowhow skaber virksomheder chatagenter, der kan føre rigtige samtaler med kunderne.





Google Dialogflow ES er et af markedets mest kraftfulde – og gratis – chatbot-opbygningsværktøjer. Men hvordan kan du frigøre dets fulde potentiale?





ps4 controller ikke tilsluttet ps4
MAKEUSE AF DAGENS VIDEO

Trin 1: Opret din Dialogflow ES-agent

Oprettelse af din egen Dialogflow ES-agent er det første trin i denne proces. Enhver Google-konto virker, og du starter med at navigere til Google Dialogflow EN hjemmeside . Klik på Opret agent når du er logget ind og udfylder detaljerne i formularen inden du klikker skab . Du kan bruge Dialogflow til oprette en chatbot til underholdning , automatisering eller kundeservice. Dette projekt dækker sidstnævnte.





  oprette dialogflow es agent

Trin 2: Tilføj Dialogflow-opfølgningsintentioner

Den nye agent har kun en standard velkomsthensigt og en standard fallback-hensigt. En hensigt er et fragment eller et stadie i en samtale.

Du skal tilføje to opfølgende hensigter til den eksisterende standardvelkomsthensigt for at komme i gang. Hold markøren over Standard velkomsthensigt , Klik på Tilføj opfølgende hensigt , og vælg Ja fra rullemenuen. Gentag processen ved at vælge Nej i rullemenuen for at oprette den anden opfølgende hensigt.



  ja og nej opfølgende hensigter

Hensigten med ingen opfølgning vil afslutte samtalen og sige farvel til brugeren. Åbn Ingen opfølgende hensigt og tilføje en række tekstsvar for at afslutte samtalen. Aktiver Indstil denne hensigt som afslutningen på samtalen skyderen.

  dialogflow samtale slut hensigt

Gå tilbage til hovedskærmbilledet Intents og klik på Ja opfølgende hensigt at åbne den.





Trin 3: Byg en rig dialogflow-svarliste med JSON

Nu du har disse hensigter sat op, er det tid til at stille brugeren et spørgsmål, så de kan komme til dem. Åbn Standard velkomsthensigt og Slet de svar, det genererede med. Klik Tilføj svar og vælg Brugerdefineret nyttelast fra menuen.

  velkommen hensigt tilpasset nyttelast

JSON-koden nedenfor tilføjer to forskellige typer rich responses; info og chips.





{ 
"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"
}
]
]
}

Trin 4: Indsaml brugerens navn som en Dialogflow-parameter

Dernæst er det tid til at tilføje endnu en opfølgende hensigt om at indsamle data fra brugeren. Som beskrevet i trin 2 bør du allerede have en Ja-opfølgningshensigt, der beder om brugerens navn. Hold markøren over Ja opfølgende hensigt Klik på i hovedmenuen Tilføj opfølgende hensigt , og vælg Brugerdefinerede fra listen.

  vælg ja opfølgningshensigt

Dette vil skabe en ny opfølgningsintention uden træningssætninger. Gå til afsnittet Træningssætninger, skriv et navn i feltet, og tryk på Enter for at tilføje det som en ny sætning. Dette vil udløse oprettelsen af ​​en ny parameter med entitetstypen @sys.person. Klik på @sys.person enhed og ændre den til en @sys.given-name enhed.

  dialogflow givet navn parameterindstilling

Dette vil gemme brugerens input, så agenten kan bruge det. Gå til sektionen Svar og tilføj et svar med $fornavn inde i den. Dette kalder den navneparameter, du har indsamlet, så den kan vises i chatten.

hvordan man konverterer en kindle bog til pdf
  dialogflow navn parameter svar

Trin 5: Brug en Dialogflow Custom Payload til at udløse hensigter

Forbliv inden for den opfølgende hensigt, du lige har tilføjet, klik på Tilføj svar og vælg Custom Payload fra listen. Tilføjelse af JSON-koden nedenfor til denne sektion vil udløse et listefyldt svar, der beder brugeren om at vælge en farve.

  dialogflow rig indholdsliste

Den vigtigste del af denne JSON-kode er begivenhedssektionen med hver indgang. Når der klikkes på, kalder hvert listeelement en hændelse kaldet COLOR med de navn og farveparametre, der er blevet indsamlet indtil videre. Hensigter kan have hændelser tildelt dem, som vil udløse 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"
}
}
}
]
]
}

Trin 6: Flyt Dialogflow-parametre mellem hensigter

Gå tilbage til hovedmenuen Intents og klik på Opret hensigt . Giv din nye hensigt et navn og indtast FARVE i begivenhedssektionen, før du slår Gå ind .

  farvehensigt med begivenhed

Gå til afsnittet Træningssætninger og tilføj et navn og en farve til listen over sætninger for at udløse oprettelsen af ​​nye parametre. Skift @sys.person parameterenhed til en @sys.given-name enhed og sørg for, at farveenheden er indstillet til @sys.color .

  farvetræning og parametre

Du kan nu tilføje nogle svar ved hjælp af $given-name og $color for at få brugerens input til at blive vist i chatvinduet.

  farvehensigtssvar med parametre

Gå endelig tilbage til Kontekster sektionen øverst på siden og tilføje et output med et unikt navn. Dette vil overføre parametrene fra denne hensigt til den næste.

  farvehensigtsoutputkontekst

Trin 7: Indsaml brugerens land og telefonnummer som Dialogflow-parametre

Gå tilbage til hovedmenuen Intents, hold musemarkøren over Farve hensigt du lige har oprettet, og klik på Tilføj opfølgende hensigt . Tjek afsnittet Kontekster i den nye hensigt. Sørg for, at den inkluderer den farvekontekst, du oprettede i det sidste trin i både input- og outputsektionerne. Tilføj endnu en outputkontekst for den aktuelle hensigt.

  dialogflow farve land opfølgning hensigt

Gå til Træningssætninger sektion og tilføj navnet på et land til listen, før du trykker Gå ind . Dette vil oprette en ny parameter. Skift parameterens enhedstype til @sys.geo-country før du tilføjer parameteren til svarsektionen.

  lande træning og parametre

Gå tilbage til hovedmenuen Intents og opret en ny opfølgende hensigt til den hensigt, du lige har oprettet. Gentag de trin, du lige har taget, men brug et telefonnummer i Træningssætninger afsnit. Sørg for, at den genererede parameter har en @sys.telefonnummer enhedstype.

  telefonnummer træning og parametre

Gå tilbage til hovedmenuen Intents og opret to nye opfølgende hensigter for den hensigt, du lige har oprettet; a Ja og Nej opfølgende hensigt. Du kan indstille intentionen Ingen opfølgning for at afslutte samtalen.

  telefonnummer ja nej opfølgninger

Ja-opfølgningsintentionen skal have alle sammenhænge fra de tidligere hensigter, du har oprettet.

der er ingen internetforbindelse din computer er offline
  følge op på inputkontekster

Til sidst skal du gå tilbage til hovedmenuen Intents og oprette en ny opfølgende hensigt til den Ja-opfølgningsintention, du lige har oprettet. Tilføj en e-mailadresse til afsnittet Træningssætninger, og sørg for, at den genererede parameter har @sys.e-mail som dens enhedstype.

  dialogflow email parameter

Gå til Svar sektion, klik Tilføj svar , og vælg Brugerdefineret nyttelast fra listen. Følgende JSON-kode tilføjer et listetype rigt svar, der kalder en hændelse kaldet SENDEMAIL. Alle de brugerparametre, du har bedt om indtil videre, vil blive sendt til dette formål.

{ 
"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"
}
]
]
}

Trin 8: Send en e-mail ved hjælp af Dialogflow Node.js Inline Editor

Klik Opret hensigt i hovedmenuen Intents. Tilføje SEND E-MAIL til Begivenheder sektion og hit Gå ind . Følg dette ved at tilføje alle de parametre, du har indsamlet til Handling og parametre afsnit.

  e-mail begivenhed og parametre

Gå til Opfyldelse sektionen nederst på siden og aktiver skyderen mærket Aktiver webhook-opkald for denne hensigt . Dette vil give dig mulighed for at tilføje tilpasset kode til denne hensigt.

  dialogflow hensigtsopfyldelse

Vælg Opfyldelse fra hovedmenuen til venstre på siden og aktiver skyderen for at aktivere Inline Editor . Du skal muligvis tilføje en faktureringskonto til dit Google-projekt for at gøre dette.

  dialogflow aktiv inline editor

Klik på package.json fanen og rul til bunden af ​​filen. Erstat afhængighedsafsnittet med følgende kode for at tilføje Nodemailer API til dit 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å tilbage til filen index.js og erstat den eksisterende kode med eksemplet fundet på dette CodePen-projekt før du klikker Indsætte . Du skal erstatte Gmail-legitimationsoplysningerne med dem på din egen konto. Du skal bruge en app-adgangskode til dette. Når du er færdig, sender din chatbot alle de oplysninger, du indsamler, til brugeren ved afslutningen af ​​en vellykket samtale. Du kan få mere at vide om Node.js og hvordan du bruger det med vores praktiske guide.

Brug af Dialogflow ES på dit websted

Din nye chatbot kan indsamle brugeroplysninger og sende e-mails, men Dialogflow ES kan så meget mere. Du kan forbinde stort set enhver API til denne tjeneste, og du kan bruge Dialogflow API til at styre din chatbot på din egen hjemmeside.