Trigger

Trigger definieren, wie Workflows in ADK Studio starten. Jeder Workflow beginnt mit einem Trigger node, der den Einstiegspunkt bestimmt – sei es durch Benutzereingaben, einen HTTP webhook, einen cron schedule oder ein externes Ereignis.

Trigger-Eigenschaften-Panel

Trigger-Typen

TypBeschreibungAnwendungsfall
ManuellVom Benutzer über Chateingabe initiiertInteraktive Agenten, Tests
WebhookHTTP endpoint (POST/GET)API integrations, CI/CD pipelines
ZeitplanCron-basierte ZeitsteuerungRegelmäßige Berichte, Datensynchronisation
EreignisExterne SystemereignisseMicroservice-Orchestrierung, ereignisgesteuerte Workflows

Manuelle Auslöser

Der Standard-Auslösertyp. Wenn ein Workflow einen manuellen Auslöser hat, wird die Chateingabe mit einer konfigurierbaren Beschriftung und einem Platzhalter angezeigt.

Konfiguration:

EigenschaftTypStandard
inputLabelstring"Geben Sie Ihre Nachricht ein"
defaultPromptstring"Wobei können Sie mir heute mit ADK-Rust helfen?"

Das Eingabefeld-Label erscheint über dem Chat-Eingabefeld, und der Standard-Prompt wird als Platzhaltertext verwendet.

Webhook-Trigger

Stellen Sie einen HTTP-Endpunkt bereit, der den Workflow startet, wenn er aufgerufen wird. Nützlich für die Integration mit externen Diensten, CI/CD-Pipelines oder anderen Anwendungen.

Konfiguration:

EigenschaftTypBeschreibung
pathstringURL path (z.B., /my-webhook)
methodGET, POSTAkzeptierte HTTP-Methode
authnone, bearer, api_keyAuthentifizierungsanforderung

Endpunkte

Jeder Webhook-Trigger erstellt zwei Endpunkte:

EndpunktVerhalten
/api/projects/:id/webhook/*pathAsync — gibt Session ID sofort zurück
/api/projects/:id/webhook-exec/*pathSync — wartet auf den Abschluss des Workflows und gibt das Ergebnis zurück

GET-Webhooks funktionieren ebenfalls:

GET /api/projects/:id/webhook/my-path?message=Hello

Authentifizierung

Bearer-Token:

curl -X POST "http://localhost:3000/api/projects/{id}/webhook/my-path" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"message": "Process this"}'

API-Schlüssel:

curl -X POST "http://localhost:3000/api/projects/{id}/webhook/my-path" \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "Process this"}'

Webhook-Ereignisbenachrichtigungen

Abonnieren Sie Echtzeit-Webhook-Ausführungsereignisse über SSE:

GET /api/projects/:id/webhook-events

Dieser Stream sendet Ereignisse, sobald Webhooks empfangen und verarbeitet werden.


Zeitplan-Trigger

Führen Sie Workflows nach einem wiederkehrenden Zeitplan mithilfe von Cron-Ausdrücken aus.

Konfiguration:

EigenschaftTypBeschreibung
cronstring5-Feld cron expression
timezonestringIANA Zeitzone (z.B., America/New_York)
defaultPromptstring?Eingabetext, der gesendet wird, wenn der Zeitplan ausgelöst wird

Cron-Syntax

Standard-Cron-Ausdrücke mit 5 Feldern:

┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, Sun=0)
│ │ │ │ │
* * * * *

Beispiele:

AusdruckBedeutung
* * * * *Jede Minute
0 9 * * *Täglich um 9:00 Uhr
0 0 * * 0Wöchentlich sonntags um Mitternacht
0 */6 * * *Alle 6 Stunden
30 8 * * 1-5Wochentags um 8:30 Uhr

Der Zeitplan-Dienst verfolgt last_executed Zeitstempel, um doppelte Ausführungen zu verhindern.


Ereignis-Trigger

Starten Sie Workflows als Reaktion auf externe Systemereignisse. Ereignisse werden abgeglichen nach source und eventType, mit optionaler JSONPath-Filterung der Ereignisdaten.

Konfiguration:

EigenschaftTypBeschreibung
sourcestringBezeichner der Ereignisquelle (z.B., payment-service)
eventTypestringEreignistyp zum Abgleichen (z.B., payment.completed)
filterstring?JSONPath expression zum Filtern von Ereignissen

Ereignisse senden

curl -X POST "http://localhost:3000/api/projects/{id}/events" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "payment-service",
    "eventType": "payment.completed",
    "data": {
      "orderId": "12345",
      "amount": 99.00,
      "status": "active"
    }
  }'

JSONPath-Filter

Filtern Sie Ereignisse, damit der Workflow nur ausgelöst wird, wenn bestimmte Bedingungen erfüllt sind:

FilterausdruckTrifft zu, wenn
$.data.status == 'active'Statusfeld ist gleich "aktiv"
$.data.amount > 100Betrag übersteigt 100
$.data.priority == 'high'Priorität ist "hoch"

Ereignisse, die dem Filter nicht entsprechen, werden stillschweigend ignoriert.


Trigger-bewusste Ausführen-Schaltfläche

Die Studio-Benutzeroberfläche passt sich an den aktiven Trigger-Typ an:

  • Manuell — Standard-Chat-Eingabe mit dem konfigurierten Label und Platzhalter
  • Webhook — Ausführen-Schaltfläche sendet eine simulierte Webhook-Nutzlast
  • Zeitplan — Ausführen-Schaltfläche sendet den konfigurierten Standard-Prompt
  • Ereignis — Ausführen-Schaltfläche sendet eine simulierte Ereignis-Nutzlast

Wenn ein Workflow seit dem letzten Build geändert wurde, verwandelt sich die Senden-Schaltfläche in eine Build-Schaltfläche, um eine Neukompilierung anzufordern.


API-Referenz

EndpunktMethodeBeschreibung
/api/projects/:id/webhook/*pathPOST, GETAsynchroner Webhook-Auslöser
/api/projects/:id/webhook-exec/*pathPOSTSync webhook trigger (wartet auf Ergebnis)
/api/projects/:id/webhook-eventsGETSSE-Stream für Webhook-Benachrichtigungen
/api/projects/:id/eventsPOSTEreignisauslöser

Zurück: ← Aktionsknoten | Weiter: Entwicklungsrichtlinien →

Trigger - ADK-Rust Dokumentation | ADK-Rust