Guide
Créer une app IA dans Slack : surfaces, API, règles
Vue partagée, scope assistant:write, événements, diffusion de la réponse, Bolt, et ce que les conditions de l'API Slack interdisent avec les données.
Mis à jour le
Pour créer une app d'IA dans Slack, vous déclarez une app sur la plateforme Slack, vous lui donnez le scope assistant:write, vous écoutez les messages que les utilisateurs lui envoient, et vous renvoyez la réponse de votre modèle en la diffusant au fil de l'eau. Slack fournit pour cela des surfaces dédiées aux agents et des utilitaires dans ses frameworks Bolt. Voici l'essentiel, d'après la documentation Slack lue le 15/11/2026, puis les règles d'usage des données, qu'il faut connaître avant d'écrire la première ligne.
Les surfaces que Slack réserve aux agents
La documentation Slack consacrée à l'IA liste :
- un conteneur en vue partagée (split view), ouvert à côté de la conversation en cours ;
- un point d'entrée dans la barre du haut ;
- des fils de discussion d'app ;
- la diffusion du texte pendant sa génération ;
- des suggestions de questions proposées à l'utilisateur.
Slack décrit les agents comme des apps autonomes, orientées vers un but, qui raisonnent, utilisent des outils et gardent le contexte d'une conversation à l'autre.
Le minimum technique
| Élément | Ce que dit la documentation |
|---|---|
| Scope | assistant:write : il active notamment le point d'entrée en barre du haut et l'étiquette « agent » dans l'interface |
| Événements à ajouter | app_context_changed, agent_session_stopped, agent_session_title_changed |
| Recevoir un message | Écouter l'événement message.im |
| Suggestions | Méthode assistant.threads.setSuggestedPrompts |
| Statut (« en train d'écrire… ») | agents.sessions.setStatus ; l'ancienne assistant.threads.setStatus fonctionne encore par une passerelle de compatibilité |
| Titre de la session | agents.sessions.rename ; l'ancienne assistant.threads.setTitle fonctionne encore |
| Diffusion de la réponse | chat.startStream, chat.appendStream, chat.stopStream |
| Frameworks | Bolt pour JavaScript et Bolt pour Python, avec un utilitaire de diffusion |
En option, reaction_added permet de recueillir un avis (pouce levé ou baissé) sur une réponse.
Le déroulé d'un échange
- L'utilisateur ouvre l'app dans la vue partagée ou lui écrit en message direct.
- Votre app reçoit
message.im, affiche un statut d'attente et, au besoin, des suggestions. - Votre service (votre couche d'intégration) identifie la personne, lit les données autorisées et appelle le modèle.
- La réponse est diffusée par
chat.startStream,chat.appendStream, puischat.stopStream. - Si l'utilisateur change de canal,
app_context_changedvous le signale : le contexte n'est plus le même.
Abonnement et environnement de test
Slack prévient : « certaines fonctions IA demandent un abonnement payant », même si elles s'affichent dans les réglages de l'app sur toutes les formules, sans dire lesquelles. Si votre espace de travail n'a pas d'abonnement payant, Slack propose de rejoindre son Developer Program et d'y créer gratuitement un espace de test complet. C'est aussi une bonne pratique pour ne pas développer dans l'espace de production.
Ce que les conditions de l'API interdisent
Les conditions de l'API Slack, « Effective: October 10, 2025 », contiennent des clauses qui touchent directement une app d'IA.
Pour une app distribuée hors de votre organisation, il est interdit :
- d'utiliser les données de l'API pour entraîner un grand modèle de langage ;
- d'exporter en masse les messages et fichiers Slack, sauf accord supplémentaire.
Pour la Data Access API et la Real-Time Search API, il est interdit de créer des copies persistantes, des archives, des index ou des stockages de long terme des données d'autres organisations. Une conservation limitée et temporaire est admise, à condition de minimiser les données et de les supprimer dès que le besoin est rempli.
En pratique, cela oriente l'architecture : pour une app destinée à d'autres entreprises, lisez en direct, n'indexez pas. C'est l'inverse du réflexe habituel du RAG, qui copie les contenus dans un index. Ces clauses sont un résumé : pour votre cas, lisez le texte complet des conditions ou faites-le relire par votre conseil.
Le serveur MCP de Slack, l'autre sens
Slack propose aussi l'inverse : un serveur MCP (Model Context Protocol) qui permet à un assistant extérieur compatible de chercher dans les canaux, d'envoyer des messages ou de gérer des canevas. C'est utile quand vos équipes utilisent déjà un assistant et veulent qu'il agisse dans Slack, plutôt que de créer une app dans Slack. Le fonctionnement de MCP est expliqué sur Cercle IA Tech · MCP.
| Besoin | Voie |
|---|---|
| Un assistant visible dans Slack, qui répond aux salariés | App IA avec les surfaces agents |
| Un assistant existant qui doit lire ou écrire dans Slack | Serveur MCP de Slack |
Vous êtes plutôt sous Microsoft 365 ? Voir intégrer un assistant IA dans Teams.
Questions fréquentes
Faut-il un abonnement payant Slack pour développer une app IA ?
Slack écrit que certaines fonctions IA demandent un abonnement payant, même si elles apparaissent dans les réglages de l'app sur toutes les formules. Sans abonnement, on peut rejoindre le Developer Program et créer gratuitement un espace de test complet.
Peut-on entraîner un modèle avec les messages récupérés par l'API Slack ?
Non pour une app distribuée hors de votre organisation : les conditions de l'API Slack, en vigueur depuis le 10/10/2025, interdisent d'utiliser les données de l'API pour entraîner un grand modèle de langage.
Sources
Pages consultées pour écrire cet article :