Integración de Google Chat en Dialogflow

La integración de Dialogflow en Google Chat te permite aprovechar las funciones de ambos servicios:

  • Google Chat. Proporciona una plataforma de mensajería con una interfaz de usuario de frontend para conversaciones individuales y espacios de chat. Con Google Chat, puedes mejorar las interfaces de usuario creando tarjetas con í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 automatizadas y respuestas dinámicas. A través de Dialogflow, puedes interpretar y entregar intents de usuario, por ejemplo, para programar citas o procesar compras.

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

Cómo funciona

Una vez que compilas una app de Google Chat habilitada para Dialogflow, puedes hacer que la app esté disponible para los siguientes usuarios:

  • 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 puede alojarse 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 JSON a Google Chat.
  7. Google Chat recibe la respuesta JSON de la app de Chat y la procesa en la forma de un mensaje de texto, un mensaje de tarjeta o un mensaje de diálogo en la IU.
  8. Google Chat comparte esta respuesta sin modificaciones 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 de chat enriquecidas.

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:

Compila un agente de Dialogflow

Si aún no compilaste un agente de Dialogflow, pero te gustaría ver cómo interactúa un agente 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 en Google Chat, puedes usar cualquiera de las siguientes opciones:

Configura Google Chat con la consola de Dialogflow

Para integrar Google Chat con 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. Haga clic en Integrations.
  4. Haz clic en Google Chat. Si Google Chat no es una de las opciones, 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 Start.

La 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. Se mostrará la página de la consola de Google Cloud para la API de Google Chat, en la que puedes configurar los 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 y haz clic en API de Google Chat.

  5. Haz clic en Habilitar.

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

  7. Configura la app.

  8. En el panel Visibility, selecciona quiénes pueden 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 público o empresarial general. Publica la app.
  9. Haz clic en Guardar. Tu app de Google Chat ya está activa y disponible para los usuarios que seleccionaste.

Probarla

Antes de probar tu app de Chat, asegúrate de haberla iniciado, como se describe en Configura Google Chat.

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

Chatea directamente con la app

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

Invoca la app desde un espacio

  1. Abre Google Chat.
  2. En el panel Spaces, haz clic en + y selecciona Crear un espacio.
  3. Ingresa el nombre del espacio Test.
  4. Haz clic en Crear.
  5. En el campo de entrada de 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 en lenguaje natural para probarla.

Solución de 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 Integraciones.
Google Chat no muestra tu app como disponible. Asegúrate de que el administrador de Google Workspace haya agregado una cuenta de Google Workspace por ti y permita que los usuarios instalen apps de Chat. Luego, asegúrate de haber iniciado 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 poner el texto en negrita o cursiva encapsulando el texto en determinados símbolos (color claro).

A nivel visual, la respuesta de mensaje de texto tiene el mismo aspecto 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 múltiples 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 imágenes 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í tienes un ejemplo de una carga útil personalizada con el formato de tarjetas 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. Haga clic en Integrations.
  4. Haz clic en Google Chat. Si Google Chat no es una de las opciones, 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 y haz clic en API de Google Chat.

  5. Haz clic en Administrar.

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

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

Más información

Para obtener más información sobre cómo usar Google Chat, consulta los siguientes vínculos: