Integração do Dialogflow com o Google Chat

Ao integrar o Dialogflow com o Google Chat, você aproveita os recursos dos dois serviços:

  • Google Chat. Oferece uma plataforma de mensagens com uma interface de usuário de front-end para conversas individuais e espaços de chat. Com o Google Chat, é possível melhorar as interfaces do usuário criando cards com ícones, imagens, botões, campos de entrada de texto ou apps como o Google Maps.
  • Dialogflow. Fornece uma plataforma de compreensão de linguagem natural para conversas automatizadas e respostas dinâmicas. Com o Dialogflow, é possível interpretar e atender às intenções do usuário, por exemplo, para agendar consultas ou processar compras.

Embora também seja possível usar o Google Chat para atender aos pedidos dos usuários, o Dialogflow permite que eles façam solicitações por uma conversa normal.

Como funciona

Depois de criar um app do Google Chat compatível com o Dialogflow, você pode disponibilizar o app para:

  • Público em geral. Os usuários licenciados do Google Workspace podem baixar seu app no Google Workspace Marketplace.
  • Domínio do Google Workspace. Um administrador do Google Workspace pode especificar quais apps os usuários podem adicionar ao Google Chat.
  • Testadores de apps. Ao testar o app, você pode restringir o acesso a ele.

No Google Chat, um usuário pode ter uma conversa direta com seu app ou invocar o app em um espaço. O seguinte acontece:

  1. Um usuário envia uma mensagem para um app do Chat.
  2. O Google Chat envia uma solicitação JSON para o app Chat, que pode ser hospedado no Cloud Functions.
  3. O app Chat recebe e analisa a solicitação JSON. Durante essa análise, o app Chat invoca o Dialogflow.
  4. O app Chat envia uma solicitação ao Dialogflow que inclui o texto da mensagem em linguagem natural do usuário.
  5. O Dialogflow interpreta o texto do usuário e envia uma resposta ao app Chat.
  6. O app do Chat analisa a resposta do Dialogflow e envia uma resposta JSON para o Google Chat.
  7. O Google Chat recebe a resposta JSON do app Chat e renderiza uma resposta na forma de uma mensagem de texto, uma mensagem de card ou uma mensagem de caixa de diálogo na UI.
  8. O Google Chat compartilha essa resposta como está ou apresenta uma resposta avançada usando uma UI baseada em fichas de informações.

Nesta página, descrevemos como integrar o Dialogflow ao Google Chat e configurar respostas de chat avançadas.

Limitações

Com as integrações do Google Chat, um agente do Dialogflow só pode usar o idioma padrão do agente.

Antes de começar

Somente usuários licenciados do Google Workspace podem usar os apps do Google Chat. O administrador do Google Workspace precisa fazer o seguinte:

Criar um agente do Dialogflow

Se você ainda não criou um agente do Dialogflow, mas quer saber como ele interage com o Google Chat, siga este guia de início rápido para criar um agente simples. No entanto, não exclua o agente. Em seguida, vamos configurar o agente com uma interface do Google Chat.

Configurar o Google Chat

Para configurar seu agente do Dialogflow com o Google Chat, use uma das seguintes opções:

Configurar o Google Chat usando o console do Dialogflow

Para integrar o Google Chat usando o console do Dialogflow, siga estas etapas:

  1. Acesse o console do Dialogflow ES.
  2. No menu à esquerda, selecione um projeto do Dialogflow.
  3. Clique em Integrations.
  4. Clique em Google Chat. Se o Google Chat não for uma das opções, consulte Solução de problemas.
  5. Selecione quem pode acessar o app.
  6. [Opcional] Selecione um ambiente para executar o agente.
  7. Clique em Iniciar.

Seu app Google Chat agora está ativo e disponível para as pessoas que você selecionou.

Para configurar o app, clique novamente em Google Chat e em CONFIGURAR DETALHES DO BOT. Isso mostra a página do console da Google Cloud API Google Chat, em que é possível configurar parâmetros do app, como o avatar do app.

Configurar o Google Chat usando o console Google Cloud

Para integrar o Google Chat usando o console Google Cloud , siga estas etapas:

  1. Selecione o projeto do Dialogflow.

    Acessar o seletor de projetos

  2. Clique em .

  3. Clique em APIs e serviços e depois em Biblioteca.

  4. Pesquise e clique em API Google Chat.

  5. Clique em Ativar.

  6. Clique na guia Configuração.

  7. Configure o app.

  8. No painel Visibilidade, selecione quem pode acessar o app:

    • Testadores de apps. Selecione Disponibilizar este chat para pessoas específicas e digite os endereços de e-mail delas.
    • Público em geral ou domínio do Google Workspace Enterprise. Publique o app.
  9. Clique em Salvar. Seu app Google Chat agora está ativo e disponível para as pessoas que você selecionou.

