Skip to main content

Cos'è un Workflow in SYBOT?

In Sybot, un Workflow è la rappresentazione visiva e funzionale di un processo di business automatizzato. È un diagramma logico dove ogni "blocco" (un Task) esegue un'azione specifica e ogni "linea" di collegamento (una Condizione) determina il percorso che il processo deve seguire in base ai risultati ottenuti.

È, in sostanza, un automa digitale che prende dati in input, li elabora attraverso una serie di passaggi logici e produce un risultato in output, il tutto senza intervento umano.

1. Azioni Specifiche (I Task)

I Task sono i mattoni fondamentali del processo. Ogni Task è specializzato in un'operazione, come:

  • Gestire Dati: Leggere file (es. Importa Testo), scriverli (es. Esporta Testo), convertirli (es. Convert to PDF/CSV/XLSX), popolarli in un database (JSON/XML/CSV to Table).
  • Comunicare: Inviare email (es. E-Mail Out).
  • Integrare Sistemi Esterni: Questa è una capacità cruciale. Il Workflow può dialogare con altre piattaforme a più livelli: sia tramite API di alto livello (utilizzando il Task Chiamata REST) per scambiare dati con servizi web, sia a un livello più profondo e diretto con l'infrastruttura IT. Grazie a Task basati su protocolli come SSH, il Workflow può connettersi a macchine remote per eseguire comandi, lanciare script e gestire servizi, agendo come un vero e proprio orchestratore.
  • Eseguire Funzionalità Personalizzate: eseguire script per implementare comportamenti avanzati (ad esempio tramite il task Run Script Python).
  • Eseguire Logica: Prendere decisioni (es. Conditional), eseguire cicli (es. Iterator, Repeat, Controllo loop) e gestire errori (es. Workflow Exception).

2. Un Flusso Logico (Le Condizioni)

Il vero potenziale di un Workflow non risiede nell'esecuzione di singoli task, ma nella loro interconnessione logica. Le condizioni di output (Default, Custom, Exception, Otherwise, KO) costituiscono il fulcro decisionale del processo, consentendogli di:

  • Eseguire logiche condizionali: Ad esempio, se il risultato di una query supera 100, il processo può inviare un'email all'amministratore; in caso contrario, procede con l'archiviazione del report.
  • Orchestrare cicli iterativi: Per ciascuna riga della tabella, un Workflow può generare automaticamente un ticket in ServiceNow.
  • Implementare la gestione degli errori: La mancata connessione a un database può attivare l'invio di una notifica di errore e l'interruzione del processo.

3. Un Flusso di Dati (Parametri e Variabili)

Un Workflow è un sistema vivo in cui i dati scorrono costantemente. I Parametri di Outputdi un Task possono diventare i Parametri di Input del successivo. Questo "flusso di dati" permette di costruire processi complessi in cui il risultato di un'operazione influenza direttamente la successiva (es. l'ID di un ticket appena creato viene usato per aggiornarlo nel passo successivo).

4. Modularità e Riusabilità (Workflow Figli e Gruppi)

Un Workflow non è necessariamente un processo monolitico. Grazie a Task come Run Workflow, Parallel Run Workflow e Iterator, può essere scomposto in sotto-processi riutilizzabili. Un Workflow "principale" può orchestrare l'esecuzione di diversi Workflow "figli", ognuno dedicato a un compito specifico. A livello visivo, i Gruppi permettono di organizzare il diagramma in sezioni logiche, rendendo leggibili anche processi estremamente complessi.

5. Mappa del Workflow

In basso a destra è disponibile, per impostazione predefinita, la mini-mappa del Workflow, che offre una vista complessiva del diagramma e consente di spostarsi rapidamente tra le diverse aree del flusso.

La mini-mappa può essere mostrata tramite la combinazione ALT + M; per nasconderla è disponibile il relativo comando nella sua interfaccia.