Ajouter une automatisation avec Dialogflow

<ph type="x-smartling-placeholder"> Dialogflow est un langage naturel un outil de compréhension du langage (NLU) qui traite les entrées utilisateur et les mappe à des intents et répond avec des réponses appropriées. Il existe deux éditions de Dialogflow. En intégrant votre agent Business Messages à Dialogflow ES, vous pouvez facilement créer une automatisation simple pour lancer rapidement le développement de vos agents. Par avec Dialogflow CX, vous pouvez créer une automatisation avancée pour plus des conversations complexes.

Les agents Business Messages permettent d'intégrer directement

Pour intégrer un agent Business Messages à d'autres fonctionnalités de Dialogflow ES ou Dialogflow CX, consultez la documentation de chaque produit.

Lorsqu'un utilisateur envoie un message à un agent qui dispose d'une intégration Dialogflow, Business Messages transmet le message de l'utilisateur à Dialogflow et envoie l'événement à l'agent dans le message objet dialogflowResponse. Vous pouvez configurer les agents envoyer automatiquement la réponse de Dialogflow à l'utilisateur, sans aucune action sur votre . Consultez la section Réponses automatiques. pour en savoir plus.

Intégration de Dialogflow

Avant de pouvoir exploiter l'automatisation basée sur Dialogflow via Business Messages, vous devez activer l'intégration Dialogflow.

Prérequis

Pour commencer, vous devez disposer des éléments suivants :

  • a Business Messages agent
  • Un agent Dialogflow situé dans la région Monde avec comme langue racine l'anglais (fr)

Si vous n'avez pas d'agent Dialogflow, créez-en un.

Dialogflow ES

Avant de pouvoir activer une intégration Dialogflow ES, vous devez disposer de ID de projet de l'agent Dialogflow. Pour trouver l'ID du projet,

  1. Accédez à la console Dialogflow.
  2. Sélectionnez l'agent Dialogflow que vous souhaitez connecter à Business Messages. puis cliquez sur l'icône en forme de roue dentée à côté du nom de l'agent.
  3. Sous Google Project (Projet Google), notez la valeur Project ID (ID du projet).

Dialogflow CX

Avant de pouvoir activer une intégration Dialogflow CX, vous devez disposer de ID de projet et ID d'agent Dialogflow. Pour localiser ces identifiants,

  1. Accédez à la console Dialogflow CX.
  2. Sélectionnez votre projet Dialogflow.
  3. Dans le sélecteur d'agents, cliquez sur le menu à développer. à côté de votre agent Dialogflow.
  4. Cliquez sur Copier le nom. Le nom complet de l'agent est copié dans le le format suivant: projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID
  5. Notez les valeurs de l'ID du projet et de l'ID de l'agent.

