Integración de Google Chat en Dialogflow

Cuando integras Dialogflow con Google Chat, aprovechas 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. A través de Google Chat, puedes mejorar las interfaces de usuario compilando tarjetas que incorporen í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 los intents de los usuarios, por ejemplo, para programar citas o procesar compras.

Si bien también puedes usar Google Chat para llevar a cabo las solicitudes de los usuarios, Dialogflow les permite expresar sus solicitudes a través de una conversación normal.

Cómo funciona

Una vez que compiles una app de Google Chat habilitada para Dialogflow, podrás hacer que la app esté disponible para lo siguiente:

  • Público en general. Los usuarios con licencia de Google Workspace 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.
  • Pruebas de apps. Mientras pruebas la 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 se puede alojar 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 renderiza una respuesta en forma de mensaje de texto, mensaje de tarjeta o mensaje de diálogo en la IU.
  8. Google Chat comparte esta respuesta tal como está o presenta una respuesta enriquecida con una IU basada en tarjetas.

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

Limitaciones

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

Antes de comenzar

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

Cómo compilar un agente de Dialogflow

Si aún no creaste 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 con 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. Haz clic en Integrations.
  4. Haz clic en Google Chat. Si Google Chat no es una de las opciones, consulta Solución de problemas.
  5. Selecciona quiénes pueden acceder a la app.
  6. [Opcional] Selecciona un entorno para ejecutar el agente.
  7. Haz clic en Iniciar.

Tu app de Google Chat ya está 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 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 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énes pueden acceder a la app:

    • Verificador 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 para el público en general o para empresas. Publica la app.
  9. Haz clic en Guardar. Tu app de Google Chat ya está 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 muestra tu app, consulta Cómo solucionar 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 Espacios, 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 completar automáticamente el nombre.
  6. Después del nombre de la app completado automáticamente, ingresa una frase en lenguaje natural para probarla.

Solucionar problemas

Error Solución
La página consola de Dialogflow ES > Integraciones no 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 haya agregado una cuenta de Google Workspace para ti y haya permitido 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 si lo ajustas con ciertos símbolos (Markdown ligero).

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, que podría ser interesante cuando se compilan los agentes para varias integraciones.

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

Tarjetas

Las respuestas de la tarjeta se envían a Google Chat como mensajes de 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.

A continuación, se muestra un ejemplo de una carga útil personalizada que usa 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/..."
              }
            }
          }
        }]
      }]
    }]
  }
}

Detén la app de Chat

Para que la app de Google Chat no esté 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, consulta Solución de 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 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 aplicación, selecciona INHABILITADA.

Más información

Para obtener más información sobre el uso de Google Chat, consulta los siguientes vínculos: