Skip to main content
View as Markdown

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