Les chatbots deviennent un outil de plus en plus vital pour les entreprises à l'ère moderne. Avec les bons outils et le savoir-faire, les entreprises créent des agents de chat qui peuvent avoir de vraies conversations avec les clients.

Google Dialogflow ES est l'un des outils de création de chatbots les plus puissants et les plus gratuits du marché. Mais comment libérer tout son potentiel ?

Étape 1: Créez votre agent Dialogflow ES

La création de votre propre agent Dialogflow ES est la première étape de ce processus. N'importe quel compte Google fonctionne, et vous commencez par naviguer vers le Site Web Google Dialogflow ES. Cliquer sur Créer un agent une fois que vous vous êtes connecté et remplissez les détails dans le formulaire avant de cliquer Créer. Vous pouvez utiliser Dialogflow pour créer un chatbot pour se divertir, l'automatisation ou le service client. Ce projet couvre ce dernier.

Étape 2: Ajouter des intents de suivi Dialogflow

Le nouvel agent n'a qu'un intent d'accueil par défaut et un intent de secours par défaut. Une intention est un fragment ou une étape dans une conversation.

Vous devez ajouter deux intentions de suivi à l'intention de bienvenue par défaut existante pour commencer. Survolez le Intention de bienvenue par défaut, cliquer sur Ajouter une intention de suivi, et choisissez Oui dans le menu déroulant. Répétez le processus en sélectionnant Non dans le menu déroulant pour créer le deuxième intent de suivi.

L'intent Pas de suivi mettra fin à la conversation et dira au revoir à l'utilisateur. Ouvrez le Aucune intention de suivi et ajoutez une série de réponses textuelles pour mettre fin à la conversation. Activez le Définir cette intention comme fin de conversation glissière.

Revenez à l'écran principal des intentions et cliquez sur le Oui intention de suivi pour l'ouvrir.

Étape 3: Créer une liste de réponses Rich Dialogflow avec JSON

Maintenant que ces intentions sont configurées, il est temps de poser une question à l'utilisateur afin qu'il puisse y accéder. Ouvrez le Intention de bienvenue par défaut et Effacer les réponses qu'il a générées avec. Cliquez sur Ajouter des réponses et sélectionnez Charge utile personnalisée du menu.

Le code JSON ci-dessous ajoute deux types différents de réponses enrichies; infos et puces.

{
"contenuriche": [
[
{
"type": "puces",
"options": [
{
"text": "Oui"
},
{
"texte": "Non"
}
]
},
{
"image": {
"src": {
"rawUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png"
}
},
"title": "Parlez-moi de vous :)",
"subtitle": "Donnez-moi certaines de vos informations personnelles. Je vous l'enverrai dans un e-mail. C'est l'affaire; absolument aucune affaire amusante. Promettre! Vous êtes dedans ?",
"type": "infos"
}
]
]
}

Étape 4: Collecter le nom de l'utilisateur en tant que paramètre Dialogflow

Ensuite, il est temps d'ajouter une autre intention de suivi pour collecter des données auprès de l'utilisateur. Comme indiqué à l'étape 2, vous devriez déjà avoir une intention de suivi Oui qui demande le nom de l'utilisateur. Survolez le Oui intention de suivi dans le menu principal des intentions, cliquez sur Ajouter une intention de suivi, et sélectionnez Personnalisé de la liste.

Cela créera un nouvel intent de suivi sans aucune phrase d'entraînement. Accédez à la section Phrases d'entraînement, saisissez un nom dans la zone et appuyez sur Entrée pour l'ajouter en tant que nouvelle phrase. Cela déclenchera la création d'un nouveau paramètre avec le type d'entité @sys.person. Clique sur le @sys.person entité et changez-la en une @sys.given-name entité.

Cela stockera l'entrée de l'utilisateur afin que l'agent puisse l'utiliser. Dirigez-vous vers la section Réponses et ajoutez une réponse avec $prénom à l'intérieur. Cela appelle le paramètre de nom que vous avez collecté, lui permettant d'apparaître dans le chat.

Étape 5: Utiliser une charge utile personnalisée Dialogflow pour déclencher des intents

En restant dans l'intention de suivi que vous venez d'ajouter, cliquez sur Ajouter des réponses et sélectionnez Charge utile personnalisée dans la liste. L'ajout du code JSON ci-dessous à cette section déclenchera une réponse riche en liste demandant à l'utilisateur de choisir une couleur.

La partie la plus importante de ce code JSON est la section événement avec chaque entrée. Lorsque vous cliquez dessus, chaque élément de la liste appelle un événement appelé COLOR avec le nom et les paramètres de couleur qui ont été collectés jusqu'à présent. Les intentions peuvent être associées à des événements qui les déclencheront.

{
"richContent": [
[
{
"un événement": {
"languageCode": "fr",
"paramètres": {
"Nom": "$prénom",
"Couleur": "Rouge"
},
"Nom": "COULEUR"
},
"Titre": "Rouge",
"taper": "liste"
},
{
"taper": "diviseur"
},
{
"un événement": {
"Nom": "COULEUR",
"languageCode": "fr",
"paramètres": {
"Nom": "$prénom",
"Couleur": "Vert"
}
},
"taper": "liste",
"Titre": "Vert"
},
{
"taper": "diviseur"
},
{
"taper": "liste",
"Titre": "Bleu",
"un événement": {
"languageCode": "fr",
"Nom": "COULEUR",
"paramètres": {
"Nom": "$prénom",
"Couleur": "Bleu"
}
}
}
]
]
}