Activer l'intégration

  1. Dans la console pour les développeurs Business Communications, accédez à Intégrations :
  2. Dans Dialogflow, cliquez sur Enable integration (Activer l'intégration).
  3. Cliquez sur Associer un modèle existant.
  4. Pour Édition Dialogflow, sélectionnez l'édition à activer.
  5. Saisissez l'ID de projet de votre agent Dialogflow.
  6. Pour activer Dialogflow CX, saisissez également l'ID de votre agent Dialogflow.
  7. Si vous souhaitez que Business Messages répond automatiquement aux utilisateurs avec Pour les réponses Dialogflow, sélectionnez Enable auto-response (Activer la réponse automatique).
  8. Cliquez sur Suivant.
  9. Copiez l'adresse e-mail du compte de service. Ce compte associe vos Business Messages et les agents Dialogflow.
  10. Dans la formation Google Cloud Console sélectionnez votre projet Dialogflow.
  11. Accédez à IAM autorisations.
  12. Cliquez sur Ajouter, puis saisissez l'adresse e-mail du compte de service pour Nouveaux comptes principaux.
  13. Pour Sélectionner un rôle, sélectionnez Éditeur d'agent de la console Dialogflow.
  14. Cliquez sur Ajouter un autre rôle et sélectionnez Client de l'API Dialogflow.
  15. Cliquez sur Enregistrer.
  16. Dans la console pour les développeurs Business Communications, cliquez sur Suivant.
  17. Cliquez sur Démarrer l'intégration.

La connexion à Business Messages et à Dialogflow prend environ deux minutes.

Mettre à jour l'intégration

  1. Dans la console pour les développeurs Business Communications, accédez à Intégrations :
  2. Cliquez sur l'icône en forme de roue dentée . situé à côté de Dialogflow.
  3. Activez l'option Activer la réponse automatique, selon que vous souhaitez : Business Messages pour répondre automatiquement aux utilisateurs avec des réponses Dialogflow.

Changer d'édition Dialogflow

Un agent Business Messages ne peut prendre en charge qu'une seule intégration Dialogflow à la fois. Pour passer d'une édition Dialogflow à une autre, vous devez désactiver la fonction l'intégration actuelle avant d'activer la nouvelle.

Désactiver l'intégration

  1. Dans la console pour les développeurs Business Communications, accédez à Intégrations :
  2. Cliquez sur l'icône en forme de roue dentée . situé à côté de Dialogflow.
  3. Cliquez sur Désactiver l'intégration.
  4. Cliquez sur Désactiver.

La désactivation d'une intégration Dialogflow existante prend environ une minute.

Activez une nouvelle intégration Dialogflow en suivant ces étapes.

Correspondance d'intent

Une fois l'intégration Dialogflow activée pour un agent Business Messages, votre peut utiliser les intents configurés de votre projet Dialogflow pour comprendre et répondre aux questions des utilisateurs sans que vous ayez à écrire de code. Pour en savoir plus sur consultez la documentation de Dialogflow ES. et Dialogflow CX.

Configurez vos intents Dialogflow pour chaque option de conversation que vous souhaitez grâce à l'automatisation. Les agents Business Messages s'appuient sur Dialogflow pour à comprendre les messages des utilisateurs.

Lorsque vous appelez les API Dialogflow, Business Messages transmet le charge utile des messages utilisateur à vos intents et à votre webhook de fulfillment. Lorsqu'un message utilisateur correspond à une correspondance. avec un intent, vous pouvez accéder à cette charge utile au format Struct dans business_messages_payload dans QueryParameters.

La charge utile contient tous les champs du message de l'utilisateur, à l'exception de DialogflowResponse.

Pour Dialogflow CX, Business Messages transmet également un paramètre de session nommé channel avec la valeur google_business_messages à vos intents. Vous pouvez le référencer dans votre agent au format suivant: $session.params.channel.

Ce paramètre peut être utilisé pour ajouter des conditions à vos fulfillments Dialogflow afin d'accepter plusieurs canaux dans le même agent Dialogflow.

Pour en savoir plus sur les paramètres de requête, consultez les documentations de référence sur Dialogflow ES et Dialogflow CX.

Prérequis

Lors de la création de modèles NLU dans Dialogflow, vous pouvez configurer différents pour un intent. Business Messages est compatible avec la réponse par défaut, par exemple:

  • Texte
  • Charge utile personnalisée
  • Transfert d'un agent en direct (Dialogflow CX uniquement)

Une charge utile personnalisée doit correspondre à une réponse de message JSON Business Messages valide objet. Lorsque vous configurez des réponses avec charge utile personnalisée pour un intent, Business Messages ignore les champs suivants:

  • name
  • messageId
  • representative

Consultez les exemples de réponses suivants.

Texte avec suggestions

{
  "text": "Hello World!",
  "fallback": "Hello World!\n\nReply with \"Hello\" or \"Hi!\"",
  "suggestions": [
    {
      "reply": {
        "text": "Hello",
        "postbackData": "hello-formal"
      }
    },
    {
      "reply": {
        "text": "Hi!",
        "postbackData": "hello-informal"
      }
    }
  ]
}

Carte enrichie

{
  "fallback": "Hello, world!\nSent with Business Messages\n\nReply with \"Suggestion #1\" or \"Suggestion #2\"",
  "richCard": {
    "standaloneCard": {
      "cardContent": {
        "title": "Hello, world!",
        "description": "Sent with Business Messages.",
        "media": {
          "height": "TALL",
          "contentInfo":{
            "altText": "Google logo",
            "fileUrl": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png",
            "forceRefresh": "false"
          }
        },
        "suggestions": [
          {
            "reply": {
              "text": "Suggestion #1",
              "postbackData": "suggestion_1"
            }
          },
          {
            "reply": {
              "text": "Suggestion #2",
              "postbackData": "suggestion_2"
            }
          }
        ]
      }
    }
  }
}
{
  "fallback": "Card #1\nThe description for card #1\n\nCard #2\nThe description for card #2\n\nReply with \"Card #1\" or \"Card #2\"",
  "richCard": {
    "carouselCard": {
      "cardWidth": "MEDIUM",
      "cardContents": [
        {
          "title": "Card #1",
          "description": "The description for card #1",
          "suggestions": [
            {
              "reply": {
                "text": "Card #1",
                "postbackData": "card_1"
              }
            }
          ],
          "media": {
            "height": "MEDIUM",
            "contentInfo": {
              "fileUrl": "https://my.files/cute-dog.jpg",
              "forceRefresh": false
            }
          }
        },
        {
          "title": "Card #2",
          "description": "The description for card #2",
          "suggestions": [
            {
              "reply": {
                "text": "Card #2",
                "postbackData": "card_2"
              }
            }
          ],
          "media": {
            "height": "MEDIUM",
            "contentInfo": {
              "fileUrl": "https://my.files/elephant.jpg",
              "forceRefresh": false
            }
          }
        }
      ]
    }
  }
}

Transfert à un agent humain

{
  "metadata": {}
}

Bots sur les questions fréquentes

Après avoir activé une intégration Dialogflow ES pour un agent Business Messages, vous peuvent créer un chatbot pour les questions fréquentes. Lorsque vous fournissez des questions et des réponses sous forme un document de base pris en charge, Business Messages et Dialogflow créent l'infrastructure nécessaire pour comprendre les questions des utilisateurs et y répondre sans à écrire du code.

Pour voir à l'œuvre un bot FAQ, discutez avec les Questions fréquentes sur Business Messages Bot

Prérequis

Avant de créer un robot FAQ, vous devez disposer de vos questions et réponses Document de base de connaissances (50 Mo maximum): fichier HTML ou CSV accessible au public.

En général, les documents de base de connaissances

  • Peut inclure un Markdown limité dans les réponses, comme spécifié dans la section Enrichis texte.
  • La taille ne doit pas dépasser 50 Mo.
  • Ne doit pas dépasser 2 000 paires question/réponse.
  • Les questions en double dont les réponses sont différentes ne sont pas autorisées.

Pour les fichiers HTML,

  • Les fichiers provenant d'URL publiques doivent avoir été explorés par le plug-in d'indexation de recherche Google, de sorte qu'ils existent dans l'index de recherche. Pour le vérifier, utilisez le Search Console Notez que l'indexeur ne maintient pas votre contenu à jour. Vous devez indiquer explicitement mettre à jour votre document lorsque le contenu source change.
  • Dialogflow supprime les balises HTML du contenu lors de la création des réponses. En effet, il est préférable d'éviter les balises HTML et d'utiliser du texte brut lorsque cela est possible.
  • Les fichiers comportant une seule paire question/réponse ne sont pas acceptés.

Pour les fichiers CSV,

  • Les fichiers doivent comporter des questions dans la première colonne et des réponses dans la deuxième. sans en-tête.
  • Les fichiers doivent utiliser des virgules comme délimiteurs.

Créer un bot FAQ

  1. Dans la console pour les développeurs Business Communications, accédez à Intégrations :
  2. Sous Base de connaissances (questions fréquentes), cliquez sur Créer une base de connaissances.
  3. Attribuez un nom à la base de connaissances, puis cliquez sur Suivant.
  4. Sélectionnez un type MIME.
  5. Ajoutez un document de base de connaissances.
    • Si vous avez choisi HTML pour Type MIME, saisissez l'adresse URL de vos questions fréquentes dans URL.
    • Si vous avez choisi CSV pour Type MIME, cliquez sur Importer et sélectionnez votre CSV.
  6. Cliquez sur Ajouter et terminer.

Pour ajouter des documents à un bot FAQ, cliquez sur le bouton Ajouter des documents.

Une fois que vous avez suivi ces étapes, Business Messages inclut les fonctionnalités dialogflowResponse dans les messages utilisateur qu'il envoie à votre agent. Si vous activez les réponses automatiques, Business Messages répond à l'utilisateur avec la paire question/réponse ayant le score matchConfidence le plus élevé lorsque par rapport au message de l'utilisateur.

Réponses automatiques

Si vous activez la réponse automatique pendant l'intégration de Dialogflow, Messages répond automatiquement à l'utilisateur via Dialogflow. Votre entreprise L'agent de Messages répond avec la correspondance du niveau de confiance le plus élevé. Avec un Intégration de Dialogflow ES, s'il existe des correspondances avec une réponse FAQ et une d'intention personnalisée, Business Messages répond avec la correspondance qui présente le niveau de confiance.

Business Messages marque tous les messages auxquels une réponse automatique a été envoyée comme provenant de BOT représentants. Si votre agent est compatible avec les agents actifs, Business Messages suspend les réponses automatiques après le REPRESENTATIVE_JOINED événements et réactive les réponses automatiques après REPRESENTATIVE_LEFT événements. Voir Handoff du bot à un agent réel.

Répondre automatiquement avec une FAQ

Avec une intégration Dialogflow ES, si une réponse à une FAQ est la plus fiable Business Messages associe la réponse à un SMS. S'il y a un une réponse connexe, mais différente, le message "Afficher une autre réponse" suggestion. Si ce n'est pas le cas, le message contient une question et une suggestion réponses demandant si le message a satisfait à la demande de l'utilisateur.

Répondre automatiquement avec une réponse d'intent

Les réponses d'intent peuvent inclure une ou plusieurs des réponses suivantes.

Si une réponse d'intent présente le niveau de confiance le plus élevé : s'applique.

  • Si la réponse comporte au moins une valeur textuelle, Business Messages mappe cette à un message.
  • Si la réponse comporte au moins une charge utile personnalisée avec une valeur Business valide Structure de l'objet JSON de Messages, Business Messages crée un message à l'aide de la méthode JSON fourni.
  • Si la réponse contient au moins une réponse de transfert d'un agent réel, consultez Répondre automatiquement par une demande d'agent

Comme Dialogflow peut inclure plusieurs réponses dans une seule correspondance d'intent, Business Messages envoie chaque SMS, charge utile personnalisée ou transfert d'agent dans un message distinct. Si un intent contient plusieurs messages mais que le format de certains d'entre eux est incorrect, Business Messages n'envoie que des messages en tant que réponses automatiques.

Répondre automatiquement par une demande d'agent

Dialogflow CX est compatible avec le transfert d'agent réel. de réponse. Cela signale que la conversation doit être transmise à un humain et vous permet de transmettre des métadonnées personnalisées procédure. Si une réponse d'intent présente le niveau de confiance le plus élevé et qu'elle inclut un transfert avec un agent, Business Messages envoie une événement demandé par un agent à votre webhook. Pour gérer cet événement, consultez Transmission du bot à un agent réel.

Répondre automatiquement avec un message de remplacement

Si Dialogflow n'obtient pas de correspondance avec un niveau de confiance élevé, Business Messages envoie une réponse de remplacement. Les remplacements sont gérés différemment dans Dialogflow ES et Dialogflow CX.

Dialogflow ES

Pour les bots de questions fréquentes, si aucune réponse ne correspond, Business Messages envoie un message de remplacement indiquant qu'il n'a pas trouvé de réponse.

Pour les intents configurés, en l'absence de correspondance avec une réponse d'intent, Messages envoie une réponse d'intent de remplacement. Vous pouvez utiliser le texte de remplacement fourni par Dialogflow ou configurer le avec du texte supplémentaire et des charges utiles personnalisées.

Voici un exemple de réponse d'intent de remplacement que votre webhook peut recevoir:

{
  "intentResponses": [
    {
      "intentName": "projects/df-integration/agent/intents/12345",
      "intentDisplayName": "Default Fallback Intent",
      "intentDetectionConfidence": "1.0",
      "fulfillmentMessages": [
        {
          "text": "One more time?"
        }
      ]
    }
  ]
}

Dialogflow préremplit les champs intent_name et intent_display_name.

Dialogflow CX

Dialogflow CX gère les réponses d'intent de remplacement événements intégrés. En l'absence de correspondance avec une réponse d'intent, Business Messages envoie une message de remplacement de l'événement par défaut de non-correspondance dans Dialogflow. Vous pouvez utiliser le texte de remplacement fourni par Dialogflow ou configurer le remplacement. avec du texte supplémentaire, des charges utiles personnalisées et des options de transfert d'agent en direct.

Voici un exemple de réponse d'intent de remplacement le webhook peut recevoir les éléments suivants:

{
  "intentResponses": [
    {
      "intentName": "sys.no-match-default",
      "intentDisplayName": "Default Fallback Intent",
      "intentDetectionConfidence": "0.3",
      "fulfillmentMessages": [
        {
          "text": "I missed that, say that again?"
        }
      ]
    }
  ]
}

Business Messages code en dur intent_name et intent_display_name.

Champs spécifiques à Dialogflow

Une fois l'intégration Dialogflow activée, l'utilisateur envoie un message à l'agent. reçoit inclure les dialogflowResponse . Votre webhook reçoit les charges utiles de tous les messages des utilisateurs, quel que soit si Business Messages a répondu automatiquement au message sur votre au nom de l'utilisateur. Pour rechercher une réponse automatique, consultez la valeur du champ autoResponded et décidez si vous devez répondre à l'utilisateur.

Dialogflow ES

...
"dialogflowResponse": {
  "queryText": "TEXT",
  "intentResponse": {
    "intentName": "INTENT_ID",
    "intentDisplayName": "INTENT_NAME",
    "intentDetectionConfidence": "CONFIDENCE_NUMERIC",
    "fulfillmentMessages": [{
      "text": "FULFILLMENT_TEXT",
      "jsonPayload": "JSON",
      "error": "ERROR_STATUS",
    }],
  "faqResponse": {
    "userQuestion": "USER_QUESTION",
    "answers": [{
      "faqQuestion": "FAQ_QUESTION",
      "faqAnswer": "FAQ_ANSWER",
      "matchConfidenceLevel": "CONFIDENCE_LEVEL",
      "matchConfidence": "CONFIDENCE_NUMERIC",
    }],
  },
  "autoResponded": "BOOLEAN",
  "autoRespondedMessages": [{
    "message": "MESSAGE_JSON",
    "responseSource": "SOURCE",
  }],
},
...
Champ Description
queryText Texte de la requête conversationnelle d'origine. Si l'orthographe automatique la correction est activée pour le modèle Dialogflow, queryText contenant l'entrée utilisateur corrigée.
intentName Identifiant unique de l'intent mis en correspondance.
intentDisplayName Nom de l'intent correspondant.
intentDetectionConfidence Cote de confiance numérique dans la correspondance entre queryText et intentName.
text Réponse textuelle.
jsonPayload Réponse avec charge utile personnalisée. Cette chaîne correspond à l'attribut définie dans Dialogflow. Si la charge utile n'a pas de fichier JSON Business Messages valide structure de l'objet, error décrit le problème.
error Description d'une erreur avec un message de traitement d'intent.
userQuestion Question posée par l'utilisateur, analysée par Dialogflow.
faqQuestion Une question de Dialogflow correspondant à celle de l'utilisateur.
faqAnswer Une réponse de Dialogflow correspondant à la question de l'utilisateur.
matchConfidenceLevel Le niveau de confiance dans la correspondance entre userQuestion et faqQuestion.
matchConfidence La cote de confiance numérique dans la correspondance entre userQuestion et faqQuestion.
autoResponded si Business Messages a répondu automatiquement ou non à à l'utilisateur avec une réponse de Dialogflow.
message Charge utile de la réponse automatique.
responseSource Source de la réponse automatique. Voir ResponseSource

Dialogflow CX

...
"dialogflowResponse": {
  "queryText": "TEXT",
  "intentResponse": {
    "intentName": "INTENT_ID",
    "intentDisplayName": "INTENT_NAME",
    "intentDetectionConfidence": "CONFIDENCE_NUMERIC",
    "fulfillmentMessages": [{
      "text": "FULFILLMENT_TEXT",
      "jsonPayload": "JSON",
      "error": "ERROR_STATUS",
      "liveAgentHandoff": {
        "metadata": {}
      }
    }],
  "autoResponded": "BOOLEAN",
  "autoRespondedMessages": [{
    "message": "MESSAGE_JSON",
    "responseSource": "SOURCE",
  }],
},
...
Champ Description
queryText Texte de la requête conversationnelle d'origine. Si l'orthographe automatique la correction est activée pour le modèle Dialogflow, queryText contenant l'entrée utilisateur corrigée.
intentName Identifiant unique de l'intent mis en correspondance.
intentDisplayName Nom de l'intent correspondant.
intentDetectionConfidence Cote de confiance numérique dans la correspondance entre queryText et intentName.
text Réponse textuelle.
jsonPayload Réponse avec charge utile personnalisée. Cette chaîne correspond à l'attribut définie dans Dialogflow. Si la charge utile n'a pas de fichier JSON Business Messages valide structure de l'objet, error décrit le problème.
error Description d'une erreur avec un message de traitement d'intent.
liveAgentHandoff Métadonnées personnalisées pour votre procédure de transfert d'agent en direct.
autoResponded si Business Messages a répondu automatiquement ou non à à l'utilisateur avec une réponse de Dialogflow.
message Charge utile de la réponse automatique.
responseSource Source de la réponse automatique. Voir ResponseSource