En esta página, se explica cómo compilar una app de Google Chat como un complemento de Google Workspace que usa Dialogflow ES para comprender el lenguaje natural y responder a él. También puedes usar Dialogflow CX, que tiene una integración directa con Google Chat, para compilar una app de Google Chat basada en Dialogflow CX siguiendo la guía de Google Chat basada en Dialogflow CX.
Objetivos
- Configura el entorno.
- Crea y, luego, implementa un agente de Dialogflow ES.
- Crea y, luego, implementa una app de Chat con tecnología del agente de Dialogflow ES.
- Prueba la app de Chat.
Requisitos previos
- Una cuenta de Google Workspace Business o Enterprise con acceso a Google Chat.
- Un proyecto de Google Cloud con facturación habilitada. Para verificar que un proyecto existente tenga habilitada la facturación, consulta Verifica el estado de facturación de tus proyectos. Para crear un proyecto y configurar la facturación, consulta Crea un proyecto de Google Cloud.
Arquitectura
En el siguiente diagrama, se muestra la arquitectura de una app de Chat compilada con Dialogflow:
En el diagrama anterior, un usuario que interactúa con una app de Chat de Dialogflow tiene el siguiente flujo de información:
- Un usuario envía un mensaje en Chat a una app de Chat, ya sea en un mensaje directo o en un espacio de Chat.
- Un agente virtual de Dialogflow, que reside en , recibe y procesa el mensaje para producir una respuesta.
- De manera opcional, con un webhook de Dialogflow, el agente de Dialogflow puede interactuar con servicios externos de terceros, como un sistema de administración de proyectos o una herramienta de emisión de tickets.
- El agente de Dialogflow envía una respuesta al servicio de la app de Chat en Chat.
- La respuesta se entrega al espacio de Chat.
Configura el entorno
Antes de usar las APIs de Google, debes activarlas en un proyecto de Google Cloud. Puedes activar una o más APIs en un solo proyecto de Google Cloud.En la Consola de APIs de Google, habilita la API de Google Chat y la API de Dialogflow.
Confirma que estás habilitando las APIs en el proyecto de Cloud correcto y, luego, haz clic en Siguiente.
Confirma que estás habilitando las APIs correctas y, luego, haz clic en Habilitar.
Crea un agente de Dialogflow ES
Si no tienes un agente de Dialogflow ES existente, sigue estos pasos:
- Ve a la consola de Dialogflow ES.
- Haz clic en Create Agent.
- Asigna un nombre, selecciona un idioma predeterminado y una zona horaria.
- Asócialo con tu proyecto de Cloud.
- Haz clic en Crear.
- Compila tus intents y entidades según sea necesario para el flujo conversacional de tu app de Chat. Puedes comenzar con un intent de saludo.
- Toma nota de tu ID del proyecto.
Para obtener una guía detallada, consulta Compila un agente.
Crea una app de Chat y conéctala con el agente de Dialogflow
Después de crear un agente de Dialogflow ES, sigue estos pasos para convertirlo en una app de Chat:
En la Consola de APIs de Google, ve a la API de Google Chat. Busca "API de Google Chat" y haz clic en API de Google Chat y, luego, en Administrar.
Haz clic en Configuración y configura la app de Chat:
- En Nombre de la app, ingresa
Dialogflow App. - En URL del avatar, ingresa
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png. - En Descripción, ingresa
Responds to real human conversation. - En Funcionalidad, selecciona Unirse a espacios y conversaciones grupales.
- En Configuración de conexión, selecciona Dialogflow.
- En Configuración de Dialogflow, selecciona Dialogflow ES.
- Hacer que esta app de Chat esté disponible para personas y grupos específicos de tu dominio y escribe tu dirección de correo electrónico.
- En Registros, selecciona Registrar errores en Logging.
- En Nombre de la app, ingresa
Haz clic en Guardar.
La app de Chat está lista para recibir mensajes y responderlos en Chat.
Prueba la app de Chat
Para probar la app de Chat de Dialogflow ES, envíale un mensaje en Google Chat.
Abre Google Chat con la cuenta de Google Workspace que proporcionaste cuando te agregaste como evaluador de confianza.
- Haz clic en Nuevo chat.
- En el campo Agregar 1 o más personas, escribe el nombre de tu app de Chat.
Selecciona tu app de Chat en los resultados. Se abrirá un mensaje directo.
En el nuevo mensaje directo con la app, escribe
Helloy presionaenter.La app de Chat de Dialogflow responde con un mensaje de saludo.
Respuestas de texto
Las respuestas de texto se envían a Google Chat como mensajes de texto. Con este formato, puede poner el texto en negrita o cursiva si lo ajustas con ciertos símbolos (Markdown ligero).
La respuesta del 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 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.
El siguiente es un ejemplo de una carga útil personalizada para crear un mensaje con una tarjeta:
{ "hangouts": { "hostAppDataAction": { "chatDataAction": { "createMessageAction": { "message": { "cardsV2": [{ "cardId": "pizza", "card": { "header": { "title": "Pizza Delivery Customer Support", "subtitle": "pizzadelivery@example.com", "imageUrl": "https://goo.gl/aeDtrS" }, "sections": [{ "widgets": [{ "textParagraph": { "text": " Your pizza is here!" }}]}] } }]}} }}}}
Límites y consideraciones
- Cuando se usan complementos de Google Workspace con Dialogflow, los objetos de eventos de Chat
tienen las siguientes limitaciones y consideraciones:
- Eventos de la página principal de la app: Aún no está disponible la compatibilidad con eventos
APP_HOME. - Entrada de consulta de Dialogflow: El texto que se envía como entrada de consulta al agente de Dialogflow depende del tipo de evento:
MESSAGE: El valor del campoargumentTextdel mensaje de Chat.APP_COMMAND: La cadena"APP_COMMAND_PAYLOAD".ADDED_TO_SPACE: Se envía un evento de bienvenida predeterminado.REMOVED_FROM_SPACE: La cadena"REMOVED_FROM_SPACE_PAYLOAD".CARD_CLICKED: La cadena"BUTTON_CLICKED_PAYLOAD".WIDGET_UPDATED: La cadena"WIDGET_UPDATED_PAYLOAD"(que se usa para el autocompletado).
- Carga útil completa del evento: La carga útil completa de JSON del evento de interacción de Chat se envía a Dialogflow dentro del campo
WebhookRequest.payload. Puedes acceder a esta información en tu webhook de Dialogflow. Para obtener más información, consulta la documentación de la solicitud de webhook de Dialogflow ES.
- Eventos de la página principal de la app: Aún no está disponible la compatibilidad con eventos
- Consideraciones para responder a
comandos y
recibir datos de tarjetas o diálogos:
- Si el agente de Dialogflow necesita procesar la carga útil de JSON del evento de interacción de Chat, puede hacerlo con un webhook de Dialogflow para inspeccionar la carga útil personalizada en el parámetro de consulta.
- Para mostrar un diálogo desde el
agente de Dialogflow, responde con una sola carga útil de JSON personalizada que
contenga un
RenderActionsobjeto con la navegaciónpushCard. - Para procesar los datos ingresados desde las tarjetas, puedes usar un webhook de Dialogflow y responder con una sola carga útil de JSON personalizada que contenga la acción adecuada.
- No se admiten las vistas previas de vínculos.
- Si el agente de Dialogflow responde con un solo mensaje, este se envía a Google Chat de forma síncrona. Si el agente de Dialogflow responde
con varios mensajes, todos se envían a Chat
de forma asíncrona llamando al
createmétodo en el recursospaces.messagesen la API de Chat una vez por cada mensaje. - Cuando se usa la integración de Dialogflow ES con Chat, el agente de Dialogflow y la app de Chat deben configurarse en el mismo proyecto de Google Cloud.
Solucionar problemas
Para depurar tu app de Chat, comienza por revisar los registros de errores. Como esta app usa Dialogflow, tienes varios recursos de registro y solución de problemas disponibles:
Registros de complementos de Google Workspace: Consulta los registros para obtener información detallada sobre el comportamiento del complemento, incluidas sus interacciones con Chat. Consulta Registra registros para complementos de Google Workspace.
Errores de la app de Google Chat: Para obtener mensajes y correcciones de errores generales de la app de Chat, consulta Soluciona problemas y corrige errores de la app de Chat.
Historial de conversaciones de Dialogflow ES: Historial | Dialogflow ES
Solución de problemas generales de Dialogflow: Solución de problemas | Dialogflow
Limpia
Para evitar que se apliquen cargos a tu cuenta por los recursos que usaste en este instructivo, te recomendamos que borres el proyecto de Cloud.
- En la Consola de APIs de Google, ve a la página Administrar recursos. Haz clic en el Menú > IAM y administración > Administrar recursos.
- En la lista de proyectos, selecciona el proyecto que deseas borrar y haz clic en Borrar .
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
Temas relacionados
- Dialogflow CX es otra forma de usar Dialogflow con una app de Chat.