Documentation

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
Crée une tâche. Les dates en langage naturel, la priorité, la ~estimation et le #projet sont extraits de la ligne, exactement comme avec l’Ajout rapide dans l’application.
/done done review the PR
Marque comme terminée la première tâche ouverte dont le titre correspond à « review the PR ».
/done update groceries :: friday, low priority
Applique à la tâche correspondante les indications d’échéance et de priorité placées après ::, et publie le texte en commentaire sur cette tâche.
/done list
Affiche vos cinq tâches ouvertes les plus importantes.
/done connect
Associe ce compte Slack à votre compte Done (une seule fois).
/done disconnect
Dissocie ce compte Slack. Vos tâches restent en place ; seule la connexion à Slack disparaît.
/done help
Affiche l’aide-mémoire des commandes.

@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.

Ajouter à Slack

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

  1. Dans Slack, lancez /done connect.
  2. Ouvrez le lien reçu en réponse et connectez-vous à Done si ce n’est pas déjà fait.
  3. 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.
  4. C’est tout : /done gè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 ».

  1. Sur api.slack.com/apps, créez une application pour votre espace de travail.
  2. Slash Commands → ajoutez /done avec l’URL de requête https://trydone.app/slack/commands, puis ajoutez le scope de bot commands. Sans lui, Slack refuse d’enregistrer une application qui déclare une commande slash.
  3. 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.
  4. Event Subscriptions (facultatif, pour @done) → URL de requête https://trydone.app/slack/events, abonnez-vous à l’événement de bot app_mention et ajoutez les scopes chat:write et app_mentions:read. L’abonnement à app_mention exige ce dernier.
  5. OAuth & Permissions → ajoutez l’URL de redirection https://trydone.app/slack/oauth/callback et le scope de jeton utilisateur identity.basic. L’association des comptes est un aller-retour OAuth ; sans ces deux éléments, /done connect n’a nulle part où envoyer les gens.
  6. 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.