Application Slack
Notez et modifiez des tâches depuis Slack avec /done ou @done. Chaque utilisateur Slack relie son propre compte Done : tout ce que vous ajoutez reste limité à vos tâches.
Ce que vous pouvez faire
/done buy milk tomorrow urgent #errands/done done review the PR/done update groceries :: friday, low priority/done list/done connect/done disconnect/done help@done … dans un canal où le bot est présent fonctionne comme /done ….
Ajoutez Done à votre espace de travail
Une seule personne installe l’application pour tout l’espace de travail. Un clic suffit et il n’y a rien à configurer : vous ne créez aucune application Slack et vous ne manipulez aucun secret.
L’installation accorde à Done trois autorisations de bot (commands, chat:write et app_mentions:read), et rien d’autre. À elle seule, elle ne connecte les tâches de personne : chacun associe ensuite son propre compte, comme expliqué ci-dessous. Un administrateur ne peut donc pas relier l’espace de travail aux données Done de quelqu’un d’autre.
Connectez votre compte
- Dans Slack, lancez
/done connect. - Ouvrez le lien reçu en réponse et connectez-vous à Done si ce n’est pas déjà fait.
- Approuvez sur l’écran de consentement de Slack. Done ne demande qu’une seule autorisation,
identity.basic, qui nous indique uniquement quel utilisateur Slack vous êtes. - C’est tout :
/donegère désormais les tâches de votre compte. Lancez/done disconnectà tout moment pour le dissocier.
Les deux moitiés de la connexion sont prouvées, jamais simplement affirmées par une URL : votre compte Done vient de la session ouverte dans votre navigateur, et votre identité Slack vient de l’échange de jetons de Slack lui-même. Le lien fourni par /done connect est le même pour tout le monde et ne dit rien de la personne qui se connecte. Le transférer à quelqu’un d’autre ne fait donc rien en votre nom : cela lance simplement sa connexion à son propre compte.
Mise en place (administrateur de l’espace de travail)
Nécessaire uniquement si vous hébergez Done vous-même. Sur trydone.app, l’application est déjà publiée : utilisez plutôt le bouton Ajouter à Slack ci-dessus. Héberger Done vous-même implique de créer votre propre application Slack, pointée vers votre instance, et de définir quatre secrets. Tant qu’ils ne sont pas définis, les routes /slack/* restent inactives et répondent « not configured ».
- Sur api.slack.com/apps, créez une application pour votre espace de travail.
- Slash Commands → ajoutez
/doneavec l’URL de requêtehttps://trydone.app/slack/commands, puis ajoutez le scope de botcommands. Sans lui, Slack refuse d’enregistrer une application qui déclare une commande slash. - Interactivity & Shortcuts → activez l’option, avec l’URL de requête
https://trydone.app/slack/interactivity. Les alertes de validation vous arrivent en message privé avec les boutons Approuver / Demander des modifications. Sans cette URL, Slack n’a nulle part où transmettre le clic : les boutons s’affichent, mais ne font rien. - Event Subscriptions (facultatif, pour
@done) → URL de requêtehttps://trydone.app/slack/events, abonnez-vous à l’événement de botapp_mentionet ajoutez les scopeschat:writeetapp_mentions:read. L’abonnement àapp_mentionexige ce dernier. - OAuth & Permissions → ajoutez l’URL de redirection
https://trydone.app/slack/oauth/callbacket le scope de jeton utilisateuridentity.basic. L’association des comptes est un aller-retour OAuth ; sans ces deux éléments,/done connectn’a nulle part où envoyer les gens. - Installez l’application dans l’espace de travail, puis définissez les secrets sur le Worker :
wrangler secret put SLACK_SIGNING_SECRET # depuis Basic Information → App Credentials
wrangler secret put SLACK_CLIENT_ID # Basic Information → App Credentials → Client ID
wrangler secret put SLACK_CLIENT_SECRET # …→ Client Secret (nécessaire pour /done connect)Définissez SLACK_SIGNING_SECRET avant d’ajouter l’URL d’Event Subscriptions. Slack vérifie cette URL en lui envoyant un défi url_verification, et /slack/events contrôle la signature de la requête avant de répondre au défi. Tant que le secret n’est pas défini, le point d’accès répond donc « not configured » et Slack rejette l’URL. Aucune autre étape n’a cette contrainte : Event Subscriptions est la seule que Slack vérifie à l’enregistrement.
Test rapide : /done connect → approuvez dans Slack → /done buy milk tomorrow urgent #errands → /done list. Demandez ensuite à un agent de laisser une proposition en attente et appuyez sur Approuver dans le message privé. Cette dernière étape est la seule qui prouve qu’Interactivity est bien branché.
Remarques
- Chaque requête Slack est vérifiée grâce à la signature fondée sur le secret de signature de Slack ; les requêtes périmées (rejouées) sont rejetées.
- Tout le travail reste limité au compte de l’utilisateur associé. C’est le même cloisonnement que celui qu’appliquent l’application et le point d’accès MCP.
- Les tâches créées depuis Slack sont des tâches ordinaires : attribuez-les à un agent IA, définissez des dépendances ou traitez-les dans l’application.