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éez et déployez un agent Dialogflow ES.
  • Créez et déployez une application Chat optimisée par l'agent Dialogflow ES.
  • Testez l'application Chat.

Prérequis

Architecture

Le schéma suivant illustre l'architecture d'une application de chat conçue avec Dialogflow :

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

Dans le diagramme précédent, un utilisateur qui interagit avec une application de chat Dialogflow suit le flux d'informations suivant :

  1. Un utilisateur envoie un message dans Chat à une application Chat, soit dans un message privé, soit dans un espace Chat.
  2. Un agent virtuel Dialogflow, qui réside dans , reçoit et traite le message pour produire une réponse.
  3. Si vous le souhaitez, vous pouvez utiliser un webhook Dialogflow pour permettre à l'agent Dialogflow d'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 de l'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 les API Google Chat et 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 API appropriées, puis cliquez sur Activer.

Créer un agent Dialogflow ES

Si vous ne disposez pas d'agent Dialogflow ES :

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

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

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

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

  1. Dans la console Google APIs, accédez à l'API Google Chat. Recherchez "API Google Chat", puis 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 le champ 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. Rendre cette application de 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 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 avec le 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, puis appuyez sur enter.

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

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 par message ressemble visuellement à 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 fiches sont envoyées à Google Chat sous forme de messages de fiche.

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 fiches plus avancées. Une fiche 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 fiches de modules complémentaires Google Workspace pour étendre Chat 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 à prendre en compte

  • Lorsque vous utilisez des modules complémentaires Google Workspace avec Dialogflow, les objets d'événement de chat présentent les limites et considérations suivantes :
    • Événements de l'écran d'accueil de l'application : la prise en charge des é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 de chat.
      • APP_COMMAND : chaîne "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE : un événement de bienvenue par défaut est envoyé.
      • REMOVED_FROM_SPACE : chaîne "REMOVED_FROM_SPACE_PAYLOAD".
      • CARD_CLICKED : chaîne "BUTTON_CLICKED_PAYLOAD".
      • WIDGET_UPDATED : chaîne "WIDGET_UPDATED_PAYLOAD" (utilisée pour l'autocomplétion).
    • Charge utile complète de l'événement : la charge utile JSON complète de l'événement d'interaction de 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 les requêtes de webhook Dialogflow ES.
  • Points à prendre en compte pour répondre aux commandes et recevoir des données à partir de fiches ou de boîtes de dialogue :
  • Les aperçus des liens ne sont pas disponibles.
  • 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, ils sont tous envoyés à Chat de manière asynchrone en appelant la méthode create sur la ressource spaces.messages 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. Comme 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 dans ce tutoriel 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 de chat.