Gatilhos

Gatilhos definem como os fluxos de trabalho começam no ADK Studio. Cada fluxo de trabalho começa com um nó Trigger que determina o ponto de entrada — seja a partir de entrada do usuário, um webhook HTTP, um agendamento cron, ou um evento externo.

Painel de Propriedades do Gatilho

Tipos de Gatilho

TipoDescriçãoCaso de Uso
ManualIniciado pelo usuário via entrada de chatAgentes interativos, testes
WebhookHTTP endpoint (POST/GET)API integrações, CI/CD pipelines
AgendamentoAgendamento baseado em CronRelatórios periódicos, sincronização de dados
EventoEventos de sistemas externosOrquestração de microsserviços, fluxos de trabalho orientados a eventos

Gatilhos Manuais

O tipo de gatilho padrão. Quando um fluxo de trabalho tem um gatilho manual, a entrada do chat é exibida com um rótulo e um espaço reservado configuráveis.

Configuração:

PropriedadeTipoPadrão
inputLabelstring"Digite sua mensagem"
defaultPromptstring"Com o que você pode me ajudar a construir com ADK-Rust hoje?"

O rótulo de entrada aparece acima do campo de entrada do chat, e o prompt padrão é usado como texto de espaço reservado.


Gatilhos de Webhook

Exponha um HTTP endpoint que inicia o fluxo de trabalho quando chamado. Útil para integrar com serviços externos, pipelines de CI/CD ou outras aplicações.

Configuração:

PropriedadeTipoDescrição
pathstringURL caminho (ex: /my-webhook)
methodGET, POSTHTTP método a aceitar
authnone, bearer, api_keyRequisito de autenticação

Pontos de Extremidade

Cada gatilho de webhook cria dois pontos de extremidade:

EndpointComportamento
/api/projects/:id/webhook/*pathAsync — retorna o ID da sessão imediatamente
/api/projects/:id/webhook-exec/*pathSync — aguarda a conclusão do fluxo de trabalho e retorna o resultado

Webhooks GET também funcionam:

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

Autenticação

Token Bearer:

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

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

Notificações de Eventos de Webhook

Assine eventos de execução de webhook em tempo real via SSE:

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

Este fluxo emite eventos à medida que os webhooks são recebidos e processados.


Gatilhos de Agendamento

Execute fluxos de trabalho em um agendamento recorrente usando expressões cron.

Configuração:

PropriedadeTipoDescrição
cronstringExpressão cron de 5 campos
timezonestringFuso horário IANA (ex: America/New_York)
defaultPromptstring?Texto de entrada enviado quando o agendamento é acionado

Sintaxe Cron

Expressões cron padrão de 5 campos:

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

Exemplos:

ExpressãoSignificado
* * * * *A cada minuto
0 9 * * *Diariamente às 9:00 AM
0 0 * * 0Semanalmente no domingo à meia-noite
0 */6 * * *A cada 6 horas
30 8 * * 1-5Dias de semana às 8:30 AM

O serviço de agendamento rastreia last_executed carimbos de data/hora para evitar execuções duplicadas.


Gatilhos de Eventos

Inicie fluxos de trabalho em resposta a eventos de sistemas externos. Os eventos são correspondidos por source e eventType, com filtragem JSONPath opcional nos dados do evento.

Configuração:

PropriedadeTipoDescrição
sourcestringEvent source identifier (ex: payment-service)
eventTypestringEvent type to match (ex: payment.completed)
filterstring?JSONPath expression para filtrar eventos

Enviando Eventos

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

Filtros JSONPath

Filtre eventos para que o fluxo de trabalho seja acionado apenas quando condições específicas forem atendidas:

Expressão de FiltroCorresponde Quando
$.data.status == 'active'Campo de status é igual a "active"
$.data.amount > 100Valor excede 100
$.data.priority == 'high'Prioridade é "high"

Eventos que não correspondem ao filtro são silenciosamente ignorados.


Botão de Execução Sensível ao Gatilho

A interface do usuário do Studio se adapta com base no tipo de gatilho ativo:

  • Manual — Entrada de chat padrão com o rótulo e o espaço reservado configurados
  • Webhook — O botão de execução envia uma carga útil de webhook simulada
  • Schedule — O botão de execução envia o prompt padrão configurado
  • Event — O botão de execução envia uma carga útil de evento simulada

Quando um fluxo de trabalho foi alterado desde a última compilação, o botão Enviar se transforma em um botão de Compilação para solicitar a recompilação.


API Referência

EndpointMétodoDescrição
/api/projects/:id/webhook/*pathPOST, GETGatilho de webhook assíncrono
/api/projects/:id/webhook-exec/*pathPOSTGatilho de webhook síncrono (aguarda o resultado)
/api/projects/:id/webhook-eventsGETStream SSE para notificações de webhook
/api/projects/:id/eventsPOSTGatilho de evento

Anterior: ← Nós de Ação | Próximo: Diretrizes de Desenvolvimento →