Flussi di lavoro automatizzati
Flussi eseguibili attivati da eventi, che instradano, notificano e orchestrano attorno a una verifica — senza mai impostare il verdetto.
I Flussi di lavoro automatizzati sono il livello di orchestrazione guidato da eventi di Certivant. Un workflow è un grafo di nodi — un unico Trigger, seguito da una combinazione di nodi Condizione, Azione, Attesa, Parallelo, Ciclo e Fine — che viene eseguito in risposta a un evento che accade attorno a una verifica: un modulo viene inviato, un controllo termina, un revisore prende una decisione, una pianificazione scatta.
Sono deliberatamente separati dalla politica decisionale (Strumento 1). Una politica di rischio decide il verdetto; un workflow distribuisce effetti collaterali attorno ad esso — instradare verso un reparto, inviare un'email al richiedente, richiedere un altro documento, chiamare il Suo webhook, pianificare una conferenza dal vivo, generare un report PDF.
I workflow non impostano mai il verdetto. Il set di Azioni non ha approve / reject. Il controllo più forte che un workflow ha sull'esito di una richiesta è escalate, che sposta la richiesta in revisione umana attraverso la stessa macchina a stati con blocco ottimistico e tracciata che usa la dashboard. Approvare e rifiutare restano di esclusiva competenza della politica decisionale e dei revisori umani.
Cosa contiene questa sezione
- Trigger — il riferimento completo di ogni evento che può avviare un workflow: quando si attiva, i dati che trasporta, esempi reali di payload e come limitarlo e filtrarlo.
Come funziona un workflow, dall'inizio alla fine
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'invio è fire-and-forget: un errore nell'invio di un workflow non blocca né fa fallire l'azione di origine (il caricamento va comunque a buon fine, il verdetto viene comunque scritto). Ogni esecuzione conserva un log in sola aggiunta, e il context dell'evento che ha generato l'esecuzione viene salvato nella prima voce del log, così che i nodi Condizione e i modelli delle Azioni possano leggerlo.
Versioni e test A/B
I workflow e le politiche decisionali sono versionati: modificare crea una bozza, pubblicare la congela come versione immutabile, e la precedente versione attiva con quel nome viene archiviata. Ogni record punta alla versione esatta che lo ha gestito:
- un'esecuzione di workflow memorizza
workflowIdeworkflowVersion; - una verifica decisa memorizza
policyIdepolicyVersion, ripetuti nel bloccopolicy(id,name,version) dei payload dei webhook di decisione e nell'evento di auditpolicy.evaluated.
Un test A/B instrada una quota delle nuove verifiche verso una versione sfidante dello stesso workflow o della stessa politica con quel nome. La variante è una funzione pura dell'esperimento e dell'ID della verifica — sha256("<experimentId>:<verificationId>") → bucket da 0 a 9999, i bucket più bassi percent × 100 vanno in B — così che nuovi tentativi e riorchestrazioni non spostino mai una verifica da una variante all'altra. L'instradamento viene registrato sulla verifica (kyc_ab_assignment), nella voce di invio dell'esecuzione del workflow, e — per le politiche — come abTest: { experimentId, variant } nell'evento di audit policy.evaluated e nel verdictMeta del punteggio di rischio.
I test si gestiscono dagli editor della dashboard (Versioni e test A/B); la bozza sfidante resta congelata mentre un test è in corso, e pubblicarla termina il test. I test sono funzioni della dashboard autenticate con la sessione — non esiste un endpoint con chiave API per gestirli.
Disponibilità nel piano
I Flussi di lavoro automatizzati richiedono la funzione kyc.automation_workflows (piano Pro e superiori). Nei piani inferiori l'editor è visibile, ma attivare un workflow restituisce 402 con un invito all'upgrade.
Tentativi e consegna
Come Certivant riprova le consegne dei webhook non riuscite — programma esatto del backoff, regola del timeout di 10 secondi, ripristino degli eventi esauriti e uno schema di gestore rapido per restare entro il budget.
Trigger
Riferimento completo di ogni trigger dei Flussi di lavoro automatizzati di Certivant — quando si attiva ciascun evento, il suo contesto dati, esempi di payload, configurazione di soggetto e ambito e schemi di filtro DSL.