Integración de Google Chat en Dialogflow

Mediante la integración de Dialogflow con Google Chat, puedes aprovechar las funciones de ambos servicios:

  • Google Chat Proporciona una plataforma de mensajería con una interfaz de usuario frontend para conversaciones individuales y espacios de chat. A través de Google Chat, puedes mejorar las interfaces de usuario creando tarjetas que incorporan íconos, imágenes, botones, campos de entrada de texto o apps como Google Maps.
  • Dialogflow Proporciona una plataforma de comprensión del lenguaje natural para conversaciones automáticas y respuestas dinámicas. A través de Dialogflow, puedes interpretar y entregar los intents del usuario, por ejemplo, programar citas o procesar compras.

Aunque también puedes usar Google Chat para completar las solicitudes de los usuarios, Dialogflow les permite expresar sus solicitudes a través de una conversación habitual.

Cómo funciona

Una vez que compilas una app de Google Chat habilitada para Dialogflow, puedes hacer que esté disponible para lo siguiente:

  • Público general: Los usuarios de Google Workspace con licencia pueden descargar tu app a través de Google Workspace Marketplace.
  • Dominio de Google Workspace. Un administrador de Google Workspace puede especificar qué apps pueden agregar los usuarios a Google Chat.
  • Verificadores de apps. Mientras pruebas tu app, puedes restringir el acceso a ella.

En Google Chat, un usuario puede tener una conversación directa con tu app o invocarla desde un espacio. Sucede lo que se indica a continuación:

  1. Un usuario envía un mensaje a una app de Chat.
  2. Google Chat envía una solicitud JSON a la app de Chat, que podría estar alojada en Cloud Functions.
  3. La app de Chat recibe la solicitud JSON y la analiza. Durante este análisis, la app de Chat invoca a Dialogflow.
  4. La app de Chat envía una solicitud a Dialogflow que incluye el texto del mensaje en lenguaje natural del usuario.
  5. Dialogflow interpreta el texto del usuario y envía una respuesta a la app de Chat.
  6. La app de Chat analiza la respuesta de Dialogflow y envía una respuesta de JSON a Google Chat.
  7. Google Chat recibe la respuesta JSON de la app de Chat y renderiza una respuesta en forma de mensaje de texto, de tarjeta o de diálogo en la IU.
  8. Google Chat comparte esta respuesta tal como está o presenta una respuesta enriquecida mediante una IU basada en tarjetas.

En esta página, se describe cómo integrar Dialogflow en Google Chat y configurar respuestas enriquecidas de chat.

Limitaciones

Con las integraciones de Google Chat, un agente de Dialogflow puede usar solo el idioma predeterminado del agente.

Antes de comenzar

Solo los usuarios de Google Workspace con licencia pueden usar las apps de Google Chat. Tu administrador de Google Workspace debe hacer lo siguiente:

Crea un agente de Dialogflow

Si aún no compilaste un agente de Dialogflow, pero deseas ver cómo un agente interactúa con Google Chat, sigue esta guía de inicio rápido para crear un agente simple. Sin embargo, no borres el agente. A continuación, configuramos el agente con una interfaz de Google Chat.

Configura Google Chat

Para configurar tu agente de Dialogflow con Google Chat, puedes usar cualquiera de las siguientes opciones:

Configura Google Chat con la consola de Dialogflow

Para integrar Google Chat mediante la consola de Dialogflow, sigue estos pasos:

  1. Ve a la consola de Dialogflow ES.
  2. En el menú de la izquierda, selecciona un proyecto de Dialogflow.
  3. Haz clic en Integrations.
  4. Haz clic en Google Chat. Si Google Chat no es una de las opciones disponibles, consulta Solucionar problemas.
  5. Selecciona quién puede acceder a la app.
  6. Selecciona un entorno para ejecutar el agente (opcional).
  7. Haz clic en Iniciar.

Tu app de Google Chat ya está activa y disponible para las personas que seleccionaste.

Para configurar la app, vuelve a hacer clic en Google Chat y, luego, en CONFIGURAR DETALLES DEL BOT. Aquí se muestra la página de la consola de Google Cloud para la API de Google Chat, en la que puedes configurar parámetros de la app, como el avatar de la app.

Configura Google Chat con la consola de Google Cloud

Para integrar Google Chat con la consola de Google Cloud, sigue estos pasos:

  1. Selecciona el proyecto de Dialogflow.

    Ir al selector de proyectos

  2. Haz clic en .

  3. Haz clic en APIs y servicios y, luego, en Biblioteca.

  4. Busca la opción API de Google Chat y haz clic en ella.

  5. Haz clic en Habilitar.

  6. Haz clic en la pestaña Configuración.

  7. Configura la app.

  8. En el panel Visibilidad, selecciona quién puede acceder a la app:

    • Verificadores de apps Selecciona Hacer que este chat esté disponible para personas específicas y, luego, ingresa sus direcciones de correo electrónico.
    • Dominio de Google Workspace empresarial o público general. Publica la app.
  9. Haz clic en Guardar. Tu app de Google Chat ya está activa y disponible para las personas que seleccionaste.

