Einen KI-Agenten sofort anstoßen: Jetzt ausführen, @claude und Webhooks
Setz einen verbundenen KI-Agenten sofort auf eine Aufgabe an: mit Jetzt ausführen, einer @claude-Erwähnung oder einem signierten Webhook, der einen Agenten weckt, der noch nicht läuft.

Von Alejandro Rioja6 Min. Lesezeit
Klick bei einer Aufgabe auf „Jetzt ausführen“ oder schreib @claude in einen Kommentar dazu. Beides erzeugt dieselbe Anfrage, und Done stellt sie einem verbundenen Agenten sofort zu, statt auf dessen nächste geplante Abfrage zu warten. Hängt ein Agent bereits über MCP am Ereignisstrom, erreicht sie ihn in Echtzeit. Ist nichts verbunden, wird die Anfrage als dauerhafter Eintrag in die Warteschlange gelegt, und ein Agent greift sie auf, sobald er sich verbindet. Auf Wunsch schickt Done außerdem einen signierten ausgehenden Webhook an einen separaten Dienst, damit überhaupt etwas den Agenten wecken kann.
Warum „er holt es sich schon irgendwann“ nicht immer reicht
Ein Agent, der nach Zeitplan läuft, etwa als nächtliche Routine, als stündlicher Cron-Job oder als Claude-Code-Sitzung, die du selbst startest, sieht nur, was sich seit seiner letzten Abfrage geändert hat. Für die meiste Arbeit reicht das, aber nicht für das Anliegen, das wirklich eilt: Ein Hindernis hat sich gerade gelöst, jemand braucht bei der Prüfung heute noch etwas zurück, oder du schaust genau jetzt aufs Board und willst, dass der nächste Schritt sofort beginnt und nicht erst beim nächsten geplanten Lauf. Auslöser gibt es, um genau diese Lücke zu schließen.
Jetzt ausführen: die Variante mit einem Klick
Jede Aufgabe hat eine Schaltfläche „Jetzt ausführen“. Ein Klick darauf erzeugt einen Auslöser, und die Antwort sagt dir ehrlich, ob etwas passiert ist: „Zugestellt. Ein Agent hört zu.“, wenn ein verbundener Agent die Anfrage in Echtzeit bekommen hat, oder „In der Warteschlange. Dein Agent übernimmt das bei seiner nächsten Verbindung.“, wenn niemand da war, um sie entgegenzunehmen. Die Warteschlange wird nicht als Fehler dargestellt, weil sie keiner ist. Eine Anfrage um 23 Uhr, bei der niemand verbunden ist, ist der Normalfall, und sie wird ja gerade deshalb festgehalten, damit sie am Morgen noch da ist.
@claude in einem Kommentar bewirkt dasselbe
Wenn du „@claude“ in einen Kommentar schreibst, entsteht dieselbe Anfrage, ohne dass du das Gespräch verlassen musst, das du in der Aufgabe ohnehin führst. Der Parser ist absichtlich vorsichtig: Er entfernt zuerst Codeblöcke und Inline-Code, damit eine eingefügte Logzeile ihn nie versehentlich auslöst, und er weist eine E-Mail-Adresse wie ale@claude.ai ebenso zurück wie einen anderen Namen wie @claudette. Nur das wörtliche, allein stehende „@claude“ zählt. Das ist enger gefasst als die Namen, die die Schnelleingabe erkennt, wenn du einem Agenten eine brandneue Aufgabe zuweist (@agent, @claude, @chatgpt und ein paar weitere bedeuten dort alle „weise das einem KI-Agenten zu“). Um eine bereits bestehende Aufgabe anzustoßen, funktioniert nur @claude in einem Kommentar. Und der eigene Kommentar eines Agenten löst ihn nie selbst aus: Schreibt der Agent „@claude“, entsteht nichts.
Was „zugestellt“ genau bedeutet
Zugestellt bedeutet etwas ganz Bestimmtes: Die eigene, authentifizierte Verbindung eines Agenten zum Live-Ereignisstrom von Done war in genau diesem Moment offen. Ein Mensch, der dieselbe Aufgabe in einem Browser-Tab ansieht, zählt nicht. Nur Zugangsdaten, die sich als Agent authentifiziert haben und in diesem Augenblick am Strom hängen, nehmen die Zustellung eines Auslösers entgegen. Die Definition ist absichtlich streng, denn „zugestellt“ ist eine Aussage darüber, was tatsächlich passiert ist, und nicht darüber, was hätte passieren sollen.
Wenn nichts verbunden ist: in der Warteschlange, nicht verloren
Ein Auslöser verfällt nicht in dem Moment, in dem ihn niemand entgegennimmt. Er bleibt offen, bis ein Agent ihn übernimmt, und er hat Vorrang vor der normalen Reihenfolge der Warteschlange: Ein Agent, der list_triggers aufruft, sieht jede offene Anfrage, die an ihn gerichtet ist (wer gefragt hat, wann, welche Aufgabe und die Anweisung), noch vor dem, was next_task ihm ohnehin gegeben hätte. claim_trigger übernimmt eine davon atomar. Melden sich zwei Agenten fast gleichzeitig, arbeitet am Ende nur einer von ihnen an dieser Anfrage.
Einen Agenten wecken, der gar nicht läuft
Sowohl list_triggers als auch der Live-Ereignisstrom setzen voraus, dass wenigstens ab und zu etwas verbunden ist. Wenn nicht, weil noch kein Cron-Job gelaufen und keine Sitzung offen ist, kann Done eine URL benachrichtigen, die du registrierst: ein ausgehender Webhook, abgeschickt in dem Moment, in dem ein Auslöser entsteht. Ein anderer Prozess (ein kleiner, dauerhaft laufender Dienst, eine Serverless-Funktion oder was auch immer deinen Agenten tatsächlich startet) kann ihn nutzen, um einen Lauf zu starten. Der Webhook wird zusätzlich zur Benachrichtigung über den Live-Strom verschickt, nie stattdessen. Für einen bereits verbundenen Agenten ändert sich also nichts.
- Die URL zu registrieren ist eine Handlung eines Menschen in Done und nichts, was ein MCP-Token tun kann. Das ist Absicht: Ein Agent, der Done auf eine selbst gewählte URL richten könnte, hätte sich einen ausgehenden Kanal aus seiner Sandbox heraus verschafft.
- Die Nutzlast enthält nur IDs: einen Ereignisnamen, die ID der Aufgabe und die ID des Arbeitsbereichs. Keinen Titel, keine Notizen, keinen Anweisungstext. Eine durchgesickerte Webhook-URL oder eine Zustellung, die beim falschen Host landet, verrät nur, dass eine Aufgaben-ID existiert. Der empfangende Agent muss den eigentlichen Inhalt trotzdem selbst abrufen, über sein eigenes beschränktes MCP-Token und durch dieselben Zugriffsprüfungen wie jeder andere Lesezugriff.
- Jede Zustellung ist signiert: HMAC-SHA256 über Zeitstempel und Body zusammen, gesendet in den Headern X-Done-Signature und X-Done-Timestamp. So kann ein Empfänger prüfen, dass sie wirklich von Done stammt, und alles ablehnen, was aus einer alten Zustellung erneut eingespielt wird.
- Die URL muss https sein, und Done weigert sich, eine zu registrieren, die auf eine private oder eine Loopback-Adresse zeigt.
- Zustellungen sind auf 60 pro Stunde und Konto begrenzt, mit einem Timeout von 5 Sekunden. Ein Auslöser ist für einen Menschen gedacht, der eine Schaltfläche drückt, oder für ein gelegentliches @claude, nicht für eine Flut von Ereignissen.
Den Webhook einrichten
Registriere einmal in Done eine URL. Du bekommst nur in diesem Moment ein Signaturgeheimnis zurück, das sich später nicht mehr abrufen lässt. Kopiere es also, bevor du die Seite verlässt. Um eine Zustellung zu prüfen, berechnet dein Empfänger HMAC-SHA256 mit diesem Geheimnis als Schlüssel über den Wert von X-Done-Timestamp, einen Punkt und den unveränderten Body und vergleicht das hexadezimale Ergebnis mit X-Done-Signature. Wenn du die URL ersetzt, wird das Geheimnis erneuert, und das dient zugleich als Widerruf: Zeig auf ein anderes Ziel oder vertrau dem alten Geheimnis einfach nicht mehr, ganz ohne eigenen Widerrufsschritt.
Was sich dadurch nicht ändert
Done bleibt eine Warteschlange, die ein Agent abfragen muss, und wird nie zu einem Planer, der von sich aus die Tools eines Agenten ausführt. Nichts davon löst in deinem Namen einen MCP-Aufruf aus. Gelöst wird etwas Engeres: eine Anfrage sofort vor einen verbundenen Agenten zu bringen statt erst bei seiner nächsten Abfrage, und etwas die Möglichkeit zu geben, einen Agenten zu wecken, wenn gerade gar nichts abfragt. Übernehmen, die Arbeit erledigen und das Ergebnis zurückmelden bleibt vollständig Sache der eigenen Sitzung des Agenten, genau wie bei jeder anderen Aufgabe.
Häufige Fragen
Wie bringe ich einen KI-Agenten dazu, sofort an einer Aufgabe zu arbeiten, statt zu warten?
Klick bei der Aufgabe auf „Jetzt ausführen“ oder schreib @claude in einen Kommentar dazu. Beides erzeugt dieselbe Anfrage. Sie wird sofort zugestellt, wenn ein Agent bereits über MCP verbunden ist, oder landet als dauerhafter Eintrag in der Warteschlange, den der Agent bei seiner nächsten Verbindung aufgreift.
Was ist der Unterschied zwischen @claude in einem Kommentar und dem Zuweisen einer Aufgabe an @agent?
Beim Zuweisen einer Aufgabe wird eine größere Auswahl an Namen erkannt (@agent, @claude, @chatgpt und weitere), um festzulegen, wer zuständig ist. Eine bereits bestehende Aufgabe anzustoßen ist enger gefasst: Nur das wörtliche @claude in einem Kommentar erzeugt einen Auslöser, und die eigenen Kommentare eines Agenten lösen ihn nie selbst aus.
Kann ein Webhook sehen, was in meinen Aufgaben steht?
Nein. Die Nutzlast des Webhooks enthält nur IDs: einen Ereignisnamen, die ID der Aufgabe und die ID des Arbeitsbereichs, nie einen Titel, Notizen oder Anweisungstext. Wer auch immer ihn empfängt, muss die eigentliche Aufgabe trotzdem über sein eigenes beschränktes MCP-Token abrufen.
Brauche ich einen kostenpflichtigen Tarif für Jetzt ausführen, @claude oder den Webhook?
Nein. Auslöser, Erwähnungen in Kommentaren und der ausgehende Webhook stehen in jedem Tarif zur Verfügung. Nichts davon ist Pro oder Teams vorbehalten.