Connecteurs — les canaux externes connectés à la base de connaissances
Les connecteurs relient les canaux de messagerie où se trouvent déjà vos clients et vos collaborateurs — WhatsApp, Telegram, Discord, Slack — à la même base de connaissances qui alimente le chat interne. Les conversations restent sur vos serveurs : l'app…
Les connecteurs relient les canaux de messagerie où se trouvent déjà vos clients et vos collaborateurs — WhatsApp, Telegram, Discord, Slack — à la même base de connaissances qui alimente le chat interne. Les conversations restent sur vos serveurs : l'application interroge les API du canal avec les identifiants que l'administrateur saisit, et les réponses proviennent de la base documentaire.
Réservé à l'édition Enterprise (connectors_enabled: falsedans la licence Community — le panneau admin Community affiche l'UpgradePrompt ; voir Administration). Références :packages/shared/src/schemas/connector.schema.ts(les champs du formulaire),packages/server/src/routes/connectors.ts(les limites + le routeur),CHANGELOG.mdv0.28.1,packages/shared/src/constants/license.ts. Lignes de provenance :FACT-CENSUS.mdF-CONN-1, F-CONN-2, F-LIC-1.
Créer un connecteur
Chemin : Settings → Conversations → Connectors (le bouton New connector). Le formulaire exige :
| Champ | Notes |
|---|---|
| Nom | l'identifiant de l'instance de connecteur |
| Plateforme | telegram, discord, slack, whatsapp — immuable après création |
| Token de bot / identifiants | le token secret du canal — immuable après création (create uniquement ; la PUT n'y touche pas) |
| Workspace | le workspace de liaison, immuable |
| Liaison à l'archive documentaire | l'archive de documents qui alimente les réponses |
| Message d'accueil | le premier message que le canal envoie à une conversation entrante (4000 caractères max) |
| Message de repli | la réponse quand la recherche ne produit pas de sources valides (4000 caractères max) |
| Locale de repli | la langue du message de repli |
| Rate limit | 0 = illimité (le sentinelle du routeur), N = N requêtes max |
| Daily session limit | 0 = illimité, N = N sessions par jour max |
La liaison d'archive détermine le corpus : chaque question qui arrive du canal traverse la même pipeline RAG que les chats internes (recherche hybride, citation des sources, synthèse) — la réponse citée est renvoyée sur le canal d'origine.
Modifier un connecteur (v0.28.1)
La carte du connecteur dans le panneau admin porte un menu d'overflow avec une entrée Edit (la première) : elle ouvre un dialogue prérempli sur la surface modifiable :
- Modifiable via `PUT /api/connectors/:id` : nom, liaison d'archive, messages d'accueil/de repli, locale de repli, rate limit, daily session limit (vide = null ;
0= illimité). - Immuable par schéma : plateforme, token de bot, workspace. Changer de canal ou de token = un nouveau connecteur.
- L'interrupteur
isEnabledreste sur la carte (Switch) ; lepollModeTelegram reste sur les boutons webhook. - La PUT journalise l'événement d'audit
chat_connector.updated(à égalité avec la branche DELETE).
Adaptateurs par plateforme
Chaque plateforme s'exécute via un adaptateur dédié avec ses propres identifiants d'enregistrement :
| Plateforme | Identifiants | Notes |
|---|---|---|
| Telegram | token de bot (@BotFather) | modes polling et webhook tous deux pris en charge (boutons dédiés sur la carte) |
| Discord | token de bot (Developer Portal) + intents de message | les adaptateurs lisent les canaux autorisés du bot |
| Slack | token de bot + signing secret (Slack app) | événements de message via le webhook configuré |
| fournisseur Business API (token secret) | l'adaptateur appelle l'API du fournisseur |
Les identifiants transitent et restent côté serveur ; le token secret n'est jamais réaffiché dans l'interface après la création.
Limites et message de repli
Le rate limit et le daily session limit protègent le workspace du trafic externe : 0 = illimité ; N = le maximum par connecteur. Le message de repli (avec sa fallback locale configurable) est la réponse quand la recherche dans le corpus ne produit aucun élément citable valable — un canal externe ne reçoit jamais de génération sans sources quand un repli est configuré.
Désactivation et audit
isEnabled(le Switch de la carte) suspend le routage sans supprimer la configuration.- Le DELETE d'un connecteur est une action dédiée et auditée (l'événement
chat_connector.deleted, à égalité avecupdated). - Toute opération admin sur les connecteurs finit dans le journal d'événements (voir Administration).
Activation Enterprise sans toucher au serveur
La licence Enterprise s'applique en collant la clé dans le panneau (Settings → Security → License, GET/PUT/DELETE /api/license/instance) : vérification probe-first de la clé (invalid/expired/plugin_bound/community_tier — une clé rejetée ne persiste jamais), chiffré AES-256-GCM dans SystemConfig, application à l'exécution via setCachedLicense. Voir API reference ; F-LIC-1.
Ce guide couvre la surface opérationnelle des adaptateurs de connecteurs; l'approfondissement technique vit dans la publication jumelle :
Provenance
| Section | Source |
|---|---|
| Barrière d'édition / UpgradePrompt | packages/shared/src/constants/license.ts (connectors_enabled) — F-CONN-1 |
| Surface Edit + immuables + audit | CHANGELOG.md v0.28.1 (Added, Q1-quick ; Phase 221 pour la licence) — F-CONN-2, F-LIC-1 |
| Champs du formulaire / limites | packages/shared/src/schemas/connector.schema.ts (welcomeMessage/fallbackMessage 4000 max, fallbackLocale, rateLimitPerMinute/sessionLimitPerDay - le limiter traduit 0 → illimité) |
---
Référence opérateur — Simmetric Chat v0.28.1 (docs actualisés le 2026-10-02, SHA du census `aca5b8ff`).