En esta página, se explica cómo compilar una app de Google Chat como complemento de Google Workspace que usa Dialogflow ES para comprender el lenguaje natural y responder con é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 de Dialogflow CX.
Objetivos
- Configura el entorno.
- Crea e implementa un agente de Dialogflow ES.
- Crea e implementa una app de chat potenciada por el agente de Dialogflow ES.
- Prueba la app de Chat.
Requisitos previos
- Una cuenta de Google Workspace para empresas 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 creada 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 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 habilitarás las APIs en el proyecto de Cloud correcto y, luego, haz clic en Siguiente.
Confirma que habilitarás 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 a tu proyecto de Cloud.
- Haz clic en Crear.
- Crea 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 del ID del proyecto.
Para obtener una guía detallada, consulta Cómo compilar 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”, 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, luego, ingresar 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 y responder mensajes en Chat.
Prueba la app de Chat
Prueba la app de Chat de Dialogflow ES enviándole mensajes en Google Chat.
Abre Google Chat con la cuenta de Google Workspace que proporcionaste cuando te agregaste como verificador de confianza.
- Haz clic en Nuevo chat.
- En el campo Agrega 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, puedes 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 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 complementos de Google Workspace que extienden 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 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 usas 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 los eventos de
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: Es 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: Es la cadena"WIDGET_UPDATED_PAYLOAD"(que se usa para la función de autocompletar).
- Carga útil completa del evento: La carga útil JSON completa del evento de interacción de chat se envía a Dialogflow en el 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 los eventos de
- 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 objeto
RenderActionscon 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 método
createdel recursospaces.messagesen la API de Chat una vez por cada mensaje. - Cuando usas 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: Registros de consultas para obtener información detallada sobre el comportamiento del complemento, incluidas sus interacciones con Chat. Consulta Registros de consultas para complementos de Google Workspace.
Errores de la app de Google Chat: Para obtener información general sobre los mensajes de error y las correcciones de la app de Chat, consulta Soluciona 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 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 borrarlo.
Temas relacionados
- Dialogflow CX es otra forma de usar Dialogflow con una app de Chat.