Déclencheurs
Les dĂ©clencheurs dĂ©finissent comment les workflows dĂ©marrent dans ADK Studio. Chaque workflow commence par un nĆud de dĂ©clencheur qui dĂ©termine le point d'entrĂ©e â que ce soit Ă partir d'une entrĂ©e utilisateur, d'un webhook HTTP, d'une planification cron ou d'un Ă©vĂ©nement externe.

Types de déclencheurs
| Type | Description | Cas d'utilisation |
|---|---|---|
| Manuel | Initiée par l'utilisateur via une entrée de chat | Agents interactifs, tests |
| Webhook | Point de terminaison HTTP (POST/GET) | Intégrations API, pipelines CI/CD |
| Planification | Déclenchement basé sur Cron | Rapports périodiques, synchronisation de données |
| ĂvĂ©nement | ĂvĂ©nements de systĂšme externe | Orchestration de microservices, workflows pilotĂ©s par les Ă©vĂ©nements |
Déclencheurs manuels
Le type de déclencheur par défaut. Lorsqu'un workflow a un déclencheur manuel, l'entrée du chat est affichée avec une étiquette et un espace réservé configurables.
Configuration :
| Propriété | Type | Défaut |
|---|---|---|
inputLabel | string | "Entrez votre message" |
defaultPrompt | string | "Que pouvez-vous m'aider Ă construire avec ADK-Rust aujourd'hui ?" |
L'étiquette d'entrée apparaßt au-dessus du champ d'entrée du chat, et l'invite par défaut est utilisée comme texte de l'espace réservé.
Déclencheurs Webhook
Expose un point de terminaison HTTP qui démarre le workflow lorsqu'il est appelé. Utile pour l'intégration avec des services externes, des pipelines CI/CD ou d'autres applications.
Configuration :
| Propriété | Type | Description |
|---|---|---|
path | string | Chemin d'URL (ex: /my-webhook) |
method | GET, POST | Méthode HTTP à accepter |
auth | none, bearer, api_key | Exigence d'authentification |
Points de terminaison
Chaque déclencheur webhook crée deux points de terminaison :
| Point de terminaison | Comportement |
|---|---|
/api/projects/:id/webhook/*path | Asynchrone â renvoie l'ID de session immĂ©diatement |
/api/projects/:id/webhook-exec/*path | Synchrone â attend la fin du flux de travail et renvoie le rĂ©sultat |
Les webhooks GET fonctionnent également :
GET /api/projects/:id/webhook/my-path?message=Hello
Authentification
Jeton d'authentification (Bearer token) :
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"}'
Clé 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"}'
Notifications d'événements de webhook
Abonnez-vous aux événements d'exécution de webhook en temps réel via SSE :
GET /api/projects/:id/webhook-events
Ce flux émet des événements au fur et à mesure que les webhooks sont reçus et traités.
Déclencheurs de planification
Exécutez des flux de travail selon un calendrier récurrent à l'aide d'expressions cron.
Configuration :
| Propriété | Type | Description |
|---|---|---|
cron | string | Expression cron Ă 5 champs |
timezone | string | Fuseau horaire IANA (par exemple, America/New_York) |
defaultPrompt | string? | Texte d'entrée envoyé lorsque la planification se déclenche |
Syntaxe Cron
Expressions cron standard Ă 5 champs :
ââââââââââââââ minute (0-59)
â ââââââââââââââ hour (0-23)
â â ââââââââââââââ day of month (1-31)
â â â ââââââââââââââ month (1-12)
â â â â ââââââââââââââ day of week (0-6, Sun=0)
â â â â â
* * * * *
Exemples :
| Expression | Signification |
|---|---|
* * * * * | Chaque minute |
0 9 * * * | Tous les jours Ă 9h00 |
0 0 * * 0 | Chaque semaine le dimanche Ă minuit |
0 */6 * * * | Toutes les 6 heures |
30 8 * * 1-5 | Les jours de semaine Ă 8h30 |
Le service de planification suit les horodatages last_executed pour éviter les exécutions en double.
Déclencheurs d'événements
Démarrez des flux de travail en réponse à des événements de systÚmes externes. Les événements sont mis en correspondance par source et eventType, avec un filtrage JSONPath facultatif sur les données d'événement.
Configuration :
| Propriété | Type | Description |
|---|---|---|
source | string | Identifiant de la source d'événement (ex: payment-service) |
eventType | string | Type d'événement à faire correspondre (ex: payment.completed) |
filter | string? | Expression JSONPath pour filtrer les événements |
Envoi d'événements
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"
}
}'
Filtres JSONPath
Filtrez les événements afin que le workflow ne se déclenche que lorsque des conditions spécifiques sont remplies :
| Expression de filtre | Correspond quand |
|---|---|
$.data.status == 'active' | Le champ statut est égal à "active" |
$.data.amount > 100 | Le montant dépasse 100 |
$.data.priority == 'high' | La priorité est "élevée" |
Les événements qui ne correspondent pas au filtre sont ignorés silencieusement.
Bouton d'exécution sensible au déclencheur
L'interface utilisateur de Studio s'adapte en fonction du type de déclencheur actif :
- Manuel â Saisie de chat standard avec le libellĂ© et l'espace rĂ©servĂ© configurĂ©s
- Webhook â Le bouton d'exĂ©cution envoie une charge utile de webhook simulĂ©e
- Planification â Le bouton d'exĂ©cution envoie l'invite par dĂ©faut configurĂ©e
- ĂvĂ©nement â Le bouton d'exĂ©cution envoie une charge utile d'Ă©vĂ©nement simulĂ©e
Lorsqu'un workflow a été modifié depuis la derniÚre compilation, le bouton d'envoi se transforme en bouton de compilation pour déclencher la recompilation.
Référence API
| Point de terminaison | Méthode | Description |
|---|---|---|
/api/projects/:id/webhook/*path | POST, GET | Déclencheur de webhook asynchrone |
/api/projects/:id/webhook-exec/*path | POST | Déclencheur de webhook synchrone (attend le résultat) |
/api/projects/:id/webhook-events | GET | Flux SSE pour les notifications de webhook |
/api/projects/:id/events | POST | Déclencheur d'événement |
PrĂ©cĂ©dent: â NĆuds d'action | Suivant: Lignes directrices de dĂ©veloppement â