Automatizzare le azioni con i workflow
Creare Workflow di automazione di Certivant che reagiscono agli eventi di verifica (invio di un modulo, approvazione, soglia di punteggio) ed eseguono azioni come inviare notifiche ai richiedenti o assegnare il lavoro al team giusto.

Cosa fa
I Workflow di automazione consentono di stabilire "quando succede questo, fai quello", senza scrivere codice. Si sceglie un evento che avvia il workflow (un richiedente invia un modulo, una verifica viene approvata, il punteggio di affidabilità supera una soglia...), quindi si aggiungono le azioni da eseguire: inviare un'email al richiedente, assegnare la verifica a un reparto e altro ancora.
Questo è il secondo dei due strumenti, ed è importante distinguerli:
| Strumento | Funzione | Dove si trova |
|---|---|---|
| Criteri di verifica dell'identità | Decide l'esito di una verifica (approva / rifiuta / inoltra) | Sviluppatore → Criteri di verifica dell'identità |
| Workflow di automazione (questa pagina) | Reagisce agli eventi ed esegue azioni intorno all'esito | Sviluppatore → Workflow di automazione |
Un workflow non modifica mai l'esito: questo è compito del criterio. I workflow orchestrano le azioni intorno ad esso. È possibile avere molti workflow attivi contemporaneamente.
Una banca potrebbe usare un modulo Nuovo conto con un workflow che indirizza le sue verifiche al team retail, e un modulo Mutuo separato il cui workflow indirizza le verifiche al team mutui e invia un'email al richiedente all'approvazione.
Prima di iniziare
- Il piano deve includere i Workflow di automazione (Pro o superiore). Se la voce Workflow di automazione nel menu Sviluppatore mostra il badge "Richiede Pro", chiedere al proprio proprietario di effettuare l'upgrade: consultare Fatturazione e crediti.
- Decidere cosa deve avviare il workflow e cosa deve fare.
- Per "assegna a un reparto", occorre prima avere nell'organizzazione gli account dei membri del team: consultare Invitare i membri.
Concetti chiave
- Trigger: l'unico evento che avvia un workflow. Ogni workflow ne ha esattamente uno.
- Filtro: una condizione facoltativa sul trigger (stessa sintassi delle condizioni dei criteri, per esempio
applicant.country IN ["CA","US"]). Il workflow viene eseguito solo quando il filtro è vero. Legge i dati dell'evento e i fatti della richiesta, gli stessi campi che vede un nodo Condizione, per esempioliveVerification.applicantAttended = falsesu un trigger chiamata terminata. - Azioni: i passaggi ordinati da eseguire quando il workflow si attiva.
- Nodi: oltre alle azioni, la tela comprende i nodi Condizione (ramo vero / falso), Attesa (pausa), Parallelo (esecuzione in più rami), Ciclo (ripetizione di un corpo limitato) e Fine (un nodo terminale): consultare Tipi di nodo più sotto.
- Esecuzione: una singola esecuzione di un workflow su un singolo evento. Ogni passaggio viene registrato, così è possibile vedere esattamente cosa è successo.
Come funziona
flowchart LR
A[An event fires<br/>e.g. form submitted] --> B{Matching active<br/>workflows?}
B -->|trigger + filter match| C[Create a run]
C --> D[Walk the actions:<br/>email · assign ·<br/>conditions · waits]
D --> E[Run recorded<br/>with a full trace]
B -->|no match| F[Nothing happens]
I workflow vengono eseguiti automaticamente: non esiste un pulsante "esegui". Pubblicare un workflow lo rende attivo; da quel momento viene avviato ogni volta che si verifica il suo evento.
Passaggi
Aprire i Workflow di automazione
Fare clic su Sviluppatore → Workflow di automazione. La dashboard elenca i workflow salvati con le statistiche (attivi / bozze / archiviati). Fare clic su Nuovo workflow per crearne uno, oppure su una riga per modificarla.
Scegliere il trigger
Sotto Quando succede questo…, scegliere l'evento:
- Un modulo viene inviato: viene eseguito quando un richiedente invia un modulo di verifica. È il punto di partenza più comune; lo si associa a un modulo specifico (vedi sotto).
- Una verifica viene approvata / rifiutata / inoltrata: viene eseguito sull'esito. Usarli per indirizzare o notificare in base alla decisione.
- Il punteggio di affidabilità supera una soglia: impostare un limite Punteggio ≥ e/o Punteggio ≤.
- Secondo una pianificazione: inserire un'espressione cron (standard a 5 campi, valutata in UTC, per esempio
0 9 * * MONper ogni lunedì alle 09:00). Un'esecuzione pianificata è a livello di organizzazione: non è legata a una singola verifica, quindi le azioni che richiedono un caso specifico (assegnare a un reparto, generare un certificato, pianificare una verifica dell'identità dal vivo) vengono saltate, mentre l'email al proprietario, il webhook e l'SMS personalizzato vengono eseguiti. - Oppure una verifica viene creata / ripresentata, cambia stato, viene caricato un documento (oppure un documento non riesce), un controllo viene completato, EDD, avvisi di monitoraggio, scadenza, webhook in ingresso e il completamento di una verifica dell'identità dal vivo.
- Segnali di verifica: si attivano su un esito di una fase specifica anziché sull'esito complessivo: vitalità superata / non superata, corrispondenza sanzioni trovata / esclusa, corrispondenza KYB trovata / non trovata, e viene registrata una decisione del revisore. Consentono a un workflow di reagire a un singolo segnale (per esempio una corrispondenza in una lista sanzioni) senza attendere la decisione finale.
- Segnali di rischio e documento: si attivano quando i controlli rilevano qualcosa di specifico: un documento è scaduto, un problema con la data del documento (troppo vecchio, data illeggibile o mancante), il secondo lettore IA è in disaccordo con il primo, un rischio di rete (IP di VPN, proxy, Tor o hosting), prova di acquisizione non riuscita (la foto non è risultata provenire dalla fotocamera in tempo reale) e un possibile duplicato (stesso volto o stesso documento su un altro richiedente).
- Verifica dell'identità dal vivo: l'intero ciclo della videochiamata è disponibile come trigger: verifica dal vivo richiesta (il criterio di decisione ha richiesto una chiamata: consultare Richiedere la verifica dal vivo), una chiamata viene pianificata, riprogrammata, avviata, terminata, completata (l'host ha registrato una decisione), annullata o abbandonata, il richiedente ha rifiutato il consenso alla registrazione, l'host è stato trasferito, un co-host o un osservatore è stato invitato, un partecipante non si è presentato, la registrazione è pronta oppure non è riuscita, un documento è stato esaminato durante la chiamata e viene segnalato un avviso di integrità del supporto (per esempio una fotocamera virtuale).
Anche una decisione presa durante una chiamata dal vivo attiva verifica
approvata / rifiutata / inoltrata, con source = "live_verification" nei dati
dell'evento: così un unico workflow "approvata" può distinguere una decisione
del revisore (source = "manual") da una decisione registrata nella chiamata
dal vivo.
Facoltativamente, aggiungere un Filtro per restringere ulteriormente: per esempio, un workflow "controllo completato" può filtrare check.type = "sanctions" per agire solo su quel controllo.
Aggiungere le azioni
Sotto …fai questo, in ordine, aggiungere i passaggi:
- Invia un'email: scegliere il destinatario (il richiedente, il proprietario dell'organizzazione oppure un indirizzo personalizzato) e scrivere oggetto e corpo.
- Assegna a un team: scegliere i membri che devono gestire la verifica; ciascuno diventa un responsabile del richiedente.
Il selettore delle azioni offre anche un insieme più ampio, raggruppato per funzione: messaggistica (SMS, oltre a Slack / Microsoft Teams / notifiche push), registrazione (impostare un tag, scrivere una voce nel registro di audit, aggiornare i metadati, generare un report PDF), orchestrazione (chiamare un webhook, inviare un modulo, generare un certificato, pianificare una verifica dell'identità dal vivo, avviare un altro workflow, richiedere un documento, eseguire lo screening su una lista di controllo), controllo della revisione (inoltrare: vedere l'avviso più sotto) e avvio di passaggi di verifica (avviare la verifica dell'identità, della vitalità, il nuovo caricamento del documento, la verifica dell'indirizzo o la verifica KYB).
Ogni azione viene eseguita davvero su un workflow pubblicato, e ogni passaggio viene registrato nella traccia di esecuzione, così è possibile vedere esattamente cosa è successo. Un passaggio che non può essere eseguito indica il motivo nella traccia invece di fallire in silenzio: per esempio Slack / Teams richiedono un URL di webhook in ingresso, e le notifiche push raggiungono la casella interna dei membri del team (i richiedenti non ne hanno una: per loro usare email o SMS).
Le azioni di avvio dei passaggi di verifica operano sulla richiesta esistente: avvia verifica dell'identità ripete i controlli da zero, avvia verifica KYB ripete il controllo nel registro, la corrispondenza dei dirigenti, le sanzioni e il calcolo del punteggio (solo per le richieste aziendali), mentre vitalità, nuovo caricamento del documento e verifica dell'indirizzo inviano al richiedente un link per fornire il nuovo selfie o il nuovo documento.
Azioni di verifica dal vivo
- Pianifica una verifica dell'identità dal vivo: prenota una videochiamata per la richiesta e invia al richiedente l'invito (via email e/o SMS, con la data nella lingua del richiedente). Scegliere l'host (un membro dell'organizzazione; vuoto = il responsabile assegnato alla richiesta, altrimenti il proprietario dell'organizzazione) e un ritardo in ore facoltativo: la chiamata viene prenotata con quell'anticipo, arrotondato ai successivi 15 minuti; senza ritardo, il richiedente sceglie lui stesso un orario. Se la richiesta ha già una chiamata pianificata o in corso, il passaggio viene saltato, così un workflow che si attiva due volte non prenota mai due chiamate. Richiede che la funzionalità di verifica dal vivo sia inclusa nel piano.
- Annulla la verifica dell'identità dal vivo: annulla la chiamata pianificata della richiesta (con un motivo facoltativo). Una chiamata già in corso non viene mai interrotta.
Una configurazione tipica: un trigger Verifica dal vivo richiesta → Pianifica una verifica dell'identità dal vivo con un ritardo di 24 ore → Attendi fino a l'avvio della chiamata → in caso di scadenza, Invia un'email per ricordare al richiedente.
I workflow non modificano mai l'esito di una verifica: approvare / rifiutare resta compito del criterio di decisione (Strumento 1). Non esistono, di proposito, azioni di approvazione o rifiuto. L'unico controllo consentito è inoltra, che indirizza una richiesta alla revisione umana tramite la macchina a stati esistente e tracciata; non imposta alcun esito e non tocca mai il punteggio.
Salvare e pubblicare
Fare clic su Salva bozza per memorizzarlo, quindi su Pubblica per attivarlo. Le bozze non vengono eseguite: si attiva solo un workflow pubblicato (attivo). La pubblicazione congela quella versione: le modifiche successive creano una nuova bozza.
Associare un workflow a un modulo specifico
Per un workflow form.submitted, lo si associa a uno o più moduli, così che solo quei moduli lo avviino (altrimenti ogni invio di modulo lo attiverebbe). È così che i moduli Nuovo conto e Mutuo della banca eseguono workflow diversi. L'associazione è definita nel trigger del workflow.
Tipi di nodo sulla tela
Un workflow è un piccolo grafo. Trascinare i nodi sulla tela e collegare i loro punti per definire il percorso che seguirà un'esecuzione. Oltre al singolo nodo Trigger (aggiunto automaticamente) e ai nodi Azione, sono disponibili:
Condizioni
Un nodo Condizione si dirama in vero / falso in base a un'espressione DSL: la stessa grammatica di una condizione di criterio e del filtro del trigger, quindi c'è un unico motore di espressioni, non due. Legge fatti tipizzati sull'evento: il punteggio di affidabilità (overallScore >= 75), la decision dello scorer, i campi del richiedente (applicant.country IN ["CA","US"]) e i segnali per singolo controllo come checks.liveness.confidence o sanctions.isMatch. Questi preset tipizzati sono gli stessi campi esposti dalla progettazione dei criteri, quindi un'espressione che funziona lì funziona anche qui. Un'espressione non interpretabile fallisce in sicurezza sul ramo falso: non corrisponde mai in silenzio.
I fatti vengono caricati di nuovo dalla richiesta ogni volta che viene eseguita una condizione, quindi un workflow che ha atteso due giorni vede lo stato di oggi, non quello di quando è partito. Oltre ai punteggi, è possibile verificare:
| Area | Campi di esempio |
|---|---|
| Verifica dell'identità dal vivo | liveVerification.requested, liveVerification.held, liveVerification.status, liveVerification.hostDecision, liveVerification.applicantAttended, liveVerification.recorded |
| Rete | network.vpn, network.proxy, network.tor, network.hosting, network.country |
| Documenti | document.isExpired, document.daysUntilExpiry, document.tooOld, document.dateUnverifiable, document.readConfidence |
| Acquisizione e frodi | capture.liveCamera, capture.tokenMismatch, fraud.duplicateDocument, fraud.duplicateDevice, fraud.duplicateIp, fraud.duplicatePhone, fraud.duplicateEmail, fraud.blocklistMatch |
| Controllo dell'età | age.checked, age.result, age.method, age.estimatedAge, age.meetsMinimum, age.mismatch |
| Liste | redFlags CONTAINS "network_vpn_detected", notices CONTAINS "document_date_unverifiable" |
| Dati dell'evento | source = "live_verification", hostDecision = "approved" |
CONTAINS verifica se una lista contiene un valore (oppure se un testo contiene una parola, senza distinguere maiuscole e minuscole); NOT CONTAINS è il suo contrario. Un campo che la richiesta non possiede non corrisponde mai a !=, NOT IN o NOT CONTAINS: per esempio, document.issuingCountry != "US" resta falso quando non è stato letto alcun documento, invece di superare il controllo in silenzio.
Attese
Un nodo Attesa sospende l'esecuzione e la riprende più tardi. Quattro modalità:
- Per una durata fissa: riprende dopo N minuti.
- Fino all'arrivo di un evento: resta in attesa finché non si verifica un evento (per esempio documento caricato, stato cambiato, verifica dell'identità dal vivo avviata / terminata / completata, registrazione pronta) per la stessa richiesta. Impostare un timeout (ore o giorni; predefinito 7 giorni): alla scadenza, l'esecuzione segue il ramo di timeout del nodo oppure prosegue sul percorso normale, se quel ramo non è collegato.
- Fino a quando una condizione è vera: ricontrolla un predicato DSL a intervalli fissi, riprendendo quando è vero (con un limite di sicurezza, così un predicato che non diventa mai vero non può bloccare un'esecuzione per sempre).
- Durante l'orario di lavoro: riprende nella successiva finestra utile (per impostazione predefinita dal lunedì al venerdì, dalle 09:00 alle 17:00 UTC; giorni, orari e fuso orario sono configurabili, e i cambi dell'ora legale sono gestiti).
Parallelo
Un nodo Parallelo si divide in più rami, ciascuno dei quali esegue i propri passaggi, quindi prosegue da un punto di unione facoltativo quando tutti i rami sono terminati. I rami non si sospendono: un'Attesa dentro un ramo viene attraversata, così un blocco parallelo termina sempre.
Ciclo
Un nodo Ciclo ripete un corpo finché un predicato DSL è vero, fino a un limite obbligatorio di iterazioni: il ciclo termina sempre, anche se il predicato resta vero (il raggiungimento del limite viene annotato nella traccia di esecuzione). Un ciclo senza espressione "finché" esegue il corpo zero volte, quindi un ciclo configurato male non può mai girare all'infinito.
Esiti di fine
Un nodo Fine è un terminale: l'esecuzione si conclude lì. È possibile etichettare un Fine con un esito di presentazione (approvata, rifiutata, inoltrata, completata oppure errore), registrato nella voce finale della traccia per indicare come si è concluso quel percorso. Questa etichetta è puramente descrittiva: serve a descrivere l'esecuzione, NON modifica l'esito della verifica. L'esito resta affidato al criterio di decisione; un Fine etichettato approvata non approva nulla.
Opzioni e campi
| Concetto | Valori | Note |
|---|---|---|
| Eventi di trigger | modulo inviato, verifica creata / ripresentata, approvata / rifiutata / inoltrata, stato cambiato, documento caricato, documento non riuscito, controllo completato, vitalità superata / non superata, corrispondenza sanzioni trovata / esclusa, corrispondenza KYB trovata / non trovata, decisione del revisore, soglia di punteggio, EDD, avviso di monitoraggio, scaduta, pianificazione (cron), webhook in ingresso | Uno per workflow. |
| Trigger di rischio e documento | verifica dal vivo richiesta, documento scaduto, problema con la data del documento, secondo lettore IA in disaccordo, rischio di rete rilevato, prova di acquisizione non riuscita, possibile duplicato | Si attivano insieme all'esito, dalla stessa esecuzione di verifica. |
| Trigger di verifica dell'identità dal vivo | pianificata, riprogrammata, avviata, terminata, completata, annullata, abbandonata, consenso alla registrazione rifiutato, host trasferito, partecipante invitato, partecipante assente, registrazione pronta, registrazione non riuscita, documento esaminato, avviso di integrità del supporto | Ogni trigger si attiva una volta per occorrenza; "avviata" e "registrazione pronta" non vengono duplicate. |
| Tipi di nodo | Trigger, Condizione, Azione, Attesa, Parallelo, Ciclo, Fine | Il Trigger è l'unico punto di ingresso aggiunto automaticamente. Condizione / Azione / Attesa / Fine si trascinano dalla tavolozza; Parallelo e Ciclo sono supportati dal motore per grafi più complessi. Un percorso che torna su sé stesso viene rifiutato alla pubblicazione: usare un nodo Ciclo. |
| Azioni | Email, SMS, Slack, Teams, Push, Webhook, Assegna a un reparto, Imposta un tag, Scrivi nel registro di audit, Aggiorna i metadati, Invia un modulo, Richiedi un documento, Genera un certificato, Genera un report PDF, Esegui lo screening su una lista di controllo, Avvia un altro workflow, Inoltra, Pianifica una verifica dell'identità dal vivo, Annulla la verifica dell'identità dal vivo, Avvia verifica dell'identità / vitalità / nuovo caricamento del documento / verifica dell'indirizzo / verifica KYB | Tutte vengono eseguite davvero su un workflow pubblicato; ogni passaggio (o il motivo per cui è stato saltato) viene registrato nella traccia di esecuzione. |
| Modalità di attesa | Per una durata fissa, Fino all'arrivo di un evento, Fino a quando una condizione è vera, Durante l'orario di lavoro | "Fino all'arrivo di un evento" sospende l'esecuzione; un timeout (predefinito 7 giorni) segue il ramo di timeout. |
| Operatori delle condizioni | = (oppure ==), !=, <, <=, >, >=, IN, NOT IN, CONTAINS, NOT CONTAINS, AND, OR, NOT | Un campo mancante non corrisponde mai a un test negativo. |
| Esito di fine (facoltativo) | approvata, rifiutata, inoltrata, completata, errore | Etichetta di presentazione solo nella traccia di esecuzione: non modifica mai l'esito. |
| Stato | bozza, attivo, archiviato | Molti workflow possono essere attivi contemporaneamente. |
Versioni, ripristino e test A/B

Il pulsante Versioni e test A/B resta disattivato finché il workflow non è stato salvato almeno una volta.
Un workflow è una catena di versioni sotto un unico nome. Salvare modifica sempre una bozza; Pubblica la congela come versione immutabile e archivia la versione attiva precedente dello stesso nome. Ogni esecuzione registra la versione su cui è stata eseguita (visibile nell'elenco e nella traccia delle esecuzioni).
Fare clic su Versioni e test A/B nell'intestazione dell'editor per:
- Vedere ogni versione: bozza, attiva, archiviata, e aprirne una qualsiasi.
- Ripristinare come nuova bozza: copia una versione (per esempio una precedente che si vuole recuperare, oppure quella attiva che si vuole modificare) in una nuova bozza dello stesso nome. Le versioni pubblicate non vengono mai modificate sul posto.
- Eseguire un test A/B: confronta la versione attiva (A) con una sfidante (B, una bozza o una versione precedente dello stesso workflow). Scegliere quale percentuale (0–100 %) delle nuove verifiche deve essere avviata da B invece che da A. Il trigger, l'ambito e il filtro della versione attiva decidono ancora se il workflow viene eseguito; la suddivisione decide solo quale versione viene eseguita. Una verifica riceve sempre la stessa variante, e un'esecuzione termina sulla versione con cui è iniziata.
Durante un test la bozza sfidante è congelata. La tabella dei risultati mostra, per ciascuna variante, le verifiche instradate, quante sono state approvate, rifiutate e inoltrate, quante hanno raggiunto una decisione e quante esecuzioni dei workflow sono state completate o non sono riuscite. I workflow non impostano mai l'esito, quindi usare questa tabella per confrontare i risultati operativi (per esempio un'email di promemoria inviata in anticipo). Pubblicare la sfidante termina il test; Interrompi test rimanda ogni nuova verifica alla versione attiva. Le esecuzioni senza una verifica (pianificazioni, webhook in ingresso) usano sempre la versione attiva.
Risoluzione dei problemi
Il mio workflow non è stato eseguito
Controllare, in quest'ordine: che sia pubblicato (attivo, non in bozza); che l'evento di trigger si sia effettivamente verificato; per un workflow form.submitted, che il modulo che ha inviato corrisponda all'associazione del trigger; e che l'eventuale filtro abbia dato esito vero. Aprire le esecuzioni del workflow per verificare se è stata creata un'esecuzione.
L'email non è arrivata
Verificare che il destinatario sia stato risolto: per "il richiedente", il modulo deve aver raccolto un'email; per "il proprietario dell'organizzazione", l'organizzazione deve avere un proprietario con un'email registrata. Controllare la cartella dello spam e la configurazione dell'invio delle email.
"Assegna a un reparto" non ha assegnato nessuno
L'azione richiede almeno un membro selezionato, e la verifica deve essere stata creata (il workflow deve essere avviato da un evento di verifica). I membri selezionati devono appartenere alla propria organizzazione.
Ho pubblicato una nuova versione: cosa succede alle esecuzioni già in corso?
Terminano sulla versione con cui sono partite (per esempio, un'esecuzione sospesa su un'attesa di due giorni invia comunque il suo promemoria). I nuovi eventi usano la nuova versione. Archiviare un workflow è l'unico modo per interrompere le sue esecuzioni in corso.
"Pianifica una verifica dell'identità dal vivo" è stata saltata
Aprire la traccia di esecuzione: il passaggio indica il motivo. Le cause più comuni sono che la richiesta abbia già una chiamata pianificata o in corso (una seconda non viene mai prenotata), che l'host scelto abbia lasciato l'organizzazione, oppure che il piano non includa la verifica dal vivo.
Un workflow si è eseguito più spesso del previsto
Un workflow si esegue al massimo 10 volte per richiesta in 24 ore (oltre, l'evento viene saltato e registrato come possibile ciclo), e i workflow che si richiamano a vicenda tramite Avvia un altro workflow si fermano dopo 5 livelli. Se un evento si attiva ripetutamente (per esempio stato cambiato), aggiungere un Filtro come status = "ESCALATED", così il workflow reagisce solo al cambiamento che interessa.
Non vedo "Workflow di automazione" nel menu
Si trova sotto Sviluppatore ed è una funzionalità Pro. Se mostra il badge "Richiede Pro", chiedere al proprio proprietario di effettuare l'upgrade in Fatturazione e crediti.
Correlati
- Progettazione di un criterio di rischio: l'altro strumento, quello che decide l'esito.
- Moduli: associare un workflow
form.submitteda un modulo. - Webhook: per inviare gli eventi di verifica ai propri sistemi.
- Invitare i membri: aggiungere le persone a cui un workflow può assegnare il lavoro.
Progettazione di un criterio di rischio
Usare il progettatore visivo dei criteri di flusso di lavoro di Certivant per costruire regole decisionali KYC/KYB personalizzate (condizioni, soglie, esiti approva/rifiuta/inoltra), quindi simulare e pubblicare criteri con versioni.
Invitare i colleghi
Aggiungere colleghi alla propria organizzazione Certivant tramite invito via email o account creati dall'amministratore, assegnare il loro ruolo e gestire gli inviti in sospeso e le rimozioni.