Déclencheurs d'automatisation
Un déclencheur est l'événement unique qui démarre une automatisation. Sovrium propose 9 types de déclencheurs. Chaque automatisation déclare exactement un objet trigger dont le type sélectionne la variante ; les propriétés restantes la configurent.
automations:
- name: order-webhook
trigger:
type: webhook
method: POST
actions:
- { name: ack, type: webhook, operator: response, props: { status: 202 } }
Catalogue des déclencheurs
type |
Se déclenche lorsque… | Contexte clé exposé |
|---|---|---|
webhook |
Une requête HTTP entrante atteint le point de terminaison de l'automatisation. | {{trigger.body}}, en-têtes, query |
cron |
Une planification cron s'écoule. | heure planifiée |
record |
Un enregistrement est créé, mis à jour ou supprimé dans une table surveillée. | {{trigger.data.*}} (la ligne) |
auth |
Un événement d'authentification se produit (inscription, connexion, …). | l'événement d'authentification + utilisateur |
form |
Un formulaire de premier niveau est soumis. | {{trigger.data.*}} (valeurs du formulaire) |
manual |
Un administrateur clique sur un bouton ou appelle l'API de déclenchement. | {{trigger.inputData.*}} |
automation-call |
Une autre automatisation invoque celle-ci via l'action automation/call. |
{{trigger.inputData.*}} |
automation-failure |
Une automatisation surveillée échoue. | l'exécution échouée + erreur |
comment |
Un commentaire est créé sur un enregistrement. | $trigger.comment.*, $trigger.record.* |
Déclencheur webhook
Expose un point de terminaison HTTP qui, lorsqu'il est atteint, démarre l'automatisation. Accepte une ou plusieurs méthodes et prend en charge l'authentification entrante, les réponses personnalisées, la validation de requête/query, la limitation de débit et la déduplication.
| Propriété | Description |
|---|---|
method |
Méthode(s) HTTP à accepter — GET/POST/PUT/PATCH/DELETE, ou un tableau de celles-ci. Requis. |
secret |
Secret pour la vérification de signature HMAC (par ex. $env.WEBHOOK_SECRET). |
respondImmediately |
Lorsqu'il vaut true (par défaut), répond 202 immédiatement ; lorsqu'il vaut false, attend la fin de l'exécution. |
auth |
Configuration d'authentification entrante — type vaut bearer, apiKey, hmac ou basic (voir le tableau ci-dessous). |
response |
Réponse personnalisée : statusCode/status, body (gabarit de chaîne ou JSON), headers. |
requestSchema |
JSON Schema validant le corps de la requête. |
querySchema |
JSON Schema validant les paramètres de query. |
rateLimit |
Configuration de limitation de débit { maxRequests, windowSeconds } pour le point de terminaison. |
deduplicationKey |
Gabarit calculant une clé de déduplication (par ex. "{{body.orderId}}") — les clés répétées dans la fenêtre sont rejetées. |
deduplicationWindow |
Fenêtre de déduplication en secondes (par défaut 300). |
Options de auth.type entrant : bearer (avec token, prefix), apiKey (avec key, header), hmac (avec secret, algorithm), basic (avec username, password). Toutes les valeurs d'identification prennent en charge $env.VAR.
trigger:
type: webhook
method: [POST]
auth: { type: hmac, secret: $env.STRIPE_SIGNING_SECRET, algorithm: sha256 }
deduplicationKey: '{{body.id}}'
deduplicationWindow: 600
Déclencheur cron
Exécute l'automatisation selon une planification.
| Propriété | Description |
|---|---|
expression |
Expression cron — standard à 5 champs ou à 6 champs avec secondes (par ex. 0 9 * * 1-5). Aucun alias @daily/@hourly — utilisez l'équivalent numérique. Validée au décodage de la configuration. |
timezone |
Fuseau horaire IANA (par ex. America/New_York). Vaut UTC par défaut. Validé par rapport à la base de données IANA. |
trigger:
type: cron
expression: '0 9 * * 1-5'
timezone: Europe/Paris
Déclencheur d'enregistrement
Se déclenche lorsque des enregistrements changent dans une table.
| Propriété | Description |
|---|---|
table |
Nom de la table à surveiller. Requis. |
events |
Tableau de create / update / delete (minimum 1). Requis. |
watchFields |
Lors d'un update, ne se déclenche que lorsque l'un de ces champs change. |
condition |
Un groupe de conditions — ne se déclenche que lorsque la ligne modifiée correspond au prédicat. |
trigger:
type: record
table: orders
events: [create, update]
watchFields: [status]
condition:
conditions: [{ field: '{{trigger.data.status}}', operator: equals, value: paid }]
Déclencheur d'authentification
Se déclenche sur les événements du cycle de vie d'authentification.
| Propriété | Description |
|---|---|
events |
Tableau de signUp, signIn, signOut, passwordReset, emailVerified (minimum 1). Requis. |
trigger:
type: auth
events: [signUp]
Déclencheur de formulaire
Se déclenche lorsqu'un formulaire de premier niveau (forms[].name) est soumis.
| Propriété | Description |
|---|---|
form |
Référence forms[].name. Requis. (Rupture forte : il s'agissait auparavant d'un chemin de page.) Voir Formulaires. |
trigger:
type: form
form: contact-request
Déclencheur manuel
Exécution initiée par un administrateur via un bouton ou un appel d'API.
| Propriété | Description |
|---|---|
label |
Libellé du bouton dans l'interface d'administration (par ex. Export Report). |
inputSchema |
JSON Schema décrivant les champs de saisie requis fournis au moment du déclenchement. |
requiredRole |
Rôle d'authentification requis pour déclencher (par défaut admin). |
Les déclencheurs manuels sont les seuls déclencheurs éligibles à aiAccess (invocation MCP), puisqu'ils ne se déclenchent pas d'eux-mêmes.
trigger:
type: manual
label: Sync inventory
requiredRole: admin
inputSchema: { warehouse: { type: string } }
Déclencheur automation-call
Se déclenche lorsqu'une autre automatisation invoque celle-ci via l'action automation/call — permettant la composition de sous-workflows.
| Propriété | Description |
|---|---|
inputSchema |
Contrat d'entrée attendu (de type JSON Schema). S'il est omis, accepte n'importe quelles inputData de l'appelant. |
trigger:
type: automation-call
inputSchema: { customerId: { type: string } }
Voir Contrôle de flux pour les actions automation/call et automation/return.
Déclencheur automation-failure
Se déclenche lorsqu'une automatisation surveillée échoue — gestion d'échec composable sans configuration de notification par automatisation.
| Propriété | Description |
|---|---|
automations |
Tableau de noms d'automatisations (kebab-case) à surveiller. S'il est omis, se déclenche sur tout échec. |
trigger:
type: automation-failure
automations: [nightly-sync, billing-run]
Déclencheur de commentaire
Se déclenche lorsqu'un commentaire est créé sur un enregistrement dans une table avec commentaires activés.
| Propriété | Description |
|---|---|
table |
Nom de la table avec commentaires activés. Requis. |
when |
approved (uniquement les commentaires modérés-approuvés), created (tout nouveau commentaire), ou any. Par défaut created. |
filter |
{ topLevelOnly, repliesOnly, mentionsOnly } (top-level et replies-only sont mutuellement exclusifs). |
respectReadPermissions |
Lorsqu'il vaut true, ne se déclenche que si le contexte déclencheur peut lire l'enregistrement. |
Les déclencheurs de commentaire exposent $trigger.comment.*, $trigger.record.*, $trigger.threadParticipants et $trigger.mentions.
trigger:
type: comment
table: tickets
when: created
filter: { mentionsOnly: true }
Pages connexes
- Vue d'ensemble des automatisations — anatomie et variables de gabarit.
- Vue d'ensemble des actions — ce qui s'exécute après le déclenchement d'un déclencheur.
- Webhooks (tables) — webhooks de table sortants (distincts des déclencheurs webhook entrants).
- Contrôle de flux —
automation/calletautomation/return.