Rocket.Chat Omnichannel
Conecta Livechat, WhatsApp y otros canales de Rocket.Chat con tu bot: el visitante escribe en RC, la IA responde automáticamente y todo el historial queda en Mis conversaciones.
Volver al índice de documentación
Qué hace esta integración
Cuando un visitante escribe por Livechat o por un canal conectado a Rocket.Chat (por ejemplo WhatsApp), Rocket.Chat avisa a EasyChatBot. Tu bot procesa el mensaje con el mismo cerebro que el widget web — contexto, intenciones e historial — y la respuesta vuelve a Rocket.Chat como si la enviara el agente que configuraste.
Es independiente del widget embebido en tu web y de la API con clave: puedes usar las tres cosas a la vez si lo necesitas.
sequenceDiagram
participant Visitante
participant RC as RocketChat
participant ECB as EasyChatBot
participant Panel as Tu_panel
Visitante->>RC: Escribe por WhatsApp o Livechat
RC->>ECB: Notifica nuevo mensaje
ECB->>ECB: Genera respuesta con IA
ECB->>RC: Envía respuesta como agente bot
ECB->>Panel: Actualiza conversación en tiempo real
Requisitos
- Plan Eter Plus.
- Bot en estado En ejecución.
- Acceso de administrador a tu workspace de Rocket.Chat (Omnichannel → Webhooks).
- Un usuario agente en RC dedicado al bot, con su Agent User ID y Agent Auth Token — obligatorios para activar la integración. EasyChatBot solo se identifica como ese agente; sin ambos datos no puede responder en RC.
- Secret Token del webhook (generado en EasyChatBot y pegado en RC) — también obligatorio para que RC pueda notificarnos de forma segura.
- Que Rocket.Chat pueda llamar por internet a la URL del webhook que te damos (HTTPS en producción).
Configuración paso a paso
1. En EasyChatBot
Ve a Mis Chatbots → tu bot → Código de instalación → sección Rocket.Chat Omnichannel.
- Activa la integración.
- Copia la URL del webhook (es única para tu bot; no hace falta que conozcas IDs internos).
- Genera o copia el Secret Token y guárdalo: lo pegarás en Rocket.Chat.
- Escribe la URL de tu servidor Rocket.Chat (ejemplo:
https://chat.tudominio.com). - Completa Agent User ID y Agent Auth Token del agente que hablará en nombre del bot — ambos son obligatorios; no podrás activar la integración sin ellos.
- Pulsa Guardar.
2. En Rocket.Chat
Ve a Administración → Workspace → Omnichannel → Webhooks (CRM Integration).
- Crea un webhook y pega la URL copiada de EasyChatBot.
- En Secret Token, pega el token que generaste en EasyChatBot.
- Si Rocket.Chat muestra errores de tiempo de espera, sube el HTTP timeout (EasyChatBot responde al instante y procesa la IA en segundo plano).
- Activa los eventos que indicamos en la siguiente sección.
- Guarda y prueba enviando un mensaje de prueba desde un canal Omnichannel.
Documentación oficial de Rocket.Chat: Omnichannel Webhooks.
Qué eventos activar en Rocket.Chat
En el webhook, en Send Request on, recomendamos:
| Evento | ¿Activarlo? | Para qué sirve |
|---|---|---|
| Visitor Messages | Sí, obligatorio | Cuando el visitante escribe, el bot puede responder. |
| Agent Messages | Sí, recomendado | Registra cuando un agente humano interviene; el bot distingue sus mensajes de los del agente-bot. |
| Cierre de sesión (LivechatSession) | Sí, recomendado | Marca la conversación como terminada y permite empezar una nueva si el visitante vuelve a escribir. |
No hace falta un evento aparte de «inicio de chat»: el primer mensaje del visitante ya abre la conversación en EasyChatBot.
Conversaciones y continuidad
- Cada chat en Rocket.Chat (un «room») se enlaza con una conversación en EasyChatBot.
- Si cierras la conversación en RC, EasyChatBot la marca como terminada.
- Si el mismo visitante escribe de nuevo en ese room, se inicia una nueva conversación en el panel (verás un aviso de sistema en el historial).
- Si Rocket.Chat reintenta enviar el mismo mensaje por un fallo de red, EasyChatBot lo detecta y no duplica la respuesta.
Bot, agentes humanos y control de la conversación
EasyChatBot solo actúa como el bot cuando se cumplen todas estas condiciones:
- Tienes configurados Agent User ID y Agent Auth Token (obligatorios al activar la integración).
- En Rocket.Chat la conversación está asignada a ese mismo agente (el User ID que configuraste).
- El mensaje entrante en RC proviene de ese agente (por ejemplo, la respuesta que EasyChatBot acaba de enviar).
Si falta alguno de esos datos, o el agente asignado o el autor del mensaje no coincide con tu Agent User ID, EasyChatBot lo trata como agente humano: guarda el mensaje, marca la conversación en Control humano y no responde con IA.
| Situación | Qué pasa |
|---|---|
| Visitante escribe y el agente asignado es el del bot (con credenciales completas) | El bot responde con IA. |
| Faltan Agent User ID o Agent Auth Token | No se puede activar la integración. Si llegara un mensaje sin credenciales válidas, no hay respuesta automática. |
| Un agente humano distinto escribe o está asignado en RC | El mensaje queda como «Agente humano RC»; la conversación pasa a Control humano y el bot deja de contestar solo. |
| Visitante escribe pero RC tiene asignado otro agente | Se guarda el mensaje; el bot no responde hasta que RC reasigne al agente configurado. |
| RC reasigna la conversación al agente del bot | El bot vuelve a modo Activa y responde al siguiente mensaje del visitante. |
| El Auth Token del agente dejó de ser válido en RC | EasyChatBot no puede enviar respuestas; la conversación pasa a Control humano hasta que corrijas las credenciales. |
Importante: el Secret Token del webhook (RC → EasyChatBot) y el Agent Auth Token (EasyChatBot → RC) son cosas distintas. Los dos deben coincidir con lo configurado en cada lado.
Panel EasyChatBot (solo lectura para control): en conversaciones Rocket.Chat el detalle de sesión no permite Tomar/Liberar control ni escribir respuestas humanas. El visitante solo ve mensajes enviados desde Rocket.Chat; para intervenir, responde o reasigna el agente en RC.
WhatsApp y datos del visitante
Si conectas WhatsApp a través de Rocket.Chat (WhatsApp Cloud App u otro conector), las conversaciones aparecen con origen Rocket.Chat y, cuando el canal es WhatsApp, verás el número de teléfono del visitante en Mis conversaciones y en el detalle de la sesión.
- En la lista de conversaciones, la columna de contacto muestra el teléfono (en lugar de la IP del navegador).
- En el detalle puedes ver teléfono, canal (WhatsApp o Livechat), room de RC y agente asignado.
- La «IP» que guardamos es la del servidor que llama el webhook (Rocket.Chat), no la del móvil del visitante — en WhatsApp es normal no tener IP del cliente final.
Qué verás en el panel
- Badge Rocket.Chat en el tipo de conversación.
- Estado Activa, Control humano o Terminada, actualizado automáticamente según el agente asignado en RC.
- Historial completo: visitante, bot, agentes humanos y mensajes de sistema (inicio/fin de conversación, liberación de control).
- Intenciones detectadas, tokens consumidos, exportar PDF, metadatos RC (room, teléfono, canal).
- Sin composer ni takeover manual: no verás «Respuesta de operador humano» ni los botones Tomar/Liberar control; esas acciones solo aplican al widget web. En RC debes responder desde Rocket.Chat.
Consejos y solución de problemas
- El bot no responde: comprueba que el bot esté en ejecución, que la integración esté activa, que Agent User ID y Agent Auth Token estén completos, y que en RC la conversación esté asignada al mismo agente que pusiste en Agent User ID.
- Respuestas duplicadas: suele deberse a un timeout bajo en RC; súbelo en la configuración del webhook.
- Secret Token inválido: el Secret Token del webhook en RC debe coincidir exactamente con el de EasyChatBot. Si regeneras el token aquí, actualízalo también en RC.
- Agent Auth Token inválido: si cambiaste la contraseña del agente en RC o el token expiró, actualiza Agent Auth Token en EasyChatBot; mientras no coincida, la conversación se tratará como humana.
- El bot habla como visitante: revisa que Agent User ID y Agent Auth Token sean del agente correcto (no del visitante).
- Tras cambios en la plataforma: si tu equipo despliega actualizaciones, prueba de nuevo con un mensaje de prueba en un room de RC.
Si sigues con dudas, prueba primero con un canal de prueba (pocos visitantes) y revisa en el panel que los mensajes lleguen con origen Rocket.Chat.