Integración de Google Chat en Dialogflow

Si integras Dialogflow con Google Chat, puedes 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. A través de Google Chat, puedes mejorar las interfaces de usuario creando 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 satisfacer las intenciones de los usuarios, por ejemplo, para programar citas o procesar compras.

Si bien también puedes usar Google Chat para satisfacer 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 ponerla a disposición de los siguientes usuarios:

  • 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.
  • Testers de la app 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 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 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 en 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 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 creaste un agente de Dialogflow, pero quieres 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, configuraremos 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én puede 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 & Services y, luego, en Library.

  4. Busca y haz clic en Google Chat API.

  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.
    • Público en general o dominio de Google Workspace Enterprise 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 Configura Google Chat.

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

Chatear 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 Solución de problemas.
  4. Haz clic en Chat.
  5. En el campo de entrada del 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 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 en lenguaje natural para probar la app.

Solucionar problemas

Error Solución
La página Integraciones de la consola de Dialogflow ES 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 tu 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 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.

A continuación, se muestra un ejemplo de una carga útil personalizada con el formato de 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, 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 & Services y, luego, en Library.

  4. Busca y haz clic en Google Chat API.

  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 cómo usar Google Chat, consulta los siguientes recursos: