Aller au contenu
BeeuniBeeuni
Français
Esc
↑↓naviguer↵ouvrir⌘Japerçu
Sur cette page

Slack et canaux

Connectez Slack à un projet et contrôlez les sessions depuis un canal.

Un canal relie une plateforme de chat à un projet. Un message dans un canal connecté démarre une session. L’agent répond dans le même fil.

Canaux disponibles

Beeuni prend actuellement en charge quatre plateformes de canal :

  • Slack — connectez-vous en un clic via l’application gérée par Beeuni, ou apportez votre propre jeton de bot.
  • Microsoft Teams — connectez-vous via l’autorisation OAuth d’un administrateur de l’organisation, ou apportez votre propre Azure Bot (expérimental ; activez-le dans Settings → Feature flags).
  • E-mail — un canal reposant sur AgentMail (expérimental ; activez-le dans Settings → Feature flags).
  • Voix — un canal vocal en temps réel (expérimental ; activez-le dans Settings → Feature flags). Parlez avec un agent en temps réel.

Seuls Slack et Microsoft Teams se connectent via la CLI et le tableau de bord. L’e-mail et la voix se gèrent depuis le tableau de bord. Cette page traite de Slack. Teams suit les mêmes règles de session, de liaison d’identité et d’identifiants.

Comment un canal démarre une session

Le premier message d’un fil Slack ou d’une conversation Teams crée une session. Le fil conserve cette session, même après l’arrêt et la reprise du bac à sable.

Dans un canal Slack, un message ultérieur ne parvient à la session que s’il mentionne le bot. Les réponses sans mention sont destinées aux personnes du fil. L’agent les lit lorsqu’une personne le mentionne à nouveau. Dans un message direct, chaque message est envoyé à la session.

Un espace de travail Slack connecté à plusieurs projets affiche un sélecteur de projet à la première mention.

Liaison d’identité

Beeuni associe chaque expéditeur de chat à un compte Beeuni avant que l’agent n’agisse pour lui. Exécutez /beeuni login dans Slack et suivez le lien pour vous connecter. Teams impose la même exigence. Un expéditeur sans compte associé reçoit une invitation à le lier au lieu de lancer une session.

Un lien de connexion ne fonctionne qu’une fois et expire après 10 minutes. Un compte Slack connecté à un compte Beeuni ne peut pas être connecté à un autre : exécutez /beeuni logout d’abord. Si votre organisation exige l’authentification à deux facteurs, Beeuni vous demande votre second facteur avant de vous connecter, et la conversation s’exécute avec le facteur utilisé pour la connexion.

Chaque action est effectuée au nom du compte associé de la personne qui l’a entreprise, avec le rôle de ce compte dans le projet. Les propriétaires et administrateurs de compte sont considérés comme des responsables de projet.

Action Qui peut l’effectuer
Mentionner le bot, dans un nouveau message ou dans son fil Un compte associé ayant accès au projet, dans les limites de la politique du canal
Arrêter une exécution La personne qui a envoyé le message auquel l’agent répond, ou toute personne autorisée dans cette session, si elle peut toujours utiliser le projet
Modifier le projet, l’agent, le modèle ou la politique du canal Un responsable de projet ; dans un message direct avec le bot, tout membre du projet
Traiter une demande de révision Un responsable de projet
Approuver ou refuser un appel de connecteur Un responsable de projet, ou la personne qui a démarré la session
Autoriser une personne dans un fil owner_approval Le propriétaire de la session
link-bot Un responsable de projet

Où se trouvent les identifiants

Le jeton du bot d’un canal connecté est un secret associé au connecteur. Il n’apparaît pas sur la page Secrets du projet. Beeuni ne l’injecte jamais dans un bac à sable. Beeuni résout le jeton côté serveur lorsque l’agent envoie ou lit un message de chat.

Connecter Slack

Démarrer la connexion

Depuis la CLI, exécutez :

beeuni channels connect

Sur un hôte où l’application Slack partagée est configurée (Beeuni Cloud, par exemple), cette commande affiche un lien d’installation en un clic. Ouvrez le lien et choisissez l’espace de travail. Cliquez sur Allow. Ajoutez --wait pour que la commande continue d’interroger le système jusqu’à l’installation.

Depuis le tableau de bord, ouvrez la page Channels du projet et connectez-y Slack à la place. Le processus d’installation est le même.

Utiliser votre propre application Slack

Pour utiliser votre propre application Slack, exécutez beeuni channels manifest afin d’afficher un manifeste d’application. Créez l’application à l’adresse api.slack.com/apps à partir de ce manifeste. Installez l’application dans votre espace de travail. Exécutez ensuite :

beeuni channels connect --manual --bot-token xoxb-... --signing-secret ...

Vérifier la connexion

beeuni channels status

Exécutez beeuni channels disconnect pour supprimer la connexion. Consultez la référence de la CLI pour connaître toutes les options.

La connexion de Slack ajoute pour vous une entrée channel connector à beeuni.yaml. Vous n’avez jamais à écrire cette entrée manuellement.