Prueba

Antes de probar tu app de Chat, asegúrate de haberla iniciado, como se describe en Cómo configurar Google Chat.

Puedes probar tu app con cualquiera de estos métodos:

Chatea directamente con la app

  1. Abre Google Chat.
  2. En el panel Chat, haz clic en + y selecciona Buscar apps.
  3. Busca y selecciona tu app. Si Google Chat no incluye tu app, consulta Cómo solucionar problemas.
  4. Haz clic en Chat.
  5. En el campo de entrada del chat, ingresa una frase de lenguaje natural para probar la app.

Invoca la app desde un espacio

  1. Abre Google Chat.
  2. En el panel Espacios, haz clic en + y selecciona Crear un espacio.
  3. Ingresa el nombre del espacio Prueba.
  4. Haz clic en Crear.
  5. En el campo de entrada del chat, ingresa @ y selecciona tu app para autocompletar el nombre.
  6. Después del nombre de la app que se completó automáticamente, ingresa una frase de lenguaje natural para probarla.

Solucionar problemas

Error Solución
En la página Dialogflow ES Console > Integrations, no se muestra Google Chat como opción. Intenta actualizar la página: En el menú de la izquierda, haz clic en Intents y, luego, en Integrations.
Google Chat no muestra tu app como disponible. Asegúrate de que el administrador de Google Workspace agregó una cuenta de Google Workspace por ti y les haya permitido a los usuarios instalar apps de Chat. Luego, asegúrate de que iniciaste la app de Chat, como se describe en Cómo configurar Google Chat.

Mensajes de respuesta enriquecida

Esta integración traduce algunos mensajes de mensajes de respuesta enriquecida a los formatos de mensaje de Google Chat.

Respuestas de texto

Las respuestas de texto se envían a Google Chat como mensajes de texto. Con este formato, puedes aplicarle negrita o cursiva al texto encapsulando el texto en determinados símbolos (símbolo de luz de markdown).

A nivel visual, la respuesta de mensaje de texto es la misma que la respuesta de texto predeterminada en la consola de Dialogflow. Sin embargo, la respuesta de la API sin procesar se verá un poco diferente. También establece la configuración de la plataforma en GOOGLE_HANGOUTS, lo que podría ser interesante cuando se compilan agentes para varias integraciones.

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

Tarjetas

Las respuestas con tarjeta se envían a Google Chat como mensajes con tarjeta.

Imágenes

Las respuestas de imagen se envían a Google Chat como widgets de imágenes de Google Chat.

Carga útil personalizada

Para enviar otros tipos de mensajes de Google Chat, puedes usar una carga útil personalizada.

La carga útil personalizada de Google Chat te permite crear tarjetas más avanzadas. Una tarjeta puede tener una o varias secciones. Cada sección puede tener un encabezado. Puedes consultar la guía de referencia de las tarjetas de formatos de mensajes de Google Chat para ver algunas de las combinaciones que puedes crear. Sin embargo, si usas cargas útiles personalizadas significa que tendrás que proporcionar el formato JSON.

Aquí hay un ejemplo de una carga útil personalizada con el 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/..."
              }
            }
          }
        }]
      }]
    }]
  }
}

Cómo detener la app de Chat

Para que la app de Google Chat deje de estar disponible, puedes usar cualquiera de las siguientes opciones:

Detén la app de Chat con la consola de Dialogflow

  1. Ve a la consola de Dialogflow ES.
  2. En el menú de la izquierda, selecciona un proyecto de Dialogflow.
  3. Haz clic en Integrations.
  4. Haz clic en Google Chat. Si Google Chat no es una de las opciones disponibles, consulta Solucionar problemas.
  5. Haz clic en Detener.

Detén la app de Chat con la consola de Google Cloud

  1. Selecciona el proyecto de Dialogflow en la consola de Google Cloud.

    Ir al selector de proyectos

  2. Haz clic en .

  3. Haz clic en APIs y servicios y, luego, en Biblioteca.

  4. Busca la opción API de Google Chat y haz clic en ella.

  5. Haz clic en Administrar.

  6. Haz clic en la pestaña Configuración.

  7. En el campo Estado de la app, selecciona INHABILITADA.

Más información

Para obtener más información sobre el uso de Google Chat, consulta lo siguiente: