Créer un module complémentaire Google Chat avec Dialogflow ES

Cette page explique comment créer une application Google Chat en tant que module complémentaire Google Workspace qui utilise Dialogflow ES pour comprendre le langage naturel et y répondre. Vous pouvez également utiliser Dialogflow CX, qui est directement intégré à Google Chat, pour créer une application Google Chat Dialogflow CX en suivant le guide Google Chat Dialogflow CX.

Objectifs

  • configurer votre environnement ;
  • créer et déployer un agent Dialogflow ES ;
  • créer et déployer une application Chat basée sur l'agent Dialogflow ES ;
  • tester l'application Chat.

Prérequis

Architecture

Le schéma suivant montre l'architecture d'une application Chat créée avec Dialogflow :

Architecture d'une application de chat implémentée avec Dialogflow.

Dans le schéma précédent, un utilisateur interagissant avec une application Chat Dialogflow suit le flux d'informations suivant :

  1. Un utilisateur envoie un message dans Chat à une application Chat, en passant par un message privé ou un espace Chat.
  2. Un agent virtuel Dialogflow, qui réside dans , reçoit et traite le message pour produire une réponse.
  3. Éventuellement, à l'aide d'un webhook Dialogflow, l'agent Dialogflow peut interagir avec des services tiers externes, tels qu'un système de gestion de projet ou un outil de gestion des tickets.
  4. L'agent Dialogflow renvoie une réponse au service d'application Chat dans Chat.
  5. La réponse est envoyée à l'espace Chat.

Configurer l'environnement

Avant d'utiliser les API Google, vous devez les activer dans un projet Google Cloud. Vous pouvez activer une ou plusieurs API dans un même projet Google Cloud.
  1. Dans la console Google APIs, activez l'API Google Chat et l'API Dialogflow.

    Activer les API

  2. Vérifiez que vous activez les API dans le bon projet Cloud, puis cliquez sur Suivant.

  3. Vérifiez que vous activez les bonnes API, puis cliquez sur Activer.

Créer un agent Dialogflow ES

Si vous ne disposez pas d'agent Dialogflow ES existant :

  1. Accédez à la console Dialogflow ES.
  2. Cliquez sur Create Agent (Créer un agent).
  3. Attribuez-lui un nom, sélectionnez une langue par défaut et un fuseau horaire.
  4. Associez-le à votre projet Cloud.
  5. Cliquez sur Créer.
  6. Créez vos intents et entités en fonction des besoins de votre flux de conversation d'application Chat. Vous pouvez commencer par un intent de salutation.
  7. Notez votre ID de projet.

Pour obtenir un guide détaillé, consultez Créer un agent.

Créer une application Chat et l'associer à l'agent Dialogflow

Après avoir créé un agent Dialogflow ES, procédez comme suit pour le transformer en application Chat :

  1. Dans la console Google APIs, accédez à l'API Google Chat. Recherchez "API Google Chat" et cliquez sur API Google Chat, puis sur Gérer.

    Accéder à l'API Chat

  2. Cliquez sur Configuration et configurez l'application Chat :

    1. Dans Nom de l'application, saisissez Dialogflow App.
    2. Dans URL de l'avatar, saisissez https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.
    3. Dans Description, saisissez Responds to real human conversation.
    4. Sous Fonctionnalité, sélectionnez Rejoindre des espaces et des conversations de groupe.
    5. Sous Paramètres de connexion, sélectionnez Dialogflow.
    6. Sous Paramètres Dialogflow, sélectionnez Dialogflow ES.
    7. Rendez cette application Chat accessible à certains utilisateurs et groupes de votre domaine, puis saisissez votre adresse e-mail.
    8. Sous Journaux, sélectionnez Enregistrer les erreurs dans Logging.
  3. Cliquez sur Enregistrer.

L'application Chat est prête à recevoir des messages dans Chat et à y répondre.

Tester l'application Chat

Testez l'application Chat Dialogflow ES en lui envoyant un message dans Google Chat.

  1. Ouvrez Google Chat à l'aide du compte Google Workspace que vous avez fourni lorsque vous vous êtes ajouté en tant que testeur de confiance.

    Accéder à Google Chat

  2. Cliquez sur Nouveau chat.
  3. Dans le champ Ajouter une ou plusieurs personnes, saisissez le nom de votre application Chat.
  4. Sélectionnez votre application Chat dans les résultats. Un message privé s'ouvre.

  5. Dans le nouveau message privé contenant l'application, saisissez Hello et appuyez sur enter.

    L'application Chat Dialogflow répond par un message de salutation.

Réponses textuelles

Les réponses textuelles sont envoyées à Google Chat sous forme de messages texte. Avec cette mise en forme, vous pouvez mettre le texte en gras ou en italique en l'encapsulant dans certains symboles (réduction claire).

La réponse au message texte se présente visuellement comme la réponse textuelle par défaut dans la console Dialogflow. Cependant, la réponse de l'API brute sera légèrement différente. Elle définit également la configuration de la plate-forme sur GOOGLE_HANGOUTS, ce qui peut être utile pour créer des agents pour plusieurs intégrations.

"fulfillmentMessages": [
{
   "text": {
   "text": [
        "This is a test."
   ]
},
  "platform": "GOOGLE_HANGOUTS"
},

Cartes

Les réponses sous forme de cartes sont envoyées à Google Chat sous forme de messages de carte.

Images

Les réponses sous forme d'images sont envoyées à Google Chat sous forme de widgets d'image Google Chat.

Charge utile personnalisée

Pour envoyer d'autres types de messages Google Chat, vous pouvez utiliser une charge utile personnalisée.

La charge utile personnalisée de Google Chat vous permet de créer des cartes plus avancées. Une carte peut comporter une ou plusieurs sections. Chaque section peut avoir un en-tête. Vous pouvez consulter le guide de référence sur les cartes d'extension de module complémentaire Google Workspace pour découvrir certaines des combinaisons que vous pouvez créer avec ce produit. Cependant, si vous utilisez des charges utiles personnalisées, vous devrez fournir le format JSON.

Voici un exemple de charge utile personnalisée pour créer un message avec une carte :

{ "hangouts": { "hostAppDataAction": { "chatDataAction": {
  "createMessageAction": { "message": { "cardsV2": [{
    "cardId": "pizza",
    "card": {
      "header": {
        "title": "Pizza Delivery Customer Support",
        "subtitle": "pizzadelivery@example.com",
        "imageUrl": "https://goo.gl/aeDtrS"
      },
      "sections": [{ "widgets": [{ "textParagraph": {
        "text": " Your pizza is here!"
      }}]}]
    }
  }]}}
}}}}

Limites et points à noter

  • Lorsque vous utilisez des modules complémentaires Google Workspace avec Dialogflow, les objets d'événement Chat présentent les limites et points à noter suivants :
    • Événements de la page d'accueil de l'application : la compatibilité avec les événements APP_HOME n'est pas encore disponible.
    • Entrée de requête Dialogflow : le texte envoyé en tant qu'entrée de requête à l'agent Dialogflow dépend du type d'événement :
      • MESSAGE : valeur du champ argumentText du message Chat.
      • APP_COMMAND: La chaîne "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE: un événement de bienvenue par défaut est envoyé.
      • REMOVED_FROM_SPACE: La chaîne "REMOVED_FROM_SPACE_PAYLOAD".
      • CARD_CLICKED: La chaîne "BUTTON_CLICKED_PAYLOAD".
      • WIDGET_UPDATED: chaîne "WIDGET_UPDATED_PAYLOAD" (utilisée pour la saisie semi-automatique).
    • Charge utile complète de l'événement : la charge utile JSON complète de l'événement d'interaction Chat est envoyée à Dialogflow dans le champ WebhookRequest.payload. Vous pouvez y accéder dans votre webhook Dialogflow. Pour en savoir plus, consultez la documentation sur la requête de webhook Dialogflow ES.
  • Points à noter pour répondre aux commandes et recevoir des données à partir de cartes ou de boîtes de dialogue :
  • Les aperçus de liens ne sont pas compatibles.
  • Si l'agent Dialogflow ne répond qu'avec un seul message, celui-ci est envoyé à Google Chat de manière synchrone. Si l'agent Dialogflow répond avec plusieurs messages, tous les messages sont envoyés à Chat de manière asynchrone en appelant la create méthode sur la spaces.messages ressource dans l'API Chat une fois pour chaque message.
  • Lorsque vous utilisez l'intégration Dialogflow ES avec Chat, l'agent Dialogflow et l'application Chat doivent être configurés dans le même projet Google Cloud.

Résoudre les problèmes

Pour déboguer votre application Chat, commencez par examiner les journaux d'erreurs. Étant donné que cette application utilise Dialogflow, vous disposez de plusieurs ressources de journalisation et de dépannage :

Effectuer un nettoyage

Pour éviter que les ressources utilisées lors de ce tutoriel ne soient facturées sur votre compte, nous vous recommandons de supprimer le projet Cloud.

  1. Dans la console Google APIs, accédez à la page Gérer les ressources. Cliquez sur Menu > IAM et administration > Gérer les ressources.

    Accéder au gestionnaire de ressources

  2. Dans la liste des projets, sélectionnez celui que vous souhaitez supprimer, puis cliquez sur Supprimer .
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.
  • Dialogflow CX est une autre façon d'utiliser Dialogflow avec une application Chat.