トリガー
トリガーは、ADK Studio でワークフローがどのように開始するかを定義します。すべてのワークフローは、ユーザー入力、HTTP webhook、cron スケジュール、または外部イベントのいずれからであっても、エントリポイントを決定するトリガーノードから始まります。

トリガーの種類
| タイプ | 説明 | ユースケース |
|---|---|---|
| 手動 | チャット入力によるユーザー開始 | インタラクティブなエージェント、テスト |
| Webhook | HTTP エンドポイント (POST/GET) | API 統合、CI/CD パイプライン |
| スケジュール | Cronベースのタイミング | 定期レポート、データ同期 |
| イベント | 外部システムイベント | マイクロサービスオーケストレーション、イベント駆動型ワークフロー |
手動トリガー
デフォルトのトリガータイプです。ワークフローに手動トリガーがある場合、チャット入力は設定可能なラベルとプレースホルダーとともに表示されます。
設定:
| プロパティ | 型 | デフォルト |
|---|---|---|
inputLabel | string | "メッセージを入力してください" |
defaultPrompt | string | "今日、ADK-Rustを使って何を構築するお手伝いができますか?" |
チャット入力フィールドの上にインプットラベルが表示され、デフォルトのプロンプトがプレースホルダーテキストとして使用されます。
Webhookトリガー
呼び出されたときにワークフローを開始する HTTP エンドポイントを公開します。外部サービス、CI/CDパイプライン、またはその他のアプリケーションとの統合に役立ちます。
設定:
| プロパティ | 型 | 説明 |
|---|---|---|
path | string | URL パス (例: /my-webhook) |
method | GET, POST | HTTP 受け入れるメソッド |
auth | なし, bearer, api_key | 認証要件 |
エンドポイント
各ウェブフックトリガーは2つのエンドポイントを作成します。
| エンドポイント | 動作 |
|---|---|
/api/projects/:id/webhook/*path | 非同期 — セッションIDを即座に返します |
/api/projects/:id/webhook-exec/*path | 同期 — ワークフローの完了を待ち、結果を返します |
GET webhooksも機能します:
GET /api/projects/:id/webhook/my-path?message=Hello
認証
ベアラートークン:
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 キー:
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イベント通知
SSE を介してリアルタイムのwebhook実行イベントを購読します:
GET /api/projects/:id/webhook-events
このストリームは、webhookが受信および処理されるとイベントを発行します。
スケジュールのトリガー
cron式を使用して、ワークフローを定期的なスケジュールで実行します。
設定:
| プロパティ | 型 | 説明 |
|---|---|---|
cron | 文字列 | 5フィールドのcron式 |
timezone | 文字列 | IANAタイムゾーン (例: America/New_York) |
defaultPrompt | 文字列? | スケジュールが発火したときに送信される入力テキスト |
Cron構文
標準的な5フィールドのcron式:
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, Sun=0)
│ │ │ │ │
* * * * *
例:
| 式 | 意味 |
|---|---|
* * * * * | 毎分 |
0 9 * * * | 毎日午前9時 |
0 0 * * 0 | 毎週日曜日の深夜 |
0 */6 * * * | 6時間ごと |
30 8 * * 1-5 | 平日の午前8時30分 |
スケジュールサービスは、重複実行を防ぐためにlast_executedタイムスタンプを追跡します。
イベントトリガー
外部システムイベントに応答してワークフローを開始します。イベントは、イベントデータに対するオプションのJSONPathフィルタリングを使用して、sourceとeventTypeによって照合されます。
設定:
| プロパティ | 型 | 説明 |
|---|---|---|
source | string | イベントソース識別子 (例: payment-service) |
eventType | string | マッチさせるイベントタイプ (例: payment.completed) |
filter | string? | イベントをフィルタリングするためのJSONPath式 |
イベントの送信
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 フィルター
ワークフローが特定の条件が満たされた場合にのみトリガーされるように、イベントをフィルターします。
| フィルター式 | 一致条件 |
|---|---|
$.data.status == 'active' | ステータスフィールドが「active」に等しい |
$.data.amount > 100 | 金額が100を超える |
$.data.priority == 'high' | 優先度が「high」である |
フィルターに一致しないイベントは、サイレントに無視されます。
トリガー認識型実行ボタン
Studio UI は、アクティブなトリガータイプに基づいて適応します。
- 手動 — 設定されたラベルとプレースホルダーを持つ標準チャット入力
- Webhook — 実行ボタンはシミュレートされた Webhook ペイロードを送信します
- スケジュール — 実行ボタンは設定されたデフォルトプロンプトを送信します
- イベント — 実行ボタンはシミュレートされたイベントペイロードを送信します
ワークフローが最後のビルド以降に変更された場合、送信ボタンは再コンパイルを促すビルドボタンに変わります。
API リファレンス
| エンドポイント | メソッド | 説明 |
|---|---|---|
/api/projects/:id/webhook/*path | POST, GET | 非同期ウェブフックトリガー |
/api/projects/:id/webhook-exec/*path | POST | 同期ウェブフックトリガー(結果を待機) |
/api/projects/:id/webhook-events | GET | SSE ウェブフック通知用ストリーム |
/api/projects/:id/events | POST | イベントトリガー |
前へ: ← アクションノード | 次へ: 開発ガイドライン →