Utiliser Slack

Mentionnez le bot avec une tâche dans n’importe quel canal qu’il a rejoint, ou ouvrez un message direct. Le fil conserve sa session comme décrit ci-dessus. Mentionnez à nouveau le bot dans un fil de canal pour poursuivre. Une simple mention sans tâche invite à en ajouter une au lieu de démarrer une session.

Ce que l’agent peut lire

L’agent lit Slack via le connecteur Slack du projet (beeuni_slack ou la commande slack dans le bac à sable). Tous les projets connectés au même espace de travail Slack utilisent le même bot ; Beeuni limite donc chaque lecture aux conversations propres au projet :

Conversation Lecture
Un canal ou un message direct connecté à ce projet Autorisée
Un fil démarré ou rejoint par une session de ce projet, dans n’importe quel canal Autorisée
Un canal, un message direct ou un fil d’un autre projet Refusée
Une conversation à laquelle aucun projet n’est connecté Autorisée uniquement tant qu’aucun autre projet n’est connecté à l’espace de travail

Une lecture refusée répond 403 avec la raison conversation_not_in_project et un message indiquant le nom de la conversation. Pour lire une conversation à laquelle aucun projet n’est connecté, connectez-la d’abord : exécutez /beeuni switch dans celle-ci et choisissez ce projet.

  • L’historique d’un canal exclut les messages du fil d’un autre projet.
  • get_history et get_thread ajoutent user_name à chaque message dont Slack peut identifier l’auteur, à côté de l’identifiant user. Jusqu’à 25 personnes sont nommées par lecture ; tout nom que Slack ne renvoie pas dans les 2 secondes est omis.
  • list_channels répertorie tous les canaux publics, ainsi que les canaux privés et les messages directs que l’agent peut lire.
  • channel_info répond pour n’importe quel canal public. Un canal privé ou un message direct suit le tableau ci-dessus.
  • file_info répond lorsque le fichier est partagé dans une conversation que l’agent peut lire ou dans un fil de ce projet. slack download suit la même règle : si le fichier est partagé uniquement dans la conversation d’un autre projet, la réponse est 403. Le téléchargement s’arrête à 50 Mo et répond 413.
  • search_messages ne fonctionne que tant qu’aucun autre projet n’est connecté à l’espace de travail, car une recherche ne peut pas être limitée aux conversations d’un seul projet.
  • list_users, user_info et auth_test lisent l’annuaire de l’espace de travail et ne sont pas limités.

Les écritures suivent leur propre règle, décrite ci-dessous.

Ce que l’agent peut publier

La publication, l’envoi d’un fichier, la modification, la suppression, l’ajout d’une réaction, l’accès à un canal et l’association d’un fil suivent une même règle : l’agent n’agit jamais dans le canal ou le fil d’un autre projet.

Cible Écriture
Un canal de ce projet, ou un fil démarré ou rejoint par l’une de ses sessions Autorisée
Un canal auquel aucun projet n’est connecté Autorisée. Un nouveau message démarre le fil de ce projet ; une réponse qui mentionne le bot revient donc à la session
Un message direct avec une personne Autorisé, même si le message direct de cette personne avec le bot exécute un autre projet
Un canal ou un message direct de groupe d’un autre projet Refusé
Un fil d’un autre projet, dans n’importe quelle conversation Refusé : aucune réponse, modification, suppression ou réaction

Une écriture refusée répond 403 avec la raison conversation_not_in_project et un message indiquant le nom de la conversation. slack send --file et slack bind-thread suivent la même règle.

channel doit être l’identifiant de la conversation ou de l’utilisateur, comme C0123ABCD ou U0123ABCD, et non un nom de canal. Slack publie dans un nom, qu’il est impossible de vérifier selon cette règle. Si Slack publie malgré tout un message ailleurs que dans la conversation vérifiée, Beeuni supprime le message et refuse la publication.

Pour publier dans un canal géré par un autre projet, exécutez /beeuni switch dans ce canal et choisissez ce projet, ou publiez depuis ce projet.

Contrôler une session avec des commandes slash

Dans Slack, saisissez ces commandes sous la forme /beeuni <command> ou en texte brut dans un message direct. Les commandes slash ne fonctionnent pas dans le volet de message direct Assistant ; Beeuni y interprète donc les mêmes mots en texte brut.

Commande Fonction
login, logout Associer ou dissocier votre identité Slack
switch, unbind Réassocier ou dissocier ce canal de son projet
projects Répertorier les projets auxquels vous pouvez associer ce canal
sessions Répertorier les sessions récentes démarrées dans cet espace de travail
whoami Afficher le panneau du canal : projet, agent, modèle, politique et identité associée
models Choisir le modèle pour ce canal — voir Modèles et clés
agent <name>, model <id> Définir l’agent ou le modèle utilisé par ce canal
policy <mode> Définir qui peut démarrer des sessions ici
help Répertorier toutes les commandes

