트리거

트리거는 ADK Studio에서 워크플로우가 시작되는 방식을 정의합니다. 모든 워크플로우는 진입점을 결정하는 Trigger 노드로 시작합니다 — 사용자 입력, HTTP 웹훅, cron 스케줄 또는 외부 이벤트로부터 시작되는지 여부와 관계없이.

트리거 속성 패널

트리거 유형

유형설명사용 사례
수동채팅 입력을 통한 사용자 시작대화형 에이전트, 테스트
웹훅HTTP 엔드포인트 (POST/GET)API 통합, CI/CD 파이프라인
스케줄Cron 기반 타이밍주기적 보고서, 데이터 동기화
이벤트외부 시스템 이벤트마이크로서비스 오케스트레이션, 이벤트 기반 워크플로

수동 트리거

기본 트리거 유형입니다. 워크플로우에 수동 트리거가 있는 경우, 채팅 입력은 구성 가능한 레이블과 플레이스홀더와 함께 표시됩니다.

구성:

속성타입기본값
inputLabelstring"메시지를 입력하세요"
defaultPromptstring"오늘 ADK-Rust으로 무엇을 만들 수 있도록 도와드릴까요?"

채팅 입력 필드 위에 입력 레이블이 나타나며, 기본 프롬프트가 플레이스홀더 텍스트로 사용됩니다.

웹훅 트리거

호출될 때 워크플로우를 시작하는 HTTP 엔드포인트를 노출합니다. 외부 서비스, CI/CD 파이프라인 또는 다른 애플리케이션과 통합하는 데 유용합니다.

구성:

속성타입설명
pathstringURL 경로 (예: /my-webhook)
methodGET, POSTHTTP 허용할 메서드
authnone, bearer, api_key인증 요구 사항

엔드포인트

각 웹훅 트리거는 두 개의 엔드포인트를 생성합니다:

엔드포인트동작
/api/projects/:id/webhook/*path비동기 — 세션 ID를 즉시 반환
/api/projects/:id/webhook-exec/*path동기 — 워크플로 완료를 기다린 후 결과를 반환

GET 웹훅도 작동합니다:

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"}'

웹훅 이벤트 알림

SSE를 통해 실시간 웹훅 실행 이벤트를 구독하세요:

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

이 스트림은 웹훅이 수신되고 처리될 때 이벤트를 방출합니다.


스케줄 트리거

cron 표현식을 사용하여 반복적인 스케줄로 워크플로를 실행합니다.

구성:

속성타입설명
cronstring5-필드 cron 표현식
timezonestringIANA 시간대 (예: America/New_York)
defaultPromptstring?스케줄이 실행될 때 전송되는 입력 텍스트

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 타임스탬프를 추적하여 중복 실행을 방지합니다.


이벤트 트리거

외부 시스템 이벤트에 응답하여 워크플로를 시작합니다. 이벤트는 sourceeventType를 통해 일치되며, 이벤트 데이터에 대한 선택적 JSONPath 필터링이 가능합니다.

구성:

속성타입설명
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이벤트 트리거

이전: ← 액션 노드 | 다음: 개발 가이드라인 →