Adicione automação com o Dialogflow

. O Dialogflow é uma linguagem natural processamento de linguagem natural (PLN) que processa entradas do usuário e a associa a intents e responde com as devidas respostas. Há duas edições do Dialogflow. Ao integrar seu agente do Business Messages ao Dialogflow ES, é fácil criar uma automação simples para impulsionar o desenvolvimento do agente. De a integração com o Dialogflow CX, é possível criar automação avançada para em conversas complexas.

Os agentes do Business Messages oferecem suporte a integrações diretas com

Integrar um agente do Business Messages a outros recursos do Dialogflow Espanha ou Dialogflow CX, consulte a documentação de cada produto.

Quando um usuário envia uma mensagem para um agente que tem integração com o Dialogflow, O Business Messages transmite a mensagem do usuário para o Dialogflow e envia a resposta ao agente no e-mail Objeto dialogflowResponse. É possível configurar agentes para enviar automaticamente a resposta do Dialogflow para o usuário sem que seja preciso fazer nada parte. Consulte Respostas automáticas. para mais detalhes.

Integração com o Dialogflow

Antes de usar a automação baseada no Dialogflow usando o recurso Business Messages, você precisa ativar a integração com o Dialogflow.

Pré-requisitos

Para começar, você precisa

  • a Business Messages agente
  • Um agente do Dialogflow na região Global com idioma base em inglês (pt-BR)

Se você não tiver um agente Dialogflow, crie um.

Dialogflow ES

Antes de ativar a integração do Dialogflow ES, você precisa do ID do projeto do agente do Dialogflow. Para localizar o ID do projeto,

  1. Navegue até o Console do Dialogflow.
  2. Selecione o agente do Dialogflow que você quer conectar ao Business Messages. e clique no ícone de engrenagem ao lado do nome do agente.
  3. Em Projeto do Google, anote o valor do ID do projeto.

Dialogflow CX

Antes de ativar a integração do Dialogflow CX, você precisa do ID do projeto e ID do agente do Dialogflow. Para localizar esses IDs,

  1. Navegue até o Console do Dialogflow CX.
  2. Selecione seu projeto do Dialogflow.
  3. No seletor de agente, clique no menu flutuante. ao lado do agente do Dialogflow.
  4. Clique em Copiar nome. O nome completo do agente na formato: projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID:
  5. Anote os valores de ID do projeto e ID do agente.

Ative a integração

  1. No console para desenvolvedores do Business Communications, acesse Integrações.
  2. Em Dialogflow, clique em Enable integration.
  3. Clique em Conectar modelo atual.
  4. Em Dialogflow Edition, selecione a edição a ser ativada.
  5. Digite o ID do projeto do agente do Dialogflow.
  6. Para ativar o Dialogflow CX, digite também o ID do agente do Dialogflow.
  7. Se você quiser que o recurso Business Messages responda automaticamente aos usuários com respostas do Dialogflow, selecione Ativar resposta automática.
  8. Clique em Próxima.
  9. Copie o e-mail da conta de serviço. Esta conta conecta seu Business Messages e agentes do Dialogflow.
  10. No Google Cloud console, selecione seu projeto do Dialogflow.
  11. Acesse o IAM. do Google Cloud.
  12. Clique em Adicionar e insira o e-mail da conta de serviço em Novos principais.
  13. Em Selecionar papel, escolha Editor do agente do console do Dialogflow.
  14. Clique em Adicionar outro papel e selecione Cliente da API Dialogflow.
  15. Clique em Salvar.
  16. No Console para desenvolvedores do Business Communications, clique em Próxima.
  17. Clique em Iniciar integração.

A conexão com o Business Messages e o Dialogflow leva cerca de dois minutos.

Atualizar a integração

  1. No console para desenvolvedores do Business Communications, acesse Integrações.
  2. Clique no ícone de engrenagem ao lado de Dialogflow.
  3. Alterne a opção Ativar resposta automática para decidir se quer ou não Business Messages para responder automaticamente aos usuários com respostas do Dialogflow.

Alternar entre as edições do Dialogflow

Um agente do Business Messages só aceita uma integração com o Dialogflow por vez. Para mudar de uma edição do Dialogflow para outra, você precisa desativar o integração atual antes de ativar a nova.