policy accepte project_open (valeur par défaut — tout membre du projet qui mentionne le bot démarre une session), owner_approval ou owner_only. Il s’agit d’un paramètre propre à une ressource sur un canal, et non d’un rôle. Il n’accorde aucune autorisation refusée par la décision liée au rôle — voir Comptes et accès.

Modèles et clés

/beeuni models répertorie tous les modèles que vous pouvez utiliser ici, comme le sélecteur Web : les modèles Beeuni et ceux auxquels vous accédez via une clé API de fournisseur ou un abonnement ChatGPT. Chaque modèle indique son mode de facturation. Une longue liste s’affiche dans un sélecteur où vous pouvez taper. Choisissez un modèle ou saisissez /beeuni model <id> ; /beeuni model default rétablit la valeur par défaut du projet.

Les clés disponibles dépendent de la conversation :

  • Un message direct avec le bot — vos propres clés et votre abonnement ChatGPT, ainsi que les clés partagées avec le projet. Les sessions sont privées.
  • Un canal ou un message direct de groupe — uniquement les clés partagées avec l’ensemble du projet. Choisissez plutôt dans un message direct un modèle qui utilise vos propres clés.

Un modèle qui utilise des clés se sert de toutes les clés que vous pouvez utiliser pour son fournisseur, en alternant entre elles lorsque des limites de débit sont atteintes. Le modèle du canal démarre chaque nouveau fil ; un fil conserve le modèle avec lequel il a démarré. Si un fil ne peut plus utiliser son modèle, celui-ci est remplacé pour le message concerné, au lieu de faire échouer le message. Voir Clés de fournisseur et accès des membres.

Un suivi accompagné d’une image utilise un modèle capable de lire les images. Si aucun modèle disponible ne le permet, l’agent en est informé dans l’invite : il indique qu’il ne peut pas voir l’image et demande une description textuelle, au lieu de deviner.

Noms des canaux et des personnes

Slack envoie des identifiants, comme C0123ABCD et U0123ABCD. Beeuni affiche les noms tels qu’ils apparaissent dans Slack et conserve les identifiants pour les opérations.

Emplacement Affichage
La page Channels, beeuni channels bindings #channel pour un canal public ou privé, la personne pour un message direct, les membres pour un message direct de groupe
Un message Slack dans une session Le nom de l’expéditeur et #channel
Une réponse slack send dans une session #channel, ou la personne pour un message direct
Le titre de la session Les mentions telles que Slack les affiche : @Beeuni, et non <@U0123ABCD>
L’invite de l’agent Les noms à côté des identifiants : Sam Rivera (U0123ABCD), #general (C0123ABCD)
Les étapes du plan de l’agent dans Slack Une personne sous la forme @Sam Rivera, un canal sous la forme #general. Une étape ne notifie jamais personne
Une carte d’approbation dans Slack Un paramètre de canal sous forme de lien de canal, nommé par Slack selon vos propres accès. Un paramètre utilisateur avec le nom de la personne

Un canal que Slack ne parvient pas à trouver s’affiche comme Canal indisponible et conserve son identifiant. Cela se produit si le canal a été supprimé ou si le bot en a été retiré. Tout nom que Slack ne renvoie pas dans les 2 secondes est omis du message. L’invite ne contient alors que les identifiants, et le tour n’attend pas.

Approbations

Lorsqu’un agent a besoin d’une décision humaine avant de poursuivre, il crée une demande de révision. Si la session a été démarrée depuis ce fil, la décision s’affiche ici sous forme de carte : un titre, un résumé, un niveau de risque et les options Approve, Request changes et Deny.

Request changes ouvre une zone de texte pour préciser les modifications souhaitées. Votre saisie est enregistrée avec la décision et transmise à l’agent, qui n’a donc pas besoin de vous le demander une seconde fois. C’est facultatif : si vous envoyez un texte vide, l’agent est invité à vous demander des précisions. Les actions Approve et Deny restent accessibles en un clic.

Pour traiter une demande de révision, il faut un compte Beeuni associé disposant d’un accès en écriture au projet.

Arrêter une exécution

Pendant que l’agent travaille, son message en direct comporte un bouton Stop. Il met fin à l’exécution dans le moteur d’exécution, et pas seulement au niveau du message : une exécution qui reste ouverte absorbe le prochain message du fil au lieu d’y répondre.

La personne qui a envoyé le message auquel l’agent répond peut l’arrêter, tout comme toute personne autorisée dans cette session, tant qu’elle peut encore utiliser le projet. Une personne présente dans le canal sans participer ne le peut pas ; elle reçoit une note privée qui le lui indique.

Fonctionnalités non prises en charge

  • Les commandes slash ne fonctionnent pas dans le volet de message direct Assistant. Saisissez /beeuni <command> en texte brut à la place.
  • Les autres plateformes de chat, notamment Telegram, ne sont pas prises en charge comme canaux pour le moment. Seuls Slack et Microsoft Teams se connectent via la CLI et le tableau de bord ; l’e-mail et la voix se connectent via le tableau de bord.

Cette page vous a-t-elle été utile ?