Workflows d'automatisation
Workflows exécutables déclenchés par des événements, qui acheminent, notifient et orchestrent autour d'une vérification — sans jamais fixer le verdict.
Les Workflows d'automatisation constituent la couche d'orchestration pilotée par événements de Certivant. Un workflow est un graphe de nœuds (un seul nœud Déclencheur, suivi de tout mélange de nœuds Condition, Action, Attente, Parallèle, Boucle et Fin) qui s'exécute en réponse à un événement survenant autour d'une vérification : un formulaire est soumis, un contrôle se termine, un réviseur prend une décision, une planification se déclenche.
Ils sont volontairement distincts de la politique de décision (outil 1). Une politique de risque détermine le verdict ; un workflow déclenche des effets secondaires autour de celui-ci : acheminer vers un service, envoyer un courriel au demandeur, demander un autre document, appeler votre webhook, planifier une vérification en direct, générer un rapport PDF.
Les workflows ne fixent jamais le verdict. L'ensemble des actions ne comporte ni approve ni reject. Le contrôle le plus fort qu'un workflow puisse exercer sur l'issue d'une demande est escalate, qui fait passer la demande en révision humaine via la même machine d'état, protégée par verrou optimiste et auditée, qu'utilise le tableau de bord. L'approbation et le rejet restent exclusivement du ressort de la politique de décision et des réviseurs humains.
Contenu de cette section
- Déclencheurs : la référence complète de chaque événement pouvant démarrer un workflow : quand chacun se déclenche, les données qu'il transporte, des exemples réels de charges utiles, et la manière de le cibler et de le filtrer.
Fonctionnement d'un workflow, de bout en bout
Something happens The platform emits A workflow run is created
in the platform ──▶ a trigger event ──▶ for each matching active
(form submit, check │ workflow, then executed
finishes, cron…) │ node-by-node.
▼
dispatchWorkflowEvent(input)
├─ find active workflows whose trigger.event matches
├─ narrow by subject + scope (form / applicant / document / check)
├─ apply the optional DSL filter against the event context
└─ enqueue a KycWorkflowRun for each survivor
L'envoi est en mode non bloquant : un échec d'envoi d'un workflow ne bloque ni n'échoue jamais l'action d'origine (l'envoi du document réussit toujours, le verdict est toujours écrit). Chaque exécution conserve un log en ajout seul, et le context de l'événement déclencheur est placé dans la première entrée du journal de l'exécution afin que les nœuds Condition et les modèles d'action puissent le lire.
Versions et tests A/B
Les workflows et les politiques de décision sont versionnés : une modification crée un brouillon, la publication le fige sous forme de version immuable, et la version active précédente de ce nom est archivée. Chaque enregistrement pointe vers la version exacte qui l'a traité :
- une exécution de workflow enregistre
workflowIdetworkflowVersion; - une vérification décidée enregistre
policyIdetpolicyVersion, repris dans le blocpolicy(id,name,version) des charges utiles des webhooks de décision et dans l'événement d'auditpolicy.evaluated.
Un test A/B achemine une part des nouvelles vérifications vers une version challenger du même workflow ou de la même politique, identifiés par leur nom. La variante est une fonction pure de l'expérience et de l'identifiant de la vérification — sha256("<experimentId>:<verificationId>") → compartiment de 0 à 9999, les compartiments les plus bas de pourcentage × 100 allant vers B — de sorte que les nouvelles tentatives et les réorchestrations ne font jamais basculer une vérification d'une variante à l'autre. L'acheminement est enregistré sur la vérification (kyc_ab_assignment), dans l'entrée d'envoi de l'exécution du workflow et — pour les politiques — sous la forme abTest: { experimentId, variant } dans l'événement d'audit policy.evaluated et dans le verdictMeta du score de risque.
Les tests se gèrent depuis les éditeurs du tableau de bord (Versions et test A/B) ; le brouillon challenger est figé pendant qu'un test est en cours, et sa publication met fin au test. Les tests sont des fonctionnalités du tableau de bord authentifiées par session : il n'existe aucun point de terminaison accessible par clé d'API pour eux.
Disponibilité selon le forfait
Les Workflows d'automatisation exigent la fonctionnalité kyc.automation_workflows (forfait Pro et supérieurs). Sur les forfaits inférieurs, l'éditeur est visible, mais l'activation d'un workflow renvoie 402 avec une invitation à passer à un forfait supérieur.
Nouvelles tentatives et livraison
Comment Certivant renouvelle les livraisons de webhooks en échec — calendrier exact d'espacement, règle de délai d'attente de 10 secondes, reprise des événements épuisés, et modèle de gestionnaire rapide pour rester dans le budget.
Déclencheurs
Référence complète de chaque déclencheur des Workflows d'automatisation de Certivant — quand chaque événement se déclenche, son contexte de données, des exemples de charges utiles, la configuration du sujet et de la portée, et les modèles de filtre DSL.