Canales
8 min de lectura
Un canal es el punto por el que un agente se comunica con una persona, un grupo o un sistema. También puede recibir eventos sin que exista una persona al otro lado. Toda comunicación que entra o sale del agente se procesa a través de un canal: identifica el origen, aplica su configuración y determina por dónde puede responder.
Un mismo agente puede tener varios canales. Por ejemplo, puede atender a clientes por Telegram, recibir incidencias desde GitHub y mantener chats privados con el equipo desde Kujira, sin convertirlos en el mismo espacio de trabajo.
Cómo se compone un canal
Transporte
Alcance
Dirección
La configuración concreta depende del transporte: una cuenta, un bot, una instalación, una dirección de correo o una URL de webhook. Consulta Integraciones para conectar cada servicio.
Tipos según su dirección
| Tipo | Qué permite | Ejemplo habitual |
|---|---|---|
| Solo recibe | El agente procesa eventos o mensajes entrantes, sin responder por ese canal. | Un repositorio de GitHub que genera incidencias para revisar. |
| Solo envía | El agente publica avisos o resultados, pero no recibe mensajes desde ese destino. | Una URL para notificar el resultado de una automatización. |
| Recibe y responde | El agente atiende mensajes y responde por el mismo medio. | Un chat de Telegram, Slack o el chat interno. |
La dirección no depende de que el transporte sea un chat. Un webhook, por ejemplo, puede limitarse a entregar eventos o también aceptar una respuesta del agente si tiene configurada una URL de salida.
Quién está al otro lado
Un canal no tiene por qué ser una conversación individual. La misma integración puede utilizarse para diferentes formas de comunicación:
Uno a uno
Grupo o sala
Sin interlocutor
Los grupos pueden configurarse para que el agente responda solo cuando se le menciona. Así puede estar presente en una sala activa sin intervenir en cada mensaje.
Quién puede escribir y a quién responde
Por un canal interno el agente trabaja con todas sus herramientas, así que conviene que solo le llegue lo que viene de tu equipo. Cada canal tiene su propia lista en su ficha:
| Canal | Lista | Qué filtra |
|---|---|---|
| Telegram, Discord, Slack, WhatsApp | IDs permitidos | Los chats y personas que el agente atiende. Sin ninguno, el canal no acepta mensajes. |
| Correo, Calendar, Drive | Remitentes permitidos | Quién envía el correo, quién organiza el evento o quién modificó el fichero por última vez. Admite direcciones sueltas o un dominio entero, como *@tuempresa.com. Vacía, deja pasar a cualquiera. |
En los canales de correo hay además Destinatarios permitidos: si la rellenas, lo que el agente escriba a cualquier otra dirección se queda en borradores para que alguien lo revise.
Un icono amarillo junto al título de la sección te avisa cuando un canal interno acepta mensajes de cualquiera o cuando el agente puede escribir a cualquier dirección.
Estas listas, igual que el resto de la ficha, se cambian con Editar: añades o quitas entradas, ajustas la mención de cada grupo o quién recibe las alertas, y nada se aplica hasta que pulsas Guardar. Cancelar descarta todos los cambios. Fuera de la edición, la ficha muestra cómo está configurado el canal; Probar y activar o pausar el canal desde su menú siguen funcionando sin entrar en edición.
Una invitación de calendario solo necesita tu dirección para llegar: Google la añade sola. Si el agente vigila un calendario, limita los remitentes a tu dominio.
Un canal de GitHub recibe todo lo que pasa en sus repositorios, lo escriba quien lo escriba. No se recomienda en repositorios públicos: cualquiera podría hacer llegar instrucciones al agente con una incidencia, un comentario o un pull request.
Un hilo por cada contexto
Cuando llega el primer mensaje o evento por un canal, Kujira abre una conversación para ese contacto, grupo o contexto de sistema en ese canal. Las entradas posteriores reutilizan ese hilo mientras siga activo.
Llega un mensaje
Se resuelve la conversación
El agente trabaja de forma aislada
Esto también separa a una misma persona cuando escribe por medios distintos: su conversación por chat interno y su conversación por Telegram son hilos independientes. El agente puede consultar información de otros contextos únicamente cuando sus permisos se lo permiten; no se arrastra automáticamente el historial de un canal a otro.
Cuando necesita recuperar algo que se habló tiempo atrás, el agente puede consultar el histórico de conversaciones: una memoria conversacional a largo plazo que permite buscar entre los canales vinculados del contacto. La ventana de histórico depende del plan de la organización.
Correo electrónico
En IMAP/SMTP, cada hilo de correo se mantiene como una conversación independiente. Así, dos asuntos distintos de la misma dirección no comparten contexto ni datos de respuesta.
El canal define el marco, no el comportamiento
Un canal establece por dónde se comunica el agente y qué mensajes o eventos puede recibir. También puede incluir instrucciones específicas para ese origen, como cómo tratar las incidencias de un repositorio o cuándo mencionar a alguien en un grupo.
El comportamiento general, las capacidades y los límites del agente se configuran aparte. Combina ambos niveles: usa el canal para delimitar el contexto de comunicación y la configuración del agente para decidir qué puede hacer dentro de él.
Modelo por defecto de un canal
Cada canal puede tener su propio Modelo por defecto, en la sección General de su ficha o al crearlo. La lista de canales enseña el que tiene cada uno. Las conversaciones de ese canal que no tengan un modelo propio responden con él en lugar de con el del agente. Sirve, por ejemplo, para que un canal que solo recibe eventos de calendario use un modelo más ligero mientras el agente sigue con uno más capaz en el resto.
El orden es: el modelo propio de la conversación, si lo tiene; si no, el del canal; y si el canal está en Heredado, el del agente.
Puedes elegir un modelo de otro proveedor que el del agente, igual que en una conversación: el selector agrupa los modelos por conexión, y el canal responde con la conexión que elijas o, si no eliges ninguna, con la predeterminada de ese proveedor. Elegir la conexión de un canal requiere el permiso Ver de Proveedores de modelo. Si el modelo es del proveedor del agente y cambias el agente a otro proveedor, el canal vuelve a Heredado; uno con su propia conexión lo conserva. El cambio se aplica desde la siguiente respuesta de cada conversación y, como cualquier cambio de modelo, vacía su caché de contexto.
Destino de avisos
Los canales que solo reciben eventos —un webhook, GitHub, Calendar o Drive— no tienen a nadie con quien hablar. Cuando un evento necesita a una persona, para avisarte, preguntarte algo o pedirte una aprobación, el agente escribe en el Destino de avisos del canal: una conversación interna que eliges en su ficha. Puede ser tu chat con el agente, un hilo dedicado o un grupo interno, pero nunca la conversación de un cliente. Desde un evento, el agente tampoco puede escribir a un cliente ni por un canal externo: solo a tu equipo, por sus canales internos, o a otro agente.
El selector agrupa las conversaciones del agente por canal, de la más reciente a la más antigua, y permite buscarlas por título, por contacto o por su referencia, la que aparece en el chat. Solo puedes elegir las conversaciones que puedes ver: las tuyas y los hilos internos que no son de nadie.
- Si la conversación elegida está archivada, el aviso la reabre: llega siempre a esa, no a otra.
- Si la conversación se borra, el canal se queda sin destino. El agente ya no puede escribir ahí y solo puede avisar con la campana. Al borrarla, Kujira te dice qué canales la usan como destino.
- Si la conversación es la sesión de una persona que pierde el acceso al agente o deja la organización, el canal la trata como sin destino mientras no lo recupere. Al dejar la organización, el destino se borra.
- Si el destino es la sesión privada de otra persona, la ficha lo muestra como Sesión privada con el nombre de su dueño, sin el título.
Sin destino, los avisos de ese canal solo llegan por la campana del panel.
Comprobar un canal
En la cabecera de la ficha del canal, junto a Editar, el botón Probar dice si sigue conectado sin esperar a que un agente intente escribir. Lo que comprueba depende del transporte:
| Transporte | Qué comprueba |
|---|---|
| Telegram, Discord, Slack | Que el bot responde con el testigo guardado, y con qué cuenta. |
| IMAP/SMTP | Que la cuenta de correo autentica, tanto para recibir como para enviar. |
| Que el dispositivo vinculado sigue activo. | |
| Webhook | Que tu dirección de salida acepta una entrega. |
La prueba de un webhook envía un mensaje de verdad
Es el único transporte cuya prueba se nota al otro lado: Kujira entrega un mensaje en la dirección de salida que tengas configurada, firmado igual que los demás. El texto dice que es una prueba y que no requiere ninguna acción, y Kujira te avisa antes de enviarlo.
El chat interno no se comprueba, porque no sale de Kujira. Los canales que funcionan sobre un conector de Google o de GitHub tampoco: su credencial es la del conector, no la del canal.
Necesitas los mismos permisos que para editar el canal, y cada comprobación queda anotada en el Registro de actividad. Si pruebas dos veces seguidas, el botón te indica cuántos segundos quedan.
Ver los canales y sus hilos
En la pestaña Canales de cada agente puedes crear, activar, pausar y editar sus canales. Desde allí también revisas su dirección, las credenciales o cuentas vinculadas y las reglas específicas de cada integración.
Para supervisar los contactos y conversaciones que llegan desde canales externos, utiliza Agent Desk. El Gráfico ayuda a visualizar las relaciones entre agentes, personas del equipo, canales y conversaciones.