Conectores — canales externos conectados a la base de conocimiento
Los conectores vinculen los canales de mensajería donde ya se encuentran sus clientes y colegas — WhatsApp, Telegram, Discord, Slack — con la misma base de conocimiento que alimenta el chat interno. Las conversaciones permanecen en sus servidores: la apl…
Los conectores vinculen los canales de mensajería donde ya se encuentran sus clientes y colegas — WhatsApp, Telegram, Discord, Slack — con la misma base de conocimiento que alimenta el chat interno. Las conversaciones permanecen en sus servidores: la aplicación consulta las API del canal con las credenciales que introduce el administrador, y las respuestas provienen de la base documental.
Disponible solo en la edición Enterprise (connectors_enabled: falseen la licencia Community — el panel de administración Community muestra el UpgradePrompt; véase Administration). Referencias:packages/shared/src/schemas/connector.schema.ts(los campos del formulario),packages/server/src/routes/connectors.ts(los límites + el router),CHANGELOG.mdv0.28.1,packages/shared/src/constants/license.ts. Filas de procedencia:FACT-CENSUS.mdF-CONN-1, F-CONN-2, F-LIC-1.
Crear un conector
Ruta: Settings → Conversations → Connectors (el botón New connector). El formulario exige:
| Campo | Notas |
|---|---|
| Nombre | el identificador de la instancia del conector |
| Plataforma | telegram, discord, slack, whatsapp — inmutable tras la creación |
| Token de bot / credenciales | el token secreto del canal — inmutable tras crear (solo create; la PUT no lo toca) |
| Workspace | el workspace de vinculación, inmutable |
| Vinculación del archivo documental | el archivo de documentos que alimenta las respuestas |
| Mensaje de bienvenida | el primer mensaje que el canal envía a una conversación entrante (máx. 4000 caracteres) |
| Mensaje de respaldo | la respuesta cuando la búsqueda no produce fuentes válidas (máx. 4000 caracteres) |
| Locale de respaldo | el idioma del mensaje de respaldo |
| Rate limit | 0 = ilimitado (el valor centinela del router), N = máximo N solicitudes |
| Daily session limit | 0 = ilimitado, N = máximo N sesiones al día |
La vinculación del archivo determina el corpus: cada pregunta que llega del canal atraviesa la misma pipeline RAG que los chats internos (búsqueda híbrida, cita de fuentes, síntesis) — la respuesta citada se devuelve por el canal de origen.
Editar un conector (v0.28.1)
La tarjeta del conector en el panel de administración lleva un menú de desbordamiento con la entrada Edit (la primera): abre un diálogo pre-rellenado sobre la superficie mutable:
- Mutable vía `PUT /api/connectors/:id`: nombre, vinculación del archivo, mensajes de bienvenida/respaldo, locale de respaldo, rate limit, daily session limit (vacío = null;
0= ilimitado). - Inmutable por esquema: plataforma, token de bot, workspace. Cambiar de canal o de token = un conector nuevo.
- El interruptor
isEnabledpermanece en la tarjeta (Switch); elpollModede Telegram permanece en los botones de webhook. - La PUT registra el evento de auditoría
chat_connector.updated(en paridad con la rama DELETE).
Adaptadores por plataforma
Cada plataforma funciona mediante un adaptador dedicado con sus propias credenciales de registro:
| Plataforma | Credenciales | Notas |
|---|---|---|
| Telegram | token de bot (@BotFather) | se admiten el modo polling y el webhook (botones dedicados en la tarjeta) |
| Discord | token de bot (Developer Portal) + intents de mensaje | los adaptadores leen los canales autorizados del bot |
| Slack | token de bot + signing secret (Slack app) | eventos de mensaje vía el webhook configurado |
| proveedor de Business API (token secreto) | el adaptador llama a la API del proveedor |
Las credenciales transitan y permanecen en el servidor; el token secreto nunca se refleja en la interfaz después de la creación.
Límites y el mensaje de respaldo
El rate limit y el daily session limit protegen el workspace del tráfico externo: 0 = ilimitado; N = el máximo por conector. El mensaje de respaldo (con su fallback locale configurable) es la respuesta cuando la búsqueda en el corpus no produce elementos citables válidos — un canal externo nunca recibe generaciones sin fuentes cuando hay un respaldo configurado.
Desactivación y auditoría
isEnabled(el Switch de la tarjeta) suspende el enrutamiento sin borrar la configuración.- El DELETE de un conector es una acción dedicada y auditada (el evento
chat_connector.deleted, en paridad conupdated). - Toda operación de administración sobre conectores termina en el registro de eventos (véase Administration).
Activación Enterprise sin tocar el servidor
La licencia Enterprise se aplica pegando la clave en el panel (Settings → Security → License, GET/PUT/DELETE /api/license/instance): verificación probe-first de la clave (invalid/expired/plugin_bound/community_tier — una clave rechazada nunca persiste), cifrado AES-256-GCM en SystemConfig, aplicación en tiempo de ejecución vía setCachedLicense. Véase API reference; F-LIC-1.
Esta guía cubre la superficie operativa de los adaptadores de conectores; la profundidad técnica vive en el post gemelo:
Provenance
| Sección | Fuente |
|---|---|
| Barrera de edición / UpgradePrompt | packages/shared/src/constants/license.ts (connectors_enabled) — F-CONN-1 |
| Superficie Edit + inmutables + auditoría | CHANGELOG.md v0.28.1 (Added, Q1-quick; Phase 221 para la licencia) — F-CONN-2, F-LIC-1 |
| Campos del formulario / límites | packages/shared/src/schemas/connector.schema.ts (welcomeMessage/fallbackMessage máx. 4000, fallbackLocale, rateLimitPerMinute/sessionLimitPerDay - el limiter traduce 0 → ilimitado) |
---
Referencia operativa — Simmetric Chat v0.28.1 (documentos actualizados el 2026-10-02, SHA del censo `aca5b8ff`).