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.

Tipos de Gatilho
| Tipo | Descrição | Caso de Uso |
|---|---|---|
| Manual | Iniciado pelo usuário via entrada de chat | Agentes interativos, testes |
| Webhook | HTTP endpoint (POST/GET) | API integrações, CI/CD pipelines |
| Agendamento | Agendamento baseado em Cron | Relatórios periódicos, sincronização de dados |
| Evento | Eventos de sistemas externos | Orquestraçã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:
| Propriedade | Tipo | Padrão |
|---|---|---|
inputLabel | string | "Digite sua mensagem" |
defaultPrompt | string | "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:
| Propriedade | Tipo | Descrição |
|---|---|---|
path | string | URL caminho (ex: /my-webhook) |
method | GET, POST | HTTP método a aceitar |
auth | none, bearer, api_key | Requisito de autenticação |
Pontos de Extremidade
Cada gatilho de webhook cria dois pontos de extremidade:
| Endpoint | Comportamento |
|---|---|
/api/projects/:id/webhook/*path | Async — retorna o ID da sessão imediatamente |
/api/projects/:id/webhook-exec/*path | Sync — 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:
| Propriedade | Tipo | Descrição |
|---|---|---|
cron | string | Expressão cron de 5 campos |
timezone | string | Fuso horário IANA (ex: America/New_York) |
defaultPrompt | string? | 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ão | Significado |
|---|---|
* * * * * | A cada minuto |
0 9 * * * | Diariamente às 9:00 AM |
0 0 * * 0 | Semanalmente no domingo à meia-noite |
0 */6 * * * | A cada 6 horas |
30 8 * * 1-5 | Dias 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:
| Propriedade | Tipo | Descrição |
|---|---|---|
source | string | Event source identifier (ex: payment-service) |
eventType | string | Event type to match (ex: payment.completed) |
filter | string? | 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 Filtro | Corresponde Quando |
|---|---|
$.data.status == 'active' | Campo de status é igual a "active" |
$.data.amount > 100 | Valor 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
| Endpoint | Método | Descrição |
|---|---|---|
/api/projects/:id/webhook/*path | POST, GET | Gatilho de webhook assíncrono |
/api/projects/:id/webhook-exec/*path | POST | Gatilho de webhook síncrono (aguarda o resultado) |
/api/projects/:id/webhook-events | GET | Stream SSE para notificações de webhook |
/api/projects/:id/events | POST | Gatilho de evento |
Anterior: ← Nós de Ação | Próximo: Diretrizes de Desenvolvimento →