Étape 6: Déplacer les paramètres Dialogflow entre les intentions

Revenez au menu principal Intents et cliquez sur Créer une intention. Donnez un nom à votre nouvelle intention et entrez COULEUR dans la section des événements avant de cliquer Entrer.

Rendez-vous dans la section Phrases d'entraînement et ajoutez un nom et une couleur à la liste des phrases pour déclencher la création de nouveaux paramètres. Changer la @sys.person entité de paramètre à une @sys.given-name entité et assurez-vous que l'entité de couleur est définie sur @sys.color.

Vous pouvez maintenant ajouter des réponses en utilisant $given-name et $color pour que les entrées de l'utilisateur apparaissent dans la fenêtre de chat.

Enfin, revenez à la Contextes section en haut de la page et ajoutez une sortie avec un nom unique. Cela passera les paramètres de cette intention à la suivante.

Étape 7: collectez le pays et le numéro de téléphone de l'utilisateur en tant que paramètres Dialogflow

Revenez au menu principal Intents, survolez le Intention de couleur que vous venez de créer et cliquez sur Ajouter une intention de suivi. Vérifiez la section Contextes du nouvel intent. Assurez-vous qu'il inclut le contexte de couleur que vous avez créé à la dernière étape dans les sections d'entrée et de sortie. Ajoutez un autre contexte de sortie pour l'intention actuelle.

Allez à la Phrases d'entraînement section et ajoutez le nom d'un pays à la liste avant d'appuyer sur Entrer. Cela créera un nouveau paramètre. Remplacez le type d'entité du paramètre par @sys.geo-pays avant d'ajouter le paramètre à la section de réponse.

Revenez au menu principal Intents et créez un nouvel intent de suivi pour l'intent que vous venez de créer. Répétez les étapes que vous venez de suivre, mais utilisez un numéro de téléphone dans le Phrases d'entraînement section. Assurez-vous que le paramètre généré a un @sys.numéro-de-téléphone type d'entité.

Revenez au menu principal des intentions et créez deux nouvelles intentions de suivi pour l'intention que vous venez de créer; a Oui et Non intention de suivi. Vous pouvez définir l'intention Pas de suivi pour mettre fin à la conversation.

L'intent de suivi Oui doit avoir tous les contextes des intentions précédentes que vous avez créées.

Enfin, revenez au menu principal des intentions et créez une nouvelle intention de suivi pour l'intention de suivi Oui que vous venez de créer. Ajoutez une adresse e-mail à la section Phrases d'entraînement et assurez-vous que le paramètre généré a @sys.email comme type d'entité.

Allez à la Réponses section, cliquez sur Ajouter des réponses, et sélectionnez Charge utile personnalisée de la liste. Le code JSON suivant ajoutera une réponse enrichie de type liste qui appelle un événement appelé SENDEMAIL. Tous les paramètres utilisateur que vous avez demandés jusqu'à présent seront envoyés à cette intention.

{
"richContent": [
[
{
"Titre": "Envoyer un e-mail",
"un événement": {
"paramètres": {
"Nom": "#Color-followup.name",
"pays": "#Color-country-followup.country",
"e-mail": "$email",
"Couleur": "#Color-followup.color",
"téléphoner": "#Color-country-phonenum-followup.phone-number"
},
"Nom": "ENVOYERMAIL",
"languageCode": "fr"
},
"taper": "liste"
}
]
]
}

Étape 8: Envoyer un e-mail à l'aide de l'éditeur en ligne Node.js de Dialogflow

Cliquez sur Créer une intention dans le menu principal des intentions. Ajouter ENVOYERMAIL au Événements section et cliquez Entrer. Suivez ceci en ajoutant tous les paramètres que vous avez collectés au Action et paramètres section.

Allez à la Accomplissement section en bas de la page et activez le curseur intitulé Activer l'appel webhook pour cet intent. Cela vous permettra d'ajouter du code personnalisé à cette intention.

Sélectionner Accomplissement dans le menu principal à gauche de la page et activez le curseur pour activer le Éditeur en ligne. Vous devrez peut-être ajouter un compte de facturation à votre projet Google pour ce faire.

Clique sur le package.json onglet et faites défiler jusqu'au bas du fichier. Remplacez la section des dépendances par le code suivant pour ajouter l'API Nodemailer à votre projet.

"dépendances": {
"actions-sur-google": "^2.2.0",
"firebase-admin": "^5.13.1",
"firebase-fonctions": "^2.0.2",
"flux de dialogue": "^0.6.0",
"nodemailer": "^4.4.2",
"dialogflow-fulfillment": "^0.5.0"
}

Revenez au fichier index.js et remplacez le code existant par l'exemple trouvé sur ce projet CodePen avant de cliquer Déployer. Vous devrez remplacer les identifiants Gmail par ceux de votre propre compte. Vous devez utiliser un mot de passe d'application pour cela. Une fois terminé, votre chatbot enverra par e-mail tous les détails que vous collectez à l'utilisateur à la fin d'une conversation réussie. Tu peux en savoir plus sur Node.js et comment l'utiliser avec notre guide pratique.

Utiliser Dialogflow ES sur votre site Web

Votre nouveau chatbot peut collecter des informations sur les utilisateurs et envoyer des e-mails, mais Dialogflow ES peut faire bien plus encore. Vous pouvez connecter à peu près n'importe quelle API à ce service, et vous pouvez utiliser l'API Dialogflow pour contrôler votre chatbot sur votre propre site Web.