Desativar a integração

  1. No console para desenvolvedores do Business Communications, acesse Integrações.
  2. Clique no ícone de engrenagem ao lado de Dialogflow.
  3. Clique em Desativar integração.
  4. Clique em Desativar.

A desativação de uma integração atual do Dialogflow leva cerca de um minuto.

Ative uma nova integração com o Dialogflow seguindo estas etapas.

Correspondência com intents

Depois de ativar a integração do Dialogflow para um agente do Business Messages, seu pode usar as intents configuradas pelo projeto do Dialogflow para entender e responder às perguntas dos usuários sem precisar escrever código. Para saber mais sobre intents, consulte a documentação do Dialogflow ES e Dialogflow CX.

Configure as intents do Dialogflow para cada opção de conversa suporte por meio da automação. Os agentes do Business Messages usam o Dialogflow para a entender as mensagens dos usuários.

Ao chamar as APIs do Dialogflow, o Business Messages passa o payload da mensagem do usuário às intents e ao webhook de fulfillment. Quando há correspondência com uma mensagem do usuário com uma intent, é possível acessar esse payload no formato Struct no Campo business_messages_payload em QueryParameters.

O payload contém todos os campos da mensagem do usuário, exceto DialogflowResponse.

No Dialogflow CX, o Business Messages também transmite um parâmetro de sessão chamado channel com valor google_business_messages para as intents, que pode ser referenciado no agente com o seguinte formato: $session.params.channel.

Esse parâmetro pode ser usado para adicionar condicionais aos fulfillments do Dialogflow e oferecer suporte a vários canais no mesmo agente do Dialogflow.

Para mais informações sobre parâmetros de consulta, acesse as referências do Dialogflow ES e do Dialogflow CX.

Pré-requisitos

Ao criar modelos PLN no Dialogflow, é possível configurar diferentes tipos de resposta a uma intent. O Business Messages aceita a resposta padrão, que pode incluir o seguinte:

  • Texto
  • Payload personalizado
  • Transferência de agente em tempo real (somente Dialogflow CX)

Um payload personalizado precisa corresponder a uma resposta válida da mensagem JSON do Business Messages objeto. Ao configurar respostas de payload personalizadas para uma intent, o recurso Business Messages ignora os seguintes campos:

  • name
  • messageId
  • representative

Confira os exemplos de resposta a seguir.

Texto com sugestões

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

Rich Card

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

Transferência de agente ao vivo

{
  "metadata": {}
}

Bots de perguntas frequentes

Depois de ativar a integração do Dialogflow ES com um agente do Business Messages, criar um bot de perguntas frequentes. Quando você fornece perguntas e respostas um documento de conhecimento com suporte, o Business Messages e o Dialogflow criam a a infraestrutura necessária para entender e responder às perguntas dos usuários você não precisa escrever código.

Para acessar um bot de perguntas frequentes em ação, converse com as Perguntas frequentes do Business Messages Bot.

Pré-requisitos

Para criar um bot de perguntas frequentes, você precisa que suas perguntas e respostas estejam disponíveis Um documento de conhecimento (máximo de 50 MB): um arquivo HTML disponível publicamente ou um arquivo CSV.

Em geral, documentos de conhecimento

  • Pode incluir Markdown limitado nas respostas, conforme especificado em Rich ou texto.
  • ter no máximo 50 MB;
  • Não deve exceder 2.000 pares de perguntas/respostas.
  • Não aceite perguntas duplicadas com respostas diferentes.

Para arquivos HTML,

  • Os arquivos de URLs públicos precisam ter sido rastreados pelo indexador do Google Search para que apareçam no índice de pesquisa. Você pode verificar isso com o Google Search Console. O indexador não mantém o conteúdo atualizado. É necessário informar atualizar seu documento quando o conteúdo de origem for alterado.
  • O Dialogflow remove tags HTML do conteúdo ao criar respostas. Devido ao é melhor evitar tags HTML e usar texto simples quando possível.
  • Arquivos com um único par de pergunta/resposta não são aceitos.

