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 Tokenobligatorios 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.

  1. Activa la integración.
  2. Copia la URL del webhook (es única para tu bot; no hace falta que conozcas IDs internos).
  3. Genera o copia el Secret Token y guárdalo: lo pegarás en Rocket.Chat.
  4. Escribe la URL de tu servidor Rocket.Chat (ejemplo: https://chat.tudominio.com).
  5. 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.
  6. Pulsa Guardar.

2. En Rocket.Chat

Ve a Administración → Workspace → Omnichannel → Webhooks (CRM Integration).

  1. Crea un webhook y pega la URL copiada de EasyChatBot.
  2. En Secret Token, pega el token que generaste en EasyChatBot.
  3. Si Rocket.Chat muestra errores de tiempo de espera, sube el HTTP timeout (EasyChatBot responde al instante y procesa la IA en segundo plano).
  4. Activa los eventos que indicamos en la siguiente sección.
  5. 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 MessagesSí, obligatorioCuando el visitante escribe, el bot puede responder.
Agent MessagesSí, recomendadoRegistra cuando un agente humano interviene; el bot distingue sus mensajes de los del agente-bot.
Cierre de sesión (LivechatSession)Sí, recomendadoMarca 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ónQué 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 TokenNo 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 RCEl 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 agenteSe guarda el mensaje; el bot no responde hasta que RC reasigne al agente configurado.
RC reasigna la conversación al agente del botEl bot vuelve a modo Activa y responde al siguiente mensaje del visitante.
El Auth Token del agente dejó de ser válido en RCEasyChatBot 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.