Teste

Antes de testar seu app do Chat, verifique se você o iniciou, conforme descrito em Configurar o Google Chat.

Você pode testar o app usando um destes métodos:

Conversar diretamente com o app

  1. Abra o Google Chat.
  2. No painel Chat, clique em + e selecione Encontrar apps.
  3. Pesquise e selecione seu app. Se o Google Chat não listar seu app, consulte Solução de problemas.
  4. Clique em Chat.
  5. No campo de entrada da conversa, digite uma frase em linguagem natural para testar o app.

Invocar o app em um espaço

  1. Abra o Google Chat.
  2. No painel Espaços, clique em + e selecione Criar um espaço.
  3. Digite o nome do espaço Teste.
  4. Clique em Criar.
  5. No campo de entrada do chat, digite @ e selecione o app para preencher o nome automaticamente.
  6. Depois do nome do app preenchido automaticamente, insira uma frase em linguagem natural para testar o app.

Resolver problemas

Erro Solução
A página Console do Dialogflow ES > "Integrações" não mostra o Google Chat como uma opção. Atualize a página: no menu à esquerda, clique em Intents e em Integrações.
O Google Chat não lista seu app como disponível. Verifique se o administrador do Google Workspace adicionou uma conta do Google Workspace para você e permitiu que os usuários instalassem apps do Chat. Em seguida, verifique se você iniciou o app Chat, conforme descrito em Configurar o Google Chat.

Mensagens de resposta avançadas

Essa integração traduz algumas mensagens de resposta ricas para os formatos de mensagem do Google Chat.

Respostas de texto

As respostas de texto são enviadas ao Google Chat como mensagens de texto. Com essa formatação, você pode deixar o texto em negrito ou em itálico ao encapsular o texto em determinados símbolos (Markdown leve).

A resposta por mensagem de texto parece visualmente igual à resposta de texto padrão no console do Dialogflow. No entanto, a resposta bruta da API será um pouco diferente. Ele também define a configuração da plataforma como GOOGLE_HANGOUTS, o que pode ser interessante ao criar agentes para várias integrações.

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

Cartões

As respostas de cards são enviadas ao Google Chat como mensagens de card.

Imagens

As respostas de imagem são enviadas ao Google Chat como widgets de imagem do Google Chat.

Payload personalizado

Para enviar outros tipos de mensagens do Google Chat, use um payload personalizado.

Com o payload personalizado do Google Chat, você pode criar cards mais avançados. Um card pode ter uma ou várias seções. Cada seção pode ter um cabeçalho. Confira o guia de referência de cards de mensagens de formato do Google Chat para ver algumas das combinações que você pode criar com isso. No entanto, se você usa payloads personalizados, será necessário fornecer o formato JSON.

Confira um exemplo de payload personalizado usando o formato Cards v1:

{
  "hangouts": {
    "header": {
      "title": "Pizza Delivery Customer Support",
      "subtitle": "pizzadelivery@example.com",
      "imageUrl": "https://goo.gl/aeDtrS"
    },
    "sections": [{
      "widgets": [{
        "keyValue": {
          "icon": "TRAIN",
          "topLabel": "Order No.",
          "content": "12345"
        }
      },
      {
        "keyValue": {
          "topLabel": "Status",
          "content": "In Delivery"
        }
      }]
    },
    {
      "header": "Location",
      "widgets": [{
        "image": {
          "imageUrl": "https://dummyimage.com/600x400/000/fff"
        }
      }]
    },
    {
      "header": "Buttons - I could leave the header out",
      "widgets": [{
        "buttons": [{
          "textButton": {
            "text": "OPEN ORDER",
            "onClick": {
              "openLink": {
                "url": "https://example.com/orders/..."
              }
            }
          }
        }]
      }]
    }]
  }
}

Parar o app Chat

Para impedir que o app Google Chat fique disponível, use uma das seguintes opções:

Parar o app Google Chat usando o console do Dialogflow

  1. Acesse o console do Dialogflow ES.
  2. No menu à esquerda, selecione um projeto do Dialogflow.
  3. Clique em Integrations.
  4. Clique em Google Chat. Se o Google Chat não for uma das opções, consulte Solução de problemas.
  5. Clique em Interromper.

Parar o app Chat usando o console do Google Cloud

  1. Selecione o projeto do Dialogflow no console do Google Cloud .

    Acessar o seletor de projetos

  2. Clique em .

  3. Clique em APIs e serviços e depois em Biblioteca.

  4. Pesquise e clique em API Google Chat.

  5. Clique em Gerenciar.

  6. Clique na guia Configuração.

  7. No campo Status do app, selecione DESATIVADO.

Mais informações

Para mais informações sobre como usar o Google Chat, consulte: