Doku

Slack-App

Halte Aufgaben aus Slack mit /done oder @done fest und ändere sie. Jede Person in Slack verknüpft ihr eigenes Done-Konto, sodass alles, was du hinzufügst, nur bei deinen Aufgaben landet.

Was du tun kannst

/done buy milk tomorrow urgent #errands
Erstellt eine Aufgabe. Datum in natürlicher Sprache, Priorität, ~Schätzung und #Projekt werden aus der Zeile gelesen, genau wie bei der Schnelleingabe in der App.
/done done review the PR
Markiert die oberste offene Aufgabe, deren Titel zu „review the PR“ passt, als erledigt.
/done update groceries :: friday, low priority
Wendet die Angaben zu Datum und Priorität hinter :: auf die passende Aufgabe an und schreibt den Text als Kommentar dazu.
/done list
Zeigt deine fünf wichtigsten offenen Aufgaben.
/done connect
Verknüpft dieses Slack-Konto mit deinem Done-Konto (einmalig).
/done disconnect
Hebt die Verknüpfung dieses Slack-Kontos auf. Deine Aufgaben bleiben; nur die Slack-Verbindung wird entfernt.
/done help
Zeigt die Befehlsübersicht.

@done … in einem Channel, in dem der Bot Mitglied ist, funktioniert genauso wie /done ….

Done zu deinem Slack-Workspace hinzufügen

Eine Person installiert die App für den gesamten Workspace. Das ist ein Klick und braucht keine Konfiguration: Du legst keine Slack-App an und kommst nie mit einem Secret in Berührung.

Zu Slack hinzufügen

Mit der Installation erhält Done drei Bot-Scopes – commands, chat:write und app_mentions:read – und sonst nichts. Die Installation allein verbindet die Aufgaben von niemandem: Jede Person verknüpft ihr eigenes Konto weiterhin selbst, wie unten beschrieben. Ein Admin kann den Workspace also nicht an die Done-Daten einer anderen Person anschließen.

Dein Konto verbinden

  1. Führe in Slack /done connect aus.
  2. Öffne den Link aus der Antwort und melde dich bei Done an, falls du noch nicht angemeldet bist.
  3. Bestätige auf dem Zustimmungsbildschirm von Slack. Done fragt nur einen einzigen Scope an, identity.basic, der uns lediglich sagt, welcher Slack-Nutzer du bist.
  4. Das war’s: /done verwaltet jetzt die Aufgaben deines Kontos. Mit /done disconnect hebst du die Verknüpfung jederzeit wieder auf.

Beide Hälften der Verbindung werden nachgewiesen und nie von einer URL behauptet: Dein Done-Konto ergibt sich aus der Sitzung in deinem Browser, deine Slack-Identität aus dem Token-Austausch von Slack selbst. Der Link, den /done connect dir gibt, ist für alle derselbe und sagt nichts darüber, wer sich verbindet. Leitest du ihn an jemand anderen weiter, passiert also nichts in deinem Namen; es beginnt lediglich dessen Verbindung mit dessen eigenem Konto.

Einrichtung (Workspace-Admin)

Nur nötig, wenn du Done selbst hostest. Auf trydone.app ist die App bereits veröffentlicht; nutze dort stattdessen die Schaltfläche „Zu Slack hinzufügen“ oben. Selbst hosten heißt: Du legst eine eigene Slack-App an, die auf deine Instanz zeigt, und setzt vier Secrets. Solange sie nicht gesetzt sind, bleiben die /slack/*-Routen inaktiv und antworten mit „not configured“.

  1. Lege unter api.slack.com/apps eine App für deinen Workspace an.
  2. Slash Commands → füge /done mit der Request-URL https://trydone.app/slack/commands hinzu und ergänze den Bot-Scope commands. Ohne ihn weigert sich Slack, eine App zu speichern, die einen Slash-Befehl deklariert.
  3. Interactivity & Shortcuts → einschalten, Request-URL https://trydone.app/slack/interactivity. Freigabehinweise kommen als Direktnachricht mit den Schaltflächen Freigeben / Änderungen anfordern. Ohne diese URL weiß Slack nicht, wohin es den Klick senden soll; die Schaltflächen werden dann angezeigt, tun aber nichts.
  4. Event Subscriptions (optional, für @done) → Request-URL https://trydone.app/slack/events, abonniere das Bot-Event app_mention und füge die beiden Scopes chat:write und app_mentions:read hinzu. Das Abonnieren von app_mention setzt den zweiten voraus.
  5. OAuth & Permissions → füge die Redirect-URL https://trydone.app/slack/oauth/callback und den User-Token-Scope identity.basic hinzu. Die Kontoverknüpfung ist ein OAuth-Durchlauf; ohne diese Angaben kann /done connect niemanden weiterleiten.
  6. Installiere die App im Workspace und setze dann die Secrets auf dem Worker:
wrangler secret put SLACK_SIGNING_SECRET   # from Basic Information → App Credentials
wrangler secret put SLACK_CLIENT_ID        # Basic Information → App Credentials → Client ID
wrangler secret put SLACK_CLIENT_SECRET    # …→ Client Secret (needed for /done connect)

Setze SLACK_SIGNING_SECRET, bevor du die URL für Event Subscriptions einträgst. Slack prüft diese URL, indem es eine url_verification-Challenge an sie sendet, und /slack/events prüft die Signatur der Anfrage, bevor es die Challenge beantwortet. Solange das Secret fehlt, antwortet der Endpunkt also mit „not configured“, und Slack lehnt die URL ab. Kein anderer Schritt hat diese Einschränkung: Event Subscriptions ist der einzige, den Slack beim Speichern prüft.

Kurztest: /done connect → in Slack bestätigen → /done buy milk tomorrow urgent #errands → /done list. Lass danach einen Agenten einen Vorschlag einreichen und klick in der Direktnachricht auf Freigeben. Nur dieser letzte Schritt beweist, dass Interactivity richtig angeschlossen ist.

Hinweise

  • Jede Slack-Anfrage wird anhand der Signatur mit dem Signing Secret von Slack geprüft; veraltete (erneut abgespielte) Anfragen werden abgelehnt.
  • Alles bleibt auf das Konto des verknüpften Nutzers beschränkt. Das ist dieselbe Isolation, die auch die App und der MCP-Endpunkt durchsetzen.
  • Aufgaben, die in Slack entstehen, sind ganz normale Aufgaben: Weise sie einem KI-Agenten zu, lege Abhängigkeiten fest oder bearbeite sie in der App.