Integração do Dialogflow com o Google Chat

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

  • Google Chat: Fornece uma plataforma de mensagens com uma interface do usuário de front-end para conversas individuais e espaços de chat. Com o Google Chat, você pode aprimorar as interfaces do usuário criando cartões incorporando ícones, imagens, botões, campos de entrada de texto ou apps como o Google Maps.
  • Dialogflow. Fornece uma plataforma de processamento de linguagem natural para conversas automatizadas e respostas dinâmicas. Com o Dialogflow, é possível interpretar e atender às intents dos usuários, por exemplo, para agendar horários ou processar compras.

Embora você também possa usar o Google Chat para atender às solicitações dos usuários, o Dialogflow permite que eles expressem as solicitações em conversas regulares.

Como funciona

Depois de criar um app do Google Chat compatível com Dialogflow, é possível disponibilizá-lo para:

  • Público em geral: Os usuários licenciados do Google Workspace podem fazer o download do app pelo 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, é possível restringir o acesso a ele.

No Google Chat, um usuário pode ter uma conversa direta com o 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 do Chat, que pode ser hospedado no Cloud Functions.
  3. O app do Chat recebe e analisa a solicitação JSON. Durante essa análise, o app do Chat invoca o Dialogflow.
  4. O app do 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 do Chat.
  6. O app do Chat analisa a resposta do Dialogflow e envia uma resposta JSON ao Google Chat.
  7. O Google Chat recebe a resposta JSON do app do Chat e renderiza uma resposta em forma de uma mensagem de texto, de card ou de caixa de diálogo na UI.
  8. O Google Chat compartilha essa resposta no estado em que se encontra ou apresenta uma resposta avançada usando uma UI baseada em cartão.

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 pode usar apenas o idioma padrão do agente.

Antes de começar

Apenas usuários licenciados do Google Workspace podem usar os apps do Google Chat. Seu 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 ver 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 o agente do Dialogflow com o Google Chat, use uma destas 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 Resolver problemas.
  5. Selecione quem pode acessar o app.
  6. [Opcional] Selecione um ambiente para executar o agente.
  7. Clique em Iniciar.

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

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

Configurar o Google Chat usando o console do Google Cloud

Para integrar o Google Chat usando o console do 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 em Biblioteca.

  4. Pesquise e clique em API Google Chat.

  5. Selecione 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.
    • Domínio do Google Workspace público geral ou corporativo. Publique o app.
  9. Clique em Save. O app Google Chat está ativo e disponível para as pessoas selecionadas.

Testar

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

É possível testar seu 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 a página Resolver problemas.
  4. Clique em Chat.
  5. No campo de entrada do chat, 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 seu app para preencher automaticamente o nome.
  6. Depois de preencher automaticamente o nome do app, insira uma frase em linguagem natural para testá-lo.

Resolver problemas

Erro Solução
A página Console do Dialogflow ES > Integrações não exibe o Google Chat como uma opção. Tente atualizar a página: no menu à esquerda, clique em Intents e depois 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 instalem apps do Chat. Em seguida, inicie o app do 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 para o Google Chat como mensagens de texto. Com essa formatação, você pode deixar o texto em negrito ou itálico, envolvendo o texto em determinados símbolos (marcação clara).

A resposta da mensagem de texto é visualmente igual à resposta de texto padrão do 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 na criação de agentes para várias integrações.

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

Cartões

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

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 que usa 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 do Chat

Para interromper a disponibilidade do app Google Chat, use uma das seguintes opções:

Interromper o app do 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 Resolver problemas.
  5. Clique em Stop.

Interromper o app do 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 em Biblioteca.

  4. Pesquise e clique em API Google Chat.

  5. Selecione Gerenciar.

  6. Clique na guia Configuração.

  7. No campo Status do aplicativo, selecione DESATIVADO.

Mais informações

Para saber mais sobre como usar o Google Chat, consulte: