Skip to main content
View as Markdown

Vue d'ensemble des automatisations

Les automatisations constituent le moteur de workflows de Sovrium. Chaque automatisation associe un déclencheur (l'événement qui la démarre) à une liste ordonnée d'actions (les étapes qu'elle exécute). Lorsque le déclencheur se déclenche, les actions s'exécutent séquentiellement — en transmettant les données vers l'avant via des variables de gabarit — jusqu'à ce que le workflow se termine, s'arrête ou échoue.

Les automatisations sont déclarées dans le tableau de premier niveau app.automations[]. Les déclencheurs réagissent aux changements d'enregistrements, aux planifications, aux webhooks entrants, aux événements d'authentification, aux soumissions de formulaires, aux boutons manuels, aux appels de sous-workflows, aux échecs d'autres automatisations et aux commentaires. Les actions couvrent plus de 20 familles : HTTP, CRUD d'enregistrements, e-mail, IA, opérations sur fichiers, contrôle de flux, approbations, et plus encore.

automations:
  - name: new-order-alert
    label: Notify the team about new orders
    trigger:
      type: record
      table: orders
      events: [create]
    actions:
      - name: notifyTeam
        type: email
        operator: send
        props:
          to: '{{trigger.data.owner_email}}'
          subject: 'New order {{trigger.data.id}}'
          body: 'Amount: ${{trigger.data.amount}}'
    timeout: 60000

Anatomie

Une automatisation possède exactement un trigger et au moins une entrée dans actions. Tout le reste — timeout, retry, concurrence, tags, permissions, exposition à l'IA — est optionnel.

Propriété Description
name Identifiant unique en kebab-case (^[a-z][a-z0-9-]*$, max 100 caractères). Utilisé dans les URL de webhook et comme cible de automation/call.
label Libellé lisible affiché dans l'interface d'administration.
description Description en texte libre de ce que fait l'automatisation.
enabled Booléen. Lorsqu'il vaut false, l'automatisation est enregistrée mais ne se déclenche jamais. Vaut true par défaut.
trigger L'événement unique qui démarre ce workflow. Voir Déclencheurs.
actions Tableau ordonné d'étapes d'action (minimum 1). Les étapes s'exécutent séquentiellement sauf si une action path/loop crée une branche. Voir Vue d'ensemble des actions.
retry Politique de relance au niveau de l'automatisation appliquée à l'ensemble de l'exécution. Voir Relance et échec.
timeout Timeout total de l'exécution en millisecondes (1000–900000, par défaut 300000).
concurrency { limit } — nombre maximal d'exécutions simultanées de cette automatisation (1–50). Voir la note sur la concurrence ci-dessous.
tags Tableau de chaînes de caractères pour organiser et filtrer les automatisations.
permissions { trigger } — qui peut invoquer manuellement cette automatisation (all, authenticated, ou un tableau de rôles).
aiAccess Déclare une automatisation à déclenchement manuel comme invocable via le serveur MCP de Sovrium. La définir sur un déclencheur non manuel est une erreur de décodage.

Variables de gabarit

Chaque propriété de chaîne de caractères dans une action peut interpoler des valeurs à l'exécution. Les sources de résolution sont :

Source Syntaxe Notes
Charge utile du déclencheur {{trigger.data.field}} Les données transportées par le déclencheur (ligne d'enregistrement, corps de webhook, valeurs de formulaire, …).
Étape précédente {{stepName.result}} La sortie de toute action antérieure, référencée par son name.
Variable d'environnement $env.VAR_NAME Résolue depuis app.env. Masquée dans les journaux. Voir Variables d'environnement.
Connexion $connection.NAME Informations d'identification résolues pour un service externe. Voir Connexions.
Fonctions helper {{helperName arg "lit"}} Plus de 100 helpers de formatage (texte, nombre, date, logique, collection, encodage). Imbriquez avec des parenthèses : {{uppercase (trim step.text)}}.

Concurrence

Chaque automatisation possède un sémaphore FIFO indépendant. Lorsque concurrency.limit est défini, les déclencheurs entrants au-delà de la limite sont persistés en queued et promus en running à mesure que des créneaux en cours d'exécution se libèrent. Sans ce bloc, la variable d'environnement globale AUTOMATION_CONCURRENCY_DEFAULT (par défaut 5) s'applique. La mise en file d'attente est en mémoire et mono-processus — conçue pour le modèle de déploiement mono-locataire de Sovrium.

Surface de configuration

Les automatisations côtoient trois blocs frères de premier niveau qu'elles référencent régulièrement :

Bloc Objectif Page
app.automations Les workflows eux-mêmes. cette page
app.actions Modèles d'action réutilisables référencés via l'action ref. Vue d'ensemble des actions
app.connections Informations d'identification stockées pour les appels HTTP/IA authentifiés. Connexions
app.env Variables d'environnement / secrets déclarés. Variables d'environnement

Pages connexes