Aplicaciones e integraciones
Por Sojan
Por Sojan
Conecta Chatwoot con herramientas y servicios externos para ampliar tus flujos de atención al cliente.
¿Cómo llevar tu chatbot de Dialogflow a Chatwoot?
Los chatbots son muy valiosos para muchos equipos de atención al cliente. Manejan eficientemente preguntas triviales y liberan a los agentes humanos para que puedan enfocarse en temas más importantes. Dialogflow y Rasa.ai son plataformas líderes de PLN (Procesamiento de Lenguaje Natural) para crear chatbots personalizados. En esta guía, explicamos cómo puedes crear un bot en Dialogflow e integrarlo fácilmente con Chatwoot en segundos. ¿Cómo crear un bot en Dialogflow? Paso 1. Ve a tu Consola de Dialogflow. Usaremos Dialogflow Essentials para este artículo. Haz clic en "Create Agent". Verás opciones como estas: Paso 2. Necesitarás crear intenciones (intents) según cómo quieras que responda tu bot. Habrá 2 intenciones predeterminadas en el proyecto llamadas "Default Fallback Intent" y "Default Welcome Intent", como se muestra abajo. Esto completa la configuración básica del bot. Ahora creemos una cuenta de servicio y conéctala con Chatwoot. También puedes crear intenciones adicionales para tus casos de uso específicos. Chatwoot también soporta intenciones avanzadas que habilitan transferencia a agentes, mensajes interactivos, etc. referencia: Desplázate hacia abajo hasta "Intenciones Avanzadas". Paso 3. Crea una cuenta de servicio. Para conectar este bot con Chatwoot, necesitas crear una cuenta de servicio en tu consola de Google Cloud. Navega al panel de tu proyecto en Google Cloud haciendo clic en el Project ID en la configuración del proyecto. Dirígete a IAM & Admin -> Service Accounts. Verás una vista similar a la que se muestra abajo. Haz clic en "Create Service Account". Proporciona un nombre y una descripción para la cuenta de servicio como se muestra abajo. Para otorgar acceso, selecciona Dialogflow API Client en el menú desplegable. Continúa y haz clic en "Done". Ahora deberías poder ver el servicio listado en el panel. El siguiente paso es crear una llave para poder compartirla con Chatwoot. Haz clic en la cuenta de servicio y luego en la pestaña "Keys". Después, haz clic en "Add Key". Verás una pantalla como la siguiente. Haz clic en "JSON" y después en "Create". Se generará una llave para tu cuenta de servicio. Descarga la clave y guárdala para usarla más tarde. Configuración de la integración de Dialogflow en Chatwoot Chatwoot tiene una integración nativa con Dialogflow. Puedes conectar tu bot con Chatwoot en solo dos pasos. Paso 1. Ve a "Settings -> Applications -> Dialogflow". Haz clic en "Configure". Paso 2. Haz clic en el botón "Add a new hook". Se abrirá un modal de configuración. Debes agregar el "Project ID", el "Project Key file", y una bandeja de entrada para crear el hook. Copia el contenido del archivo de clave descargado anteriormente y pégalo en el área de texto. ¡Eso es todo! La integración está completa. Prueba la bandeja de entrada del sitio web para ver si el bot responde a la consulta inicial. Intenciones Avanzadas Creando una intención de transferencia de chat Cuando el usuario solicita hablar con un agente, Dialogflow debe informar a Chatwoot que un agente puede hacerse cargo de la conversación. Crea una intención llamada "Handoff Intent" con frases de entrenamiento como "Talk to an agent" o "Speak with an agent", etc. Para manejar la intención de transferencia, crearemos una respuesta de tipo "Custom Payload", como se muestra abajo. { "action": "handoff" } Al activar una intención con el payload anterior, Chatwoot cambiará el estado de la conversación a open y la transferirá a un agente. Mensajes Interactivos Nota: Los mensajes interactivos actualmente solo son compatibles con la bandeja de entrada del sitio web. La integración Chatwoot-Dialogflow también soporta mensajes interactivos. Se soportan los siguientes tipos de mensajes interactivos. 1. Opciones (soporta seguimiento) 2. Tarjetas 3. Artículos Creando una intención de mensaje interactivo Puedes crear otros mensajes interactivos cambiando el payload según se indica en la guía de mensajes interactivos. Crea una intención con las frases de entrenamiento necesarias y una respuesta de tipo "Custom Payload", como se muestra abajo para un mensaje de opciones. ## ejemplo para un mensaje interactivo de opciones { "content_type": "input_select", "content": "Selecciona tu comida favorita de abajo", "content_attributes": { "items": [ { "value": "I like sushi", "title": "Sushi" }, { "title": "Biryani", "value": "I like biryani" }, { "title": "Pizza", "value": "I like pizza" } ] }, "private": false } Cuando un usuario interactúa con mensajes de entrada y selecciona un valor, este retorna a Dialogflow. Esto permite configurar intenciones de seguimiento, como crear una intención con la frase de entrenamiento "I like biryani" para casos en los que el contacto selecciona la opción "biryani". ¿Cómo puede un agente transferir la conversación de nuevo al bot de Dialogflow? Cuando el bot de Dialogflow está conectado a una bandeja de entrada, las conversaciones se crean con estado pending en lugar de open. Esto permite que la primera clasificación ocurra a través del bot antes de que la conversación pase a un agente. Cuando ocurre la handoff, el estado de la conversación cambia a open y el bot deja de responder. A veces los agentes pueden querer devolver una conversación que fue transferida, para que regrese a la cola del bot. Pueden hacer esto cambiando el estado de la conversación a pending. Esto hará que el bot vuelva a responder en esa conversación.
¿Cómo usar webhooks?
Los webhooks son callbacks HTTP que se configuran para cada cuenta. Estos se activan cuando ocurren acciones como la creación de un mensaje en Chatwoot. Se pueden crear múltiples webhooks para una sola cuenta. ¿Cómo agregar un webhook? Paso 1. Ve a Configuraciones → Integraciones → Webhooks. Haz clic en el botón "Configurar". Paso 2. Haz clic en el botón "Agregar nuevo webhook". Se abrirá un modal. Aquí, ingresa la URL a la que se debe enviar la solicitud POST. Luego, debes seleccionar los eventos a los que deseas suscribirte. Esta opción te permitirá escuchar solo los eventos relevantes en Chatwoot. Chatwoot enviará una solicitud POST con el siguiente payload a las URLs configuradas para diversas actualizaciones en tu cuenta. Ejemplo de payload de un webhook { "event": "message_created", // El nombre del evento "id": "1", // ID del mensaje "content": "Hi", // Contenido del mensaje "created_at": "2020-03-03 13:05:57 UTC", // Hora en la que se envió el mensaje "message_type": "incoming", // Esto puede ser incoming, outgoing o template. El usuario envía mensajes incoming desde el widget, y el agente envía mensajes outgoing al usuario. "content_type": "enum", // Esto es un enum y puede ser input_select, cards, form o text. message_type será template si content_type es alguno de estos. El valor por defecto es text "content_attributes": {} // Este será un objeto, los diferentes valores se definen abajo "source_id": "", // Este será el id externo si la bandeja es una integración de Twitter o Facebook. "sender": { // Esto proveerá los detalles del agente que envió el mensaje "id": "1", "name": "Agent", "email": "agent@example.com" }, "contact": { // Esto proveerá los detalles del usuario que envió el mensaje "id": "1", "name": "contact-name" }, "conversation": { // Esto proveerá los detalles de la conversación "display_id": "1", // Este es el ID de la conversación que puedes ver en el dashboard. "additional_attributes": { "browser": { "device_name": "Macbook", "browser_name": "Chrome", "platform_name": "Macintosh", "browser_version": "80.0.3987.122", "platform_version": "10.15.2" }, "referer": "<http://www.chatwoot.com>", "initiated_at": "Tue Mar 03 2020 18:37:38 GMT-0700 (Mountain Standard Time)" } }, "account": { // Esto proveerá los detalles de la cuenta "id": "1", "name": "Chatwoot", } } Eventos de webhook soportados en Chatwoot Chatwoot publica diversos eventos a los endpoints de webhook configurados. Si deseas configurar un webhook, consulta la guía aquí. Cada evento tiene su propia estructura de payload basada en el tipo de modelo sobre el que actúan. La siguiente sección describe los principales objetos que usamos en Chatwoot y sus atributos. Objetos Un payload de evento puede incluir cualquiera de los siguientes objetos. Los diferentes tipos de objetos soportados por Chatwoot se enumeran a continuación. Cuenta { "id": "integer", "name": "string" } Bandeja de entrada { "id": "integer", "name": "string" } Contacto { "id": "integer", "name": "string", "avatar": "string", "type": "contact", "account": { // <...Objeto Cuenta> } } Usuario { "id": "integer", "name": "string", "email": "string", "type": "user" } Conversación { "additional_attributes": { "browser": { "device_name": "string", "browser_name": "string", "platform_name": "string", "browser_version": "string", "platform_version": "string" }, "referer": "string", "initiated_at": { "timestamp": "iso-datetime" } }, "can_reply": "boolean", "channel": "string", "id": "integer", "inbox_id": "integer", "contact_inbox": { "id": "integer", "contact_id": "integer", "inbox_id": "integer", "source_id": "string", "created_at": "datetime", "updated_at": "datetime", "hmac_verified": "boolean" }, "messages": ["Array de objetos mensaje"], "meta": { "sender": { // Objeto Contacto }, "assignee": { // Objeto Usuario } }, "status": "string", "unread_count": "integer", "agent_last_seen_at": "unix-timestamp", "contact_last_seen_at": "unix-timestamp", "timestamp": "unix-timestamp", "account_id": "integer" } Mensaje { "id": "integer", "content": "string", "message_type": "integer", "created_at": "unix-timestamp", "private": "boolean", "source_id": "string / null", "content_type": "string", "content_attributes": "object", "sender": { "type": "string - contact/user" // Objeto Usuario o Contacto }, "account": { // Objeto Cuenta }, "conversation": { // Objeto Conversación }, "inbox": { // Objeto Bandeja de entrada } } Ejemplo de payload de un webhook { "event": "event_name" // Atributos relacionados con el evento } Eventos de Webhook Chatwoot soporta los siguientes eventos de webhook. Puedes suscribirte a ellos mientras configuras un webhook en el dashboard o usando la API. conversation_created Este evento se activará cuando se cree una nueva conversación en la cuenta. El payload del evento es el siguiente. { "event": "conversation_created" // <...Atributos de Conversación> } conversation_updated Este evento se activará cuando haya un cambio en alguno de los atributos de la conversación. { "event": "conversation_updated", "changed_attributes": [ { "<attribute_name>": { "current_value": "", "previous_value": "" } } ] // <...Atributos de Conversación> } conversation_status_changed Este evento se activará cuando el estado de la conversación cambie. Nota: Si estás utilizando APIs de agent bot en vez de webhooks, este evento aún no es soportado. { "event": "conversation_status_changed" // <...Atributos de Conversación> } message_created Este evento se activará cuando se cree un mensaje en una conversación. El payload del evento es el siguiente. { "event": "message_created" // <...Atributos de Mensaje> } message_updated Este evento se activará cuando un mensaje sea actualizado en una conversación. El payload del evento es el siguiente. { "event": "message_updated" // <...Atributos de Mensaje> } webwidget_triggered Este evento se activa cuando el usuario final abre el widget de chat en vivo. { "event": "webwidget_triggered", "id": "", "contact": { // <...Objeto Contacto> }, "inbox": { // <...Objeto Bandeja de entrada> }, "account": { // <...Objeto Cuenta> }, "current_conversation": { // <...Objeto Conversación> }, "source_id": "string", "event_info": { "initiated_at": { "timestamp": "date-string" }, "referer": "string", "widget_language": "string", "browser_language": "string", "browser": { "browser_name": "string", "browser_version": "string", "device_name": "string", "platform_name": "string", "platform_version": "string" } } } conversation_typing_on Este evento se activa cuando un agente comienza a escribir en una conversación. Puede ser una nota privada o un mensaje al cliente. Puedes usar el flag is_private para distinguir entre los dos. { "event": "conversation_typing_on", "conversation": { ...<Objeto Conversación> }, "user": { ... <Objeto Usuario / AgentBot / Captain> }, "is_private": true } conversation_typing_off Este evento se activa cuando un agente deja de escribir o cuando abandona la ventana de conversación. { "event": "conversation_typing_off", "conversation": { ...<Objeto Conversación> }, "user": { ... <Objeto Usuario / AgentBot / Captain> }, "is_private": true } Verificación de webhooks Chatwoot firma cada solicitud de webhook saliente para que tu servidor pueda verificar que el payload fue enviado por Chatwoot y que no ha sido alterado. El secreto se muestra una vez que el webhook es creado y puedes verlo nuevamente en el formulario de edición del webhook. Cada solicitud de webhook envía los siguientes encabezados, que se pueden utilizar para calcular la firma HMAC del payload - X-Chatwoot-Signature: Firma HMAC-SHA256 con prefijo sha256= - X-Chatwoot-Timestamp: Marca de tiempo Unix (segundos) cuando la solicitud fue firmada - X-Chatwoot-Delivery: ID único de entrega para el evento webhook (cuando esté disponible) La firma se calcula así: sha256=HMAC-SHA256(webhook_secret, "{timestamp}.{raw_body}") Donde: - webhook_secret es el secreto asociado al webhook - timestamp es el valor del encabezado X-Chatwoot-Timestamp - raw_body es el cuerpo bruto de la solicitud JSON (sin parsear/serializar nuevamente) Pasos de verificación 1. Extrae X-Chatwoot-Signature y X-Chatwoot-Timestamp de los encabezados de la solicitud 2. Lee el cuerpo crudo de la solicitud como bytes (no lo parsees ni serialices de nuevo) 3. Calcula la firma esperada: sha256=HMAC-SHA256(secret, "{timestamp}.{raw_body}") 4. Compara la firma calculada con la firma recibida usando una comparación en tiempo constante 5. Opcionalmente, rechaza las solicitudes donde la marca de tiempo es demasiado antigua para evitar ataques de replay Ejemplos Ruby def verify_signature(raw_body, timestamp, received_signature, secret) expected = "sha256=#{OpenSSL::HMAC.hexdigest('SHA256', secret, "#{timestamp}.#{raw_body}")}" ActiveSupport::SecurityUtils.secure_compare(expected, received_signature) end Python import hmac import hashlib def verify_signature(raw_body: bytes, timestamp: str, received_signature: str, secret: str) -> bool: message = f"{timestamp}.".encode() + raw_body expected = "sha256=" + hmac.new(secret.encode(), message, hashlib.sha256).hexdigest() return hmac.compare_digest(expected, received_signature) Node.js const crypto = require("crypto"); function verifySignature(rawBody, timestamp, receivedSignature, secret) { const message = `${timestamp}.${rawBody}`; const expected = "sha256=" + crypto.createHmac("sha256", secret).update(message).digest("hex"); return crypto.timingSafeEqual( Buffer.from(expected), Buffer.from(receivedSignature) ); } Go import ( "crypto/hmac" "crypto/sha256" "encoding/hex" "fmt" ) func verifySignature(rawBody []byte, timestamp, receivedSignature, secret string) bool { mac := hmac.New(sha256.New, []byte(secret)) mac.Write([]byte(fmt.Sprintf("%s.%s", timestamp, rawBody))) expected := "sha256=" + hex.EncodeToString(mac.Sum(nil)) return hmac.Equal([]byte(expected), []byte(receivedSignature)) } Notas importantes - Siempre usa el cuerpo crudo de la solicitud para la verificación. Parsear el JSON y volver a serializarlo puede cambiar el orden de las claves, los espacios en blanco o el escape de unicode, lo cual producirá una firma diferente. - Siempre usa una comparación en tiempo constante (por ejemplo, hmac.compare_digest, crypto.timingSafeEqual, ActiveSupport::SecurityUtils.secure_compare) para evitar ataques de temporización. - Considera rechazar solicitudes con marcas de tiempo mayores a 5 minutos para mitigar ataques de replay.
¿Cómo responder a conversaciones en Slack?
Si tu empresa/cuenta/proyecto utiliza Slack como medio de comunicación, puedes integrar Slack con Chatwoot para gestionar todas las conversaciones de tu buzón en tu espacio de trabajo de Slack. Para iniciar la configuración rápida, sigue los pasos que se explican a continuación. Si estás utilizando una instancia autohospedada de Chatwoot, por favor sigue esta guía. ¿Cómo integrar Slack con Chatwoot? Paso 1. Ve a Configuración -> Integraciones -> Slack -> Conectar. Paso 2. Ingresa la URL de tu espacio de trabajo de Slack cuando se te solicite. Paso 3. Revisa los permisos y permite que la aplicación Chatwoot acceda a tu espacio de trabajo de Slack. Paso 4. Serás redirigido a la pantalla de configuración, donde podrás ver una lista de tus canales de Slack (públicos y privados). (Para canales privados, consulta la sección a continuación) Debes seleccionar un canal de tu preferencia del menú desplegable en el que deseas recibir tus conversaciones de Chatwoot. Haz clic en el botón Actualizar. Ahora la integración está completa. Nota importante Si conectaste Slack antes de septiembre de 2023, no habrías tenido la opción de seleccionar un canal específico de Slack desde el cual gestionar tus conversaciones. Si deseas cambiar esto y seleccionar un canal de tu preferencia, deberás eliminar tu integración existente de Slack desde la aplicación Chatwoot y volver a conectarla. Preguntas Frecuentes P. Estoy respondiendo a un mensaje, pero no aparece en la bandeja de entrada de Chatwoot. R: Cuando respondas al mensaje, hazlo debajo del mismo hilo. Cada hilo representa una conversación separada, por lo que para mostrar tu respuesta al mismo mensaje, debes responder dentro del hilo. Usamos el ID del hilo para identificar la conversación separada. Funcionalidades soportadas Responde desde tu perfil de agente Cuando respondes a una conversación desde Slack, el cliente recibe la respuesta desde tu perfil de Agente en Chatwoot. Crea notas privadas desde Slack Puedes crear una nota privada en Chatwoot desde Slack. Si escribes un mensaje anteponiendo "note:", este se convierte en una nota privada y notifica a los agentes etiquetados. Aquí tienes un ejemplo: ¿Cómo agregar Chatwoot a canales privados? Por defecto, Chatwoot no se agregará a tus canales privados de Slack. Deberás hacerlo manualmente. Así es como puedes hacerlo: Paso 1: Después de autenticarte con Slack, serás redirigido a una página en Chatwoot donde puedes seleccionar el canal requerido. Paso 2: Ve a Slack y abre el canal privado que deseas conectar. Haz clic en los iconos de usuario en la parte superior del canal. Ve a Integraciones → Agregar aplicaciones. Paso 3: Busca Chatwoot. Verás la aplicación Chatwoot en la lista. Paso 4: Haz clic en Chatwoot para agregarlo al canal privado. Verás un mensaje de confirmación indicando que Chatwoot ha sido agregado. Paso 5: Vuelve a la aplicación Chatwoot y actualiza la página. El canal debería aparecer ahora en la lista. Selecciona el canal y completa la integración. Nota: Si aún no funciona, conecta la integración de Slack con un canal público, luego elimina la integración desde el lado de Chatwoot y vuelve a conectarla.
¿Cómo usar las aplicaciones de panel de control?
Con las aplicaciones de Panel, puedes integrar una aplicación dentro del panel de Chatwoot para que la utilicen los agentes. Esta función te permite crear una aplicación de manera independiente, que luego puede ser incrustada para mostrar información de clientes, pedidos, historial de pagos anteriores, etc. Cuando tu aplicación se incrusta en el panel de Chatwoot, obtendrá el contexto de la conversación y el contacto como un evento de ventana. Implementa un listener para el evento de mensaje en tu página para recibir el contexto. P.D. Echa un vistazo a nuestro YouTube en vivo sobre cómo crear una aplicación de Panel. ¿Cómo crear una aplicación de panel? Paso 1. Ve a Configuración → Integraciones → Aplicaciones de panel. Haz clic en el botón "Configurar" correspondiente a las Aplicaciones de panel. Paso 2. Agrega el nombre de tu aplicación y la URL en la que está alojada tu aplicación. Una vez que hayas terminado, aparecerá una nueva pestaña con el nombre que diste a la aplicación en la ventana de conversación. En este caso, es “Pedidos de clientes”. Cuando haces clic en la nueva pestaña, podrás ver que tu aplicación obtiene datos en el panel de Chatwoot. Recibiendo datos de Chatwoot en tu aplicación Chatwoot entregará el contexto de la conversación y el contacto como un evento de ventana. Esto puede ser accedido dentro de tu aplicación implementando un listener para el evento, como se muestra aquí: window.addEventListener("message", function (event) { if (!isJSONValid(event.data)) { return; } const eventData = JSON.parse(event.data); }); Solicitud bajo demanda de datos desde Chatwoot Si necesitas solicitar los datos de la conversación bajo demanda desde Chatwoot, puedes enviar un mensaje a la ventana principal utilizando la API postMessage de Javascript. Chatwoot estará escuchando esta clave: chatwoot-dashboard-app:fetch-info. Ejemplo El siguiente código se puede utilizar para consultar la aplicación de panel. Chatwoot responderá a esta solicitud proporcionando inmediatamente la carga útil actualizada de la conversación. window.parent.postMessage('chatwoot-dashboard-app:fetch-info', '*') // Recibirás un mensaje en el listener de mensajes con la carga útil de appContext. Carga útil del evento objeto conversation { "meta": { "sender": { "additional_attributes": { "description": "string", "company_name": "string", "social_profiles": { "github": "string", "twitter": "string", "facebook": "string", "linkedin": "string" } }, "availability_status": "string", "email": "string", "id": "integer", "name": "string", "phone_number": "string", "identifier": "string", "thumbnail": "string", "custom_attributes": "object", "last_activity_at": "integer" }, "channel": "string", "assignee": { "id": "integer", "account_id": "integer", "availability_status": "string", "auto_offline": "boolean", "confirmed": "boolean", "email": "string", "available_name": "string", "name": "string", "role": "string", "thumbnail": "string" }, "hmac_verified": "boolean" }, "id": "integer", "messages": [ { "id": "integer", "content": "Hello", "inbox_id": "integer", "conversation_id": "integer", "message_type": "integer", "content_type": "string", "content_attributes": {}, "created_at": "integer", "private": "boolean", "source_id": "string", "sender": { "additional_attributes": { "description": "string", "company_name": "string", "social_profiles": { "github": "string", "twitter": "string", "facebook": "string", "linkedin": "string" } }, "custom_attributes": "object", "email": "string", "id": "integer", "identifier": "string", "name": "string", "phone_number": "string", "thumbnail": "string", "type": "string" } } ], "account_id": "integer", "additional_attributes": { "browser": { "device_name": "string", "browser_name": "string", "platform_name": "string", "browser_version": "string", "platform_version": "string" }, "referer": "string", "initiated_at": { "timestamp": "string" } }, "agent_last_seen_at": "integer", "assignee_last_seen_at": "integer", "can_reply": "boolean", "contact_last_seen_at": "integer", "custom_attributes": "object", "inbox_id": "integer", "labels": "array", "muted": "boolean", "snoozed_until": null, "status": "string", "timestamp": "integer", "unread_count": "integer", "allMessagesLoaded": "boolean", "dataFetched": "boolean" } objeto contact { "additional_attributes": { "description": "string", "company_name": "string", "social_profiles": { "github": "string", "twitter": "string", "facebook": "string", "linkedin": "string" } }, "availability_status": "string", "email": "string", "id": "integer", "name": "string", "phone_number": "+91 9000000001", "identifier": "string || null", "thumbnail": "+91 9000000001", "custom_attributes": {}, "last_activity_at": "integer" } objeto currentAgent { "email": "string", "id": "integer", "name": "string" } Carga útil final { "event": "appContext", "data": { "conversation": { // <...Atributos de la conversación> }, "contact": { // <...Atributos del contacto> }, "currentAgent": { // <...Atributos del agente actual> } } }
¿Cómo habilitar las videollamadas con la integración de Dyte?
***La integración de Dyte ya no es compatible para nuevas configuraciones. Dyte se ha trasladado a Cloudflare RealtimeKit, y Chatwoot ahora utiliza Cloudflare RealtimeKit para las videollamadas. Por favor usa la ***guía de configuración de Cloudflare RealtimeKit para configurar las videollamadas. Realizar videollamadas con tus clientes es una excelente manera de conectar con ellos rápidamente, comprender sus problemas de manera efectiva, proporcionar resoluciones más rápidas y obtener valiosos insights comerciales. Puedes realizar videollamadas con tus clientes a través del chat en vivo del sitio web en Chatwoot. Para utilizar esta función, necesitarás habilitar la integración de Dyte. Esta guía te explica cómo hacerlo. P.D. Si no tienes una cuenta en Dyte, primero tendrás que crear una. ¿Cómo configurar la integración de Dyte en Chatwoot? Paso 1. Ve a Configuración -> Aplicaciones -> Dyte. Haz clic en el botón correspondiente "Configurar". Paso 2. Verás la página de la aplicación Dyte. Haz clic en el botón "Conectar". Paso 3. Ingresa tu Organization ID y API Key de Dyte. ¿Cómo encontrar los valores de tu configuración de Dyte? Para encontrar estos valores, visita la sección "API Keys" en tu portal de desarrollador de Dyte. En Chatwoot, una vez que hayas ingresado los valores, haz clic en el botón "Crear". Ahora, tu integración de Dyte está completa. ¿Cómo realizar videollamadas con tus clientes en Chatwoot? Una vez que la integración de Dyte esté habilitada, podrás ver la opción de videollamada en la ventana de chat de la bandeja de entrada del sitio web. Para invitar a tu cliente a una videollamada, sigue los pasos que se describen a continuación. Paso 1. Haz clic en el ícono de cámara de video debajo del editor de texto. Paso 2. Chatwoot enviará un mensaje con una invitación a tu cliente para unirse a la videollamada. Haz clic en el botón "Haz clic aquí para unirte" para entrar a la sala. Paso 3. Ahora estarás conectado con tu cliente. La interfaz de videollamada ofrece muchas opciones para enriquecer la experiencia tanto tuya como del cliente. Algunas de estas opciones se muestran en la siguiente captura de pantalla:
¿Cómo traducir mensajes con Google Translate?
Si recibes consultas con frecuencia en idiomas que tú o los miembros de tu equipo no entienden, puedes utilizar la integración de Google Translate en Chatwoot. Cuando está habilitada, puedes traducir mensajes entrantes al instante utilizando el menú del clic derecho. De este modo, puedes comunicarte fácilmente con los clientes en su idioma nativo, aunque tú no lo hables. ¿Cómo habilitar Google Translate en Chatwoot? Paso 1. Ve a Configuración -> Aplicaciones -> Google Translate. Haz clic en el botón "Configurar" correspondiente. Paso 2. Verás la página de la app de Google Translate. Haz clic en el botón "Conectar". Paso 3. Ingresa tu Google Cloud Project ID y el archivo de clave del proyecto. Si necesitas ayuda para obtener estos valores, consulta esta documentación de Google. Una vez que hayas ingresado los valores, haz clic en el botón "Crear". Ahora, tu integración con Google Translate está completa. ¿Cómo cambiar el idioma de traducción? Tus mensajes se traducen al idioma de tu sitio. Para seleccionar el idioma de tu sitio, visita la página "Configuración de cuenta". Paso 1. Ve a Configuración -> Configuración de cuenta -> Idioma del sitio. Abre el menú desplegable y selecciona tu idioma preferido. Paso 2. Haz clic en el botón "Actualizar configuración" en la esquina superior derecha de la página. Esto traducirá todo tu panel al idioma seleccionado. Nota: Los agentes también pueden seleccionar sus idiomas preferidos individualmente. ¿Cómo traducir los mensajes entrantes? Cada vez que recibas un mensaje en un idioma que necesites traducir, haz clic en los 3 puntos al lado del mensaje para abrir el menú y selecciona "Traducir". Encuentra el contenido traducido en línea. ¿Cómo crear una cuenta de servicio en Google Cloud Console? Para crear una cuenta de servicio para la API de Google Translate, comienza iniciando sesión en la Google Cloud Console y seleccionando o creando un nuevo proyecto. Una vez que tu proyecto esté listo, habilita la Cloud Translation API navegando a “APIs y Servicios” > “Biblioteca” y buscando “Cloud Translation API.” Haz clic en “Habilitar” para activarla para tu proyecto. También es necesario habilitar la facturación si no lo has hecho ya. Luego, dirígete a “IAM y administración” > “Cuentas de servicio” y haz clic en “Crear cuenta de servicio.” Proporciona un nombre (por ejemplo, translate-api-user) y continúa para asignar el rol de “Usuario de Cloud Translation API.” Después de crear la cuenta de servicio, navega a la sección “Claves,” haz clic en “Agregar clave,” y selecciona “Crear nueva clave” en formato JSON. Descarga y almacena de forma segura este archivo JSON. Utiliza el contenido del archivo que recibiste arriba en el campo Archivo de clave de proyecto de Google Cloud en Chatwoot.
¿Cómo mejorar las conversaciones con la integración de OpenAI?
Interactuar con los clientes exige un profesionalismo incansable. La forma en que te comunicas con tus clientes suele ser un factor determinante tanto para las ventas como para la retención de clientes. Sin mencionar los efectos en la identidad de marca. Pero, para sonar siempre perfecto––tendrías que ser un robot. Así que trajimos la IA a tu panel en su lugar. Con nuestra integración de OpenAI, puedes mejorar las conversaciones con tus clientes a medida que suceden. Al integrar IA en tu panel de Chatwoot, puedes mejorar las conversaciones con tus clientes en tiempo real, sin sacrificar tu voz única ni la identidad de tu marca. Recibirás sugerencias potenciadas con IA que te ayudarán a perfeccionar tus mensajes y a comunicarte de manera más eficaz con tus clientes. Configurar la integración toma menos de un minuto, y los beneficios son inmediatos. Para comenzar, sigue los pasos a continuación. ¿Cómo integrar OpenAI con Chatwoot? Paso 1. Ve a Configuración → Aplicaciones → OpenAI. Haz clic en el botón “Configurar” correspondiente. Paso 2. Haz clic en el botón "Conectar". Aparecerá una ventana emergente solicitando tu clave API de OpenAI. Para obtener tu clave API de OpenAI, inicia sesión en tu cuenta de OpenAI y visita este enlace. Una vez que ingreses tu clave API secreta, verás un mensaje de éxito en la pantalla. ¿Cómo usar las funciones de IA en Chatwoot? Hay tres funciones impulsadas por IA en Chatwoot. Las secciones a continuación explican cómo utilizarlas. Sugerencia de respuesta con IA La función “Sugerencia de respuesta con IA” sugiere una posible respuesta a un mensaje de un cliente, ayudando a responder rápidamente. Sigue los pasos a continuación para usar esta función. Paso 1. Ve a la pestaña de Conversaciones en la barra lateral y abre una conversación que requiera una respuesta. Deberías ver una nueva opción llamada "Sugerencia de respuesta con IA". Aquí tienes un ejemplo: Paso 2. Haz clic en el botón para ver la sugerencia. El cuadro de respuesta se llenará con la respuesta sugerida. Paso 3. Edita tu mensaje como desees y haz clic en el botón Enviar. Mejorar con IA La función “Mejorar con IA” sugiere mejoras para tus borradores de mensajes mientras los estás redactando. Sigue los pasos a continuación para utilizar esta función. Paso 1. Ve a la pestaña de Conversaciones en la barra lateral y abre una conversación. Comienza a escribir un mensaje en el cuadro de texto. Mientras lo escribes, deberías ver aparecer una nueva opción llamada "Mejorar con IA". Aquí tienes un ejemplo: Paso 2. Haz clic en el botón "Mejorar con IA" para ver tus opciones. Selecciona un tono para tu mensaje – profesional o amistoso. Haz clic en el botón "Generar". Según la selección de tono, la IA reescribirá tu mensaje y llenará instantáneamente el cuadro de texto con el nuevo mensaje. Continuando el ejemplo, así es como se vería: Paso 3. Edita tu mensaje como desees y haz clic en el botón Enviar. Resumen con IA La función “Resumen con IA” resume conversaciones en Notas Privadas en segundos. Sigue los pasos a continuación para usar esta función. Paso 1. Ve a la pestaña de Conversaciones en la barra lateral y abre una conversación. Cambia a la pestaña “Nota privada”. Deberías ver una nueva opción llamada "Resumen con IA". Aquí tienes un ejemplo: Paso 2. Haz clic en el botón. El editor de texto se llenará con un resumen de la conversación. Paso 3. Edita tu nota como desees y haz clic en el botón ‘Agregar nota’. ¿Cómo usar la Asistencia de IA? Puedes activar o desactivar la asistencia de IA seleccionándola desde la barra de comandos o haciendo clic en el botón de Asistencia de IA dentro del editor. Para seleccionar una función, simplemente haz clic en ella. Una vez que hayas hecho clic en una opción, el modal de Sugerencia de respuesta con IA se abrirá mostrando contenido generado por IA. Para insertar el contenido en el editor, haz clic en el botón Usar esta sugerencia. Preguntas frecuentes ¿Los resultados de la Asistencia de IA siempre son precisos? Los resultados pueden no ser siempre precisos. Aunque la Asistencia de IA está diseñada para proporcionar sugerencias precisas, es importante que los agentes revisen y verifiquen las sugerencias antes de enviarlas a los clientes. Además, seguimos trabajando continuamente en mejorar nuestra Asistencia de IA. ¿Soportan algún proveedor de IA además de OpenAI? Por el momento, solo soportamos OpenAI. Pero planeamos agregar más proveedores pronto.
¿Cómo hacer un seguimiento de Incidencias y Funcionalidades con la integración de Linear?
Si tu empresa, cuenta o proyecto utiliza Linear como herramienta de proyectos, puedes integrarlo con Chatwoot para gestionar todas las conversaciones en tu espacio de trabajo de Linear. Puedes crear nuevos issues en Linear directamente desde tu ventana de conversación o enlazar con los existentes para un seguimiento eficiente. Para comenzar la configuración, sigue los pasos a continuación. Si usas una instancia autohospedada de Chatwoot, por favor sigue esta guía. ¿Cómo conectar la integración con Linear? Paso 1. Ve a Configuración → Integraciones → Linear. Haz clic en el botón "Configurar" Paso 2. Haz clic en el botón Conectar. Cuando aparezca la solicitud de permisos, haz clic en Autorizar para conceder los permisos. Una vez completado, serás redirigido a la aplicación de Chatwoot. ¡Voilà! Ahora puedes usar Linear en tu cuenta de Chatwoot. Funciones soportadas Crear issues desde la conversación Para crear un nuevo issue, abre cualquier conversación y haz clic en el botón de Linear en la cabecera de la conversación. Luego completa los detalles del issue, incluyendo título, descripción y equipo. Después de completar los detalles, haz clic en el botón Crear para agregar el issue a tu espacio de trabajo de Linear con la conversación enlazada. El issue se creará en tu espacio de trabajo de Linear con la conversación enlazada. Vincular issues existentes. Para vincular una conversación con un ticket existente, haz clic en la pestaña vincular issue, busca el ticket y haz clic en "Vincular" para conectarlo con el ticket de Linear.
Cómo rastrear pedidos con la integración de Shopify
Si tu empresa, cuenta o proyecto utiliza Shopify como herramienta, puedes integrarlo con Chatwoot para ver todos los pedidos de un contacto en particular. Los agentes de soporte pueden ver los pedidos, su estado y el enlace a la página del pedido en la barra lateral de la conversación. Esta integración permite el seguimiento de pedidos y proporciona a los equipos de servicio al cliente información clave sobre los pedidos sin salir de la interfaz de Chatwoot. Los agentes pueden acceder rápidamente a los detalles del pedido, incluido el estado del envío, información de pago y especificaciones del producto, directamente desde la barra lateral de la conversación. Si estás utilizando una instancia autohospedada de Chatwoot, por favor sigue esta guía. ¿Cómo conectar la integración de Shopify? Paso 1. Ve a Configuración → Integraciones → Shopify. Haz clic en el botón "Configurar". Paso 2. Haz clic en el botón Conectar. Paso 3. Ingresa la URL de tu tienda Shopify y haz clic en el botón Confirmar. Paso 4. Serás redirigido a la página de Shopify. Haz clic en el botón Instalar aplicación. Paso 5. Una vez terminado, serás redirigido al panel de Chatwoot. ¡Voilà! Ahora puedes usar Shopify en tu cuenta de Chatwoot. Características compatibles Chatwoot muestra todos los pedidos de los contactos cuyo número de teléfono o correo electrónico coincide con su registro en Shopify.
¿Cómo habilitar las videollamadas con Cloudflare RealtimeKit?
Las videollamadas ayudan a tu equipo a conectarse rápidamente con los clientes, entender los problemas con claridad y ofrecer soporte más rápido. Chatwoot admite videollamadas para conversaciones de chat en vivo en el sitio web a través de la integración con Cloudflare RealtimeKit. Esta guía explica cómo crear las credenciales requeridas de Cloudflare RealtimeKit, conectarlas con Chatwoot y comenzar una videollamada desde una conversación. Nota: Si anteriormente usabas la integración con Dyte, utiliza Cloudflare RealtimeKit para nuevas configuraciones. La infraestructura heredada de Dyte se retirará tras la adquisición por parte de Cloudflare. Requisitos previos Antes de comenzar, asegúrate de tener: - Acceso a tu cuenta de Cloudflare. - Permiso para crear una aplicación RealtimeKit en Cloudflare. - Permiso para crear tokens de API de Cloudflare. - Acceso de administrador a tu cuenta de Chatwoot. ¿Cómo crear una aplicación RealtimeKit en Cloudflare? Paso 1. Abre el panel de Cloudflare y ve a Realtime -> RealtimeKit. Paso 2. Haz clic en el botón "Crear app". Paso 3. Ingresa un nombre para la aplicación. Por ejemplo, puedes usar "video-support". Haz clic en "Crear". Paso 4. Después de crear la aplicación, copia el App ID de RealtimeKit. Necesitarás este valor al conectar la integración en Chatwoot. ¿Cómo encontrar el ID de tu cuenta de Cloudflare? Paso 1. Ve a la página principal de tu cuenta de Cloudflare. Paso 2. Haz clic en el menú de tres puntos en la esquina superior derecha. Paso 3. Haz clic en "Copiar ID de cuenta". ¿Cómo crear un token de API de Cloudflare? Paso 1. En Cloudflare, ve a Mi perfil -> Tokens de API. Paso 2. Haz clic en "Crear token". Paso 3. En "Token personalizado", haz clic en "Comenzar". Paso 4. Asigna un nombre descriptivo al token. Por ejemplo, puedes usar "video-support". Paso 5. En Permisos, selecciona: - Alcance: Cuenta - Permiso: Realtime - Acceso: Admin Paso 6. En Recursos de la cuenta, selecciona la cuenta de Cloudflare que deseas usar con Chatwoot. Puedes seleccionar "Todas las cuentas" si deseas que el token funcione en todas las cuentas a las que tienes acceso. Paso 7. Revisa el resumen del token y haz clic en "Crear token". Paso 8. Copia el token de API. Cloudflare solo muestra este token una vez, así que guárdalo en un lugar seguro hasta que lo añadas a Chatwoot. ¿Cómo configurar la integración de RealtimeKit en Chatwoot? Paso 1. En Chatwoot, ve a Configuración -> Aplicaciones -> Cloudflare RealtimeKit. Paso 2. Haz clic en "Configurar". Paso 3. Haz clic en "Conectar". Paso 4. Ingresa los siguientes valores: - ID de cuenta de Cloudflare - App ID de RealtimeKit - Token de API de Cloudflare Paso 5. Haz clic en "Crear". Chatwoot valida las credenciales antes de guardar la integración. Si algún valor es incorrecto, verás un error específico para el token de API, el ID de cuenta, los permisos o el App ID de RealtimeKit. Una vez que las credenciales se guardan, la integración de RealtimeKit está lista para usarse. ¿Cómo llamar por video a tus clientes en Chatwoot? Una vez habilitada la integración de RealtimeKit, verás la opción de videollamada en las conversaciones de la bandeja de entrada del sitio web. Paso 1. Abre una conversación en la bandeja de entrada del sitio web. Paso 2. Haz clic en el ícono de cámara de video debajo del editor de respuesta. Paso 3. Chatwoot envía un mensaje de invitación a reunión al cliente. Haz clic en "Haz clic aquí para unirte" para ingresar a la llamada. Paso 4. El cliente puede unirse a la misma llamada desde el widget de chat en vivo del sitio web. Paso 5. Una vez que ambas partes se unan, el agente y el cliente pueden continuar la conversación por video o voz.