Définir et publier un workflow
Un workflow décrit un processus en étapes : une note de frais passe de « brouillon » à « en revue », puis à « approuvée » ou revient en brouillon. Chaque passage d'une étape à l'autre est une transition, déclenchée par un événement (« soumettre », « approuver »…) et, si vous le voulez, réservée aux personnes qui détiennent une permission.
Chaque exécution d'un workflow s'appelle une instance ; elle reste liée à la version qui l'a démarrée, même si vous en publiez une nouvelle.
Avant de commencer
- Il vous faut la permission
workflows:manage.
La définition
Un workflow se décrit en JSON. L'écran propose un modèle à la création :
{
"initial": "draft",
"states": {
"draft": { "type": "initial", "on": { "submit": { "target": "review", "actions": [] } } },
"review": {
"assignRole": "owner",
"on": {
"approve": { "target": "approved", "guard": "roles:manage", "actions": [] },
"reject": { "target": "draft", "actions": [] }
}
},
"approved": { "type": "final", "on": {} }
}
}
| Élément | Sens |
|---|---|
initial | l'étape de départ ; elle doit exister dans states |
states | les étapes, chacune nommée |
type | initial, final (l'instance est alors terminée), ou rien pour une étape intermédiaire |
on | les événements acceptés dans l'étape ; chacun mène à une target qui doit exister |
guard | la permission exigée pour déclencher la transition |
assignRole | le rôle chargé de l'étape |
actions | des signaux émis au passage de la transition |
Un workflow n'a ni branches parallèles ni retour arrière automatique : c'est une suite d'étapes, une à la fois.
Créer un workflow
- Ouvrez Workflows.
- Cliquez sur Créer.
- Renseignez le Slug (identifiant court, en minuscules), le Nom et la Définition (JSON).
- Cliquez sur Créer.

Le message « Workflow créé » confirme ; le workflow apparaît dans la liste en version 1.
Publier une nouvelle version
- Dans Workflows, sélectionnez le workflow dans la liste de gauche.
- Modifiez la définition affichée à droite.
- Cliquez sur Publier une version.
« Version N publiée » confirme. Les instances déjà démarrées continuent sur leur version ; les nouvelles partent de la dernière.

Supprimer un workflow
Cliquez sur l'icône de suppression à côté du nom, puis sur Supprimer. La définition et toutes ses versions sont retirées. Un workflow qui a déjà des instances ne se supprime pas : son historique doit être conservé.
Si ça ne marche pas
| Vous voyez | Ce que ça veut dire | Que faire |
|---|---|---|
| « La définition du workflow est invalide » | Le JSON est mal formé, ou une étape citée (initial, target) n'existe pas. | Corrigez la définition. |
| « Cet élément existe déjà. » | Un workflow porte déjà ce slug. | Choisissez un autre slug. |
| « Ce workflow a des instances… » | Des instances existent. | Gardez-le, ou publiez une version qui le remplace. |