トリガー

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

トリガープロパティパネル

トリガーの種類

タイプ説明ユースケース
手動チャット入力によるユーザー開始インタラクティブなエージェント、テスト
WebhookHTTP エンドポイント (POST/GET)API 統合、CI/CD パイプライン
スケジュールCronベースのタイミング定期レポート、データ同期
イベント外部システムイベントマイクロサービスオーケストレーション、イベント駆動型ワークフロー

手動トリガー

デフォルトのトリガータイプです。ワークフローに手動トリガーがある場合、チャット入力は設定可能なラベルとプレースホルダーとともに表示されます。

設定:

プロパティデフォルト
inputLabelstring"メッセージを入力してください"
defaultPromptstring"今日、ADK-Rustを使って何を構築するお手伝いができますか?"

チャット入力フィールドの上にインプットラベルが表示され、デフォルトのプロンプトがプレースホルダーテキストとして使用されます。


Webhookトリガー

呼び出されたときにワークフローを開始する HTTP エンドポイントを公開します。外部サービス、CI/CDパイプライン、またはその他のアプリケーションとの統合に役立ちます。

設定:

プロパティ説明
pathstringURL パス (例: /my-webhook)
methodGET, POSTHTTP 受け入れるメソッド
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フィルタリングを使用して、sourceeventTypeによって照合されます。

設定:

プロパティ説明
sourcestringイベントソース識別子 (例: payment-service)
eventTypestringマッチさせるイベントタイプ (例: payment.completed)
filterstring?イベントをフィルタリングするための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/*pathPOST, GET非同期ウェブフックトリガー
/api/projects/:id/webhook-exec/*pathPOST同期ウェブフックトリガー(結果を待機)
/api/projects/:id/webhook-eventsGETSSE ウェブフック通知用ストリーム
/api/projects/:id/eventsPOSTイベントトリガー

前へ: ← アクションノード | 次へ: 開発ガイドライン →