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-Typen
| Typ | Beschreibung | Anwendungsfall |
|---|---|---|
| Manuell | Vom Benutzer über Chateingabe initiiert | Interaktive Agenten, Tests |
| Webhook | HTTP endpoint (POST/GET) | API integrations, CI/CD pipelines |
| Zeitplan | Cron-basierte Zeitsteuerung | Regelmäßige Berichte, Datensynchronisation |
| Ereignis | Externe Systemereignisse | Microservice-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:
| Eigenschaft | Typ | Standard |
|---|---|---|
inputLabel | string | "Geben Sie Ihre Nachricht ein" |
defaultPrompt | string | "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:
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
path | string | URL path (z.B., /my-webhook) |
method | GET, POST | Akzeptierte HTTP-Methode |
auth | none, bearer, api_key | Authentifizierungsanforderung |
Endpunkte
Jeder Webhook-Trigger erstellt zwei Endpunkte:
| Endpunkt | Verhalten |
|---|---|
/api/projects/:id/webhook/*path | Async — gibt Session ID sofort zurück |
/api/projects/:id/webhook-exec/*path | Sync — 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:
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
cron | string | 5-Feld cron expression |
timezone | string | IANA Zeitzone (z.B., America/New_York) |
defaultPrompt | string? | 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:
| Ausdruck | Bedeutung |
|---|---|
* * * * * | Jede Minute |
0 9 * * * | Täglich um 9:00 Uhr |
0 0 * * 0 | Wöchentlich sonntags um Mitternacht |
0 */6 * * * | Alle 6 Stunden |
30 8 * * 1-5 | Wochentags 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:
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
source | string | Bezeichner der Ereignisquelle (z.B., payment-service) |
eventType | string | Ereignistyp zum Abgleichen (z.B., payment.completed) |
filter | string? | 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:
| Filterausdruck | Trifft zu, wenn |
|---|---|
$.data.status == 'active' | Statusfeld ist gleich "aktiv" |
$.data.amount > 100 | Betrag ü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
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/api/projects/:id/webhook/*path | POST, GET | Asynchroner Webhook-Auslöser |
/api/projects/:id/webhook-exec/*path | POST | Sync webhook trigger (wartet auf Ergebnis) |
/api/projects/:id/webhook-events | GET | SSE-Stream für Webhook-Benachrichtigungen |
/api/projects/:id/events | POST | Ereignisauslöser |
Zurück: ← Aktionsknoten | Weiter: Entwicklungsrichtlinien →