Como deployar un agente en WhatsApp, Telegram y Slack sin mezclar canales
Una guia practica para disenar un agente multicanal con webhooks, adaptadores, memoria separada y reglas por plataforma.

La forma mas comun de romper un agente multicanal es mezclar todo desde el inicio: un solo webhook, una sola memoria, un solo prompt y reglas iguales para WhatsApp, Telegram y Slack. Funciona en la demo. Falla cuando llegan usuarios reales.
Cada canal tiene expectativas distintas. WhatsApp es personal y sensible. Telegram es flexible y rapido para comunidades. Slack vive dentro del trabajo y necesita integrarse con permisos, threads y contexto de equipo.
Arquitectura base
Usa adaptadores por canal. El nucleo del agente no deberia saber si el mensaje vino de WhatsApp, Telegram o Slack. Deberia recibir un evento normalizado:

type AgentEvent = {
channel: "whatsapp" | "telegram" | "slack";
conversationId: string;
userId: string;
text: string;
attachments: Array<{ type: string; url: string }>;
receivedAt: string;
};
Cada adaptador se encarga de traducir el formato propio del canal hacia ese evento. Luego el agente procesa el evento, llama herramientas y devuelve una respuesta normalizada. El adaptador vuelve a convertir esa respuesta al formato del canal.
Memoria separada por canal
No uses una memoria global por usuario si no estas seguro de identidad. Un numero de WhatsApp, un usuario de Telegram y un usuario de Slack pueden ser la misma persona o tres personas distintas.

Guarda memoria con esta clave minima:
channelworkspaceIdotenantIdcuando existaconversationIduserId
Despues puedes unir identidades con consentimiento o login, pero no lo hagas por suposicion.
Reglas por plataforma
WhatsApp suele requerir plantillas, politicas de negocio y cuidado con ventanas de conversacion. Telegram permite mas libertad tecnica, pero el token del bot debe protegerse igual que una clave API. Slack requiere pensar en permisos, scopes, instalacion por workspace y experiencia dentro de threads o superficies nativas.
El mismo agente puede tener la misma intencion, pero no la misma UX.
Deploy recomendado
Para una primera version seria:
- Un endpoint por canal:
/webhooks/whatsapp,/webhooks/telegram,/webhooks/slack. - Validacion de firma, token o secreto por canal.
- Cola de trabajos para no bloquear el webhook.
- Orquestador unico del agente.
- Adaptadores de salida por canal.
- Logs con
traceIdpara reconstruir cada conversacion. - Handoff humano cuando hay reclamos, pagos, datos sensibles o baja confianza.
Error a evitar
No copies el prompt de WhatsApp a Slack. En Slack, el agente debe ser mas explicito con acciones, contexto y permisos. En WhatsApp, debe ser mas breve y conversacional. En Telegram, puede apoyarse mejor en comandos y grupos.
Un agente multicanal no es un bot duplicado tres veces. Es un nucleo comun con adaptadores serios por canal.