Para arquivos CSV,

  • Os arquivos precisam ter perguntas na primeira coluna e respostas na segunda. sem cabeçalho.
  • Os arquivos precisam usar vírgulas como delimitadores.

Criar um bot de perguntas frequentes

  1. No console para desenvolvedores do Business Communications, acesse Integrações.
  2. Em Base de conhecimento (perguntas frequentes), clique em Criar base de conhecimento.
  3. Digite um nome para a base de conhecimento e clique em Próxima.
  4. Selecione um Tipo MIME.
  5. Adicione um documento de conhecimento.
    • Se você escolher HTML para o Tipo MIME, insira o código acessível publicamente para suas perguntas frequentes em URL.
    • Se você escolheu CSV para o Tipo MIME, clique em Fazer upload e selecione arquivo CSV.
  6. Clique em Adicionar e concluir.

Para adicionar outros documentos a um bot de perguntas frequentes, clique no botão Adicionar documentos.

Depois que você seguir essas etapas, o recurso Business Messages vai incluir: dialogflowResponse nas mensagens do usuário que ele envia ao agente. Se você ativar a resposta automática, o recurso Business Messages responderá ao usuário. com o par pergunta/resposta com a maior pontuação de matchConfidence quando em comparação com a mensagem do usuário.

Respostas automáticas

Se você ativar a resposta automática durante a integração com o Dialogflow, o Business As mensagens respondem automaticamente ao usuário pelo Dialogflow. Sua empresa O agente do Mensagens responde com a maior correspondência de nível de confiança. Com um Integração do Dialogflow ES, se houver correspondências para uma resposta de Perguntas frequentes e uma com intenção personalizada, o recurso Business Messages responde com a correspondência com a maior nível de confiança.

O Business Messages marca todas as mensagens de resposta automática como provenientes de BOT. e representantes. Caso seu agente seja compatível com agentes em tempo real, O recurso Business Messages vai suspender as respostas automáticas após REPRESENTATIVE_JOINED eventos e retoma as respostas automáticas após REPRESENTATIVE_LEFT eventos. Consulte a Transição do bot para o agente humano.

Responder automaticamente com uma resposta de Perguntas frequentes

Com uma integração do Dialogflow ES, se uma resposta de perguntas frequentes tiver o maior nível de confiança o Business Messages mapeia a resposta de uma mensagem de texto. Se houver relacionada, mas disponível, a mensagem mostra resposta" sugestão. Caso contrário, a mensagem inclui uma pergunta e sugestões responde perguntando se a mensagem atendeu à solicitação do usuário.

Responder automaticamente com uma resposta de intent

As respostas de intent podem incluir uma ou mais das seguintes respostas.

Se uma resposta de intent tiver a correspondência de nível de confiança mais alto, o seguinte se aplica.

  • Se a resposta tiver pelo menos um valor de texto, o recurso Mensagens comerciais o mapeará a uma mensagem de texto.
  • Se a resposta tiver pelo menos um payload personalizado com um Perfil da Empresa válido Estrutura de objeto JSON do app Mensagens, o Business Messages cria uma mensagem usando o objeto JSON fornecido.
  • Se a resposta tiver pelo menos uma resposta de transferência para o agente em tempo real, consulte Responda automaticamente com uma solicitação de agente em tempo real.

Como o Dialogflow pode incluir várias respostas em uma correspondência de intent, O Business Messages envia cada transferência de mensagem de texto, payload personalizado ou agente em tempo real como uma mensagem separada. Se houver várias mensagens em uma intent forem correspondentes, mas algumas estiverem incorretas, o recurso Business Messages só envia mensagens como respostas automáticas.

Responder automaticamente com uma solicitação de agente em tempo real

O Dialogflow CX permite a transferência do agente em tempo real resposta. Sinaliza que a conversa deve ser passada para um humano representativo e permite que você passe metadados personalizados para sua transferência procedimento Se uma resposta de intent tiver a correspondência de nível de confiança mais alta e incluir uma transferência para o agente em tempo real, o recurso Business Messages envia uma evento solicitado pelo agente em tempo real ao webhook. Para processar esse evento, consulte Transferência do bot para o agente humano.

Responder automaticamente com uma mensagem substituta

Se o Dialogflow não tiver uma correspondência de alto nível de confiança, o recurso Business Messages enviará uma resposta substituta. Os substitutos são tratados de maneira diferente no Dialogflow ES e Dialogflow CX

Dialogflow ES

Para bots de perguntas frequentes, se não houver correspondência com uma resposta, o Business Messages enviará uma mensagem substituta de que não foi possível encontrar uma resposta.

Para intents configuradas, se não houver correspondência com uma resposta de intent, a conta de O Mensagens envia uma resposta de intent de fallback. É possível usar o texto substituto fornecido pelo Dialogflow ou configurar o com payloads personalizados e de texto extra.

Veja um exemplo de resposta de intent substituta que seu webhook pode receber:

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

O Dialogflow preenche automaticamente intent_name e intent_display_name.

Dialogflow CX

O Dialogflow CX lida com respostas de intents substitutas como eventos integrados. Se não houver correspondência para uma resposta de intent, o recurso Business Messages enviará uma mensagem substituta do evento padrão "Sem correspondência" no Dialogflow. Você pode usar o texto substituto fornecido pelo Dialogflow ou configurar o substituto com texto adicional, payloads personalizados e opções de transferência para agentes em tempo real.

Confira um exemplo de resposta de intent substituta que seu o webhook pode receber:

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

O Business Messages codifica intent_name e intent_display_name.

Campos específicos do Dialogflow

Depois de ativar a integração do Dialogflow, o usuário envia uma mensagem ao agente recebe incluem o parâmetro dialogflowResponse objeto. Seu webhook recebe payloads de todas as mensagens do usuário, independentemente se o Business Messages respondeu automaticamente à mensagem no seu nome de usuário. Para verificar se há uma resposta automática, consulte o valor do atributo autoResponded e decida se você precisa responder ao usuário.

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",
  }],
},
...
Campo Descrição
queryText O texto do comando de conversação original. Se a ortografia for automática a correção está ativada para o modelo do Dialogflow, queryText contém a entrada de usuário corrigida.
intentName O identificador exclusivo da intent correspondente.
intentDisplayName O nome da intent correspondente.
intentDetectionConfidence A classificação de confiança numérica na correspondência entre queryText e intentName.
text Uma resposta de texto.
jsonPayload Uma resposta de payload personalizada. Essa string corresponde ao nome payload definido no Dialogflow. Se o payload não tiver um JSON do Business Messages válido do objeto, error descreve o problema.
error A descrição de um erro com uma mensagem de fulfillment de intent.
userQuestion A pergunta que o usuário fez, conforme analisado pelo Dialogflow.
faqQuestion Uma pergunta do Dialogflow corresponde à pergunta do usuário.
faqAnswer Uma resposta do Dialogflow corresponde à pergunta do usuário.
matchConfidenceLevel O nível de confiança na correspondência entre userQuestion e faqQuestion.
matchConfidence A classificação de confiança numérica na correspondência entre userQuestion e faqQuestion.
autoResponded Se o Business Messages foi ou não respondido automaticamente ao usuário com uma resposta do Dialogflow.
message O payload da resposta automática.
responseSource A origem da resposta automática. Consulte 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",
  }],
},
...
Campo Descrição
queryText O texto do comando de conversação original. Se a ortografia for automática a correção está ativada para o modelo do Dialogflow, queryText contém a entrada de usuário corrigida.
intentName O identificador exclusivo da intent correspondente.
intentDisplayName O nome da intent correspondente.
intentDetectionConfidence A classificação de confiança numérica na correspondência entre queryText e intentName.
text Uma resposta de texto.
jsonPayload Uma resposta de payload personalizada. Essa string corresponde ao nome payload definido no Dialogflow. Se o payload não tiver um JSON do Business Messages válido do objeto, error descreve o problema.
error A descrição de um erro com uma mensagem de fulfillment de intent.
liveAgentHandoff Metadados personalizados para o procedimento de transferência do agente em tempo real.
autoResponded Se o Business Messages foi ou não respondido automaticamente ao usuário com uma resposta do Dialogflow.
message O payload da resposta automática.
responseSource A origem da resposta automática. Consulte ResponseSource