Vai al contenuto
xFlowy

La piattaforma

Un motore che sa aspettare le persone.

Sotto la tela c'è un motore progettato attorno a un'idea sola: un processo d'ufficio passa la maggior parte del tempo fermo, in attesa che qualcuno decida. Tutto il resto — editor, espressioni, inbox, pratiche — è costruito su quella premessa.

Il motore

Lo stato dell'esecuzione si salva dopo ogni nodo. Non è un'ottimizzazione rinviata: è la ragione per cui un flusso può fermarsi tre giorni su un'approvazione e riprendere senza che nessuno se ne accorga.

La stessa esecuzione nel tempo: parte lunedì, si ferma tre giorni in attesa di una persona, riprende giovedì dal nodo successivo Una sola esecuzione, da lunedì a giovedì Avvio e controlli lun 09:00 · 1,2 s In attesa di una persona l'attività è nell'inbox di chi deve approvare Ripresa dal nodo successivo gio 11:20 · registra, notifica, chiude stato salvato stato salvato stato salvato Fra lunedì e giovedì: due rilasci in produzione, un riavvio del processo, nessun passo perso.
Lo stato dell'esecuzione viene scritto sul database dopo ogni nodo. L'attesa di una persona non è un caso limite da gestire: è il funzionamento normale.
  • Ripresa esatta. Un'attività umana è un nodo che risponde «attendi»: l'esecuzione resta viva sul database e riparte dal nodo successivo quando arriva la risposta.
  • Rami e unioni. Condizioni, cicli, diramazioni parallele e un nodo di unione che attende tutti gli ingressi — anche quelli che non hanno portato nulla.
  • Tempo. Trigger pianificati con intervallo o espressione cron, attese, scadenze e solleciti sono armati da un battito periodico, non da timer in memoria.
  • Errori che si vedono. Il passo fallito resta nel registro dell'esecuzione con il messaggio; un workflow può essere avviato proprio dal fallimento di un altro.
  • Sotto-workflow. Un flusso può eseguirne un altro come sotto-processo, con il suo punto d'ingresso dedicato.
  • Prova sicura. La prova di un singolo nodo non crea nulla di persistente per i nodi che sospendono: nessuna attività orfana in un'inbox.

L'editor

Una tela, una tavolozza generata dal catalogo dei nodi, e la possibilità di provare mentre si costruisce — con i dati veri, non con esempi finti.

Si configura sapendo che cosa arriva

Nella scheda di un nodo, a sinistra, ci sono i nodi a monte con i dati dell'ultima prova o l'anteprima dei campi. Un clic sul campo copia l'espressione giusta. «Esegui i nodi a monte» prova il flusso fermandosi appena prima.

La prova si guarda

All'avvio i nodi pulsano, i passi arrivano man mano che si concludono e la tela si colora nodo per nodo. Il nodo fallito ha il bordo rosso e l'errore a portata di mouse, con il collegamento al registro completo.

Versioni che non si rompono

La bozza si salva in posto: dieci salvataggi non fanno dieci revisioni. La versione sale solo quando quella corrente è pubblicata, e le versioni pubblicate restano intoccabili.

Governo della tela

Nodi disattivabili senza cancellarli, note attaccate ai nodi, azioni al passaggio del mouse e col tasto destro, scorciatoie da tastiera, esecuzione «da qui» per non ripartire ogni volta dall'inizio.

Collegamenti che si leggono

Un collegamento entra ed esce da qualsiasi lato del nodo, e senza scegliere prende i lati che si guardano; con la linea selezionata un «+» aggiunge uno snodo da trascinare, e i due capi si riprendono e si portano su un'altra maniglia. Linee dritte, ad angolo o arrotondate, per tutto il flusso o per un solo collegamento. Un flusso di venti nodi resta un disegno, non un gomitolo.

Si compone a oggetti, il codice resta per chi lo vuole

Blocchi pronti — un'approvazione, un'approvazione con escalation, una richiesta da modulo che apre una pratica — che si posano come un nodo solo. Accanto a ogni campo il bottone «{ }» elenca i dati da inserire; i parametri chiave→valore e i corpi JSON si compongono a righe; le condizioni campo · operatore · valore. Quello che si salva è sempre l'espressione, e si vede: chi vuole la scrive a mano.

Il costruttore AI fa la configurazione intera

Racconti il processo, a voce o scrivendo. Le domande che il costruttore fa per capirlo arrivano come scelte da cliccare — «in che stato nasce: Inviata, Bozza, In attesa?» — con un «Altro» per dirla con parole tue. Poi una proposta da leggere voce per voce: tipi di pratica con stati e campi, campi e stati in più su quelli che esistono già, gruppi, chi vede e chi lavora ogni tipo, abilitazioni, un assistente AI nuovo o istruzioni in più a uno che esiste, i workflow. Finché non confermi non viene creato niente.

Le espressioni

Ovunque serva un valore dinamico si scrive un'espressione fra doppie graffe. Non è JavaScript arbitrario: è un valutatore scritto apposta, con una lista chiusa di metodi per tipo.

# il dato dell'elemento corrente
{{ $json.importo > 1000 }}

# l'uscita di un nodo, per nome
{{ $node["Modulo"].json.email }}

# date con i metodi, nel fuso di casa
{{ $now.plus({ days: 3 }).format('dd/MM/yyyy') }}

# stringhe ed elenchi
{{ $json.nome.split(' ').last().toUpperCase() }}

Perché non eval. Il workflow è un dato che entra da fuori: importato, incollato, ricevuto via API. Farlo eseguire come codice significherebbe eseguire codice altrui. Il valutatore delle espressioni è nostro e non chiama mai eval né new Function.

L'eccezione dichiarata. Il nodo Codice esegue JavaScript scritto dal progettista in una sandbox isolata con un limite di tempo — codice di chi disegna il flusso, mai codice che arriva dai dati.

Un metodo che non esiste non fallisce nel vuoto: la risposta elenca quelli disponibili per quel tipo.

Le persone

La parte che le piattaforme di automazione di solito non hanno: chi fa che cosa, entro quando, e che succede se non lo fa.

  • Inbox personale e di gruppo. Ognuno vede le proprie attività, quelle del gruppo a cui appartiene e quelle che gli sono state delegate. Il filtro è nella costruzione della vista, non solo nei permessi.
  • Presa in carico e rilascio. Un'attività di gruppo diventa di qualcuno quando se la prende, e torna a tutti quando la rilascia.
  • Deleghe per assenza. Chi va in ferie delega: le attività compaiono a chi resta, restando tracciate come delegate.
  • Scadenze e solleciti. Ogni attività può avere un termine; i solleciti partono da soli quando si avvicina o è passato.
  • Supervisione. Chi coordina vede le attività del gruppo con filtri e stato, e può riassegnare — anche più attività insieme.
  • Decisioni collegiali. Certe cose non le chiude chi risponde per primo: delibere, comitati, doppia firma. Si sceglie se serve l'unanimità, la maggioranza o la risposta di tutti; ognuno vota dalla propria coda, e se l'accordo non c'è il processo esce da una porta apposta invece di restare fermo.
  • Chi decide non deve avere un'utenza. Un'attesa può andare per email a un fornitore o a un cliente: riceve un messaggio con i link per rispondere, e il primo clic decide. Scadenza, promemoria ed escalation valgono come per le altre attività.
  • Autorizzazione nel motore. Chiudere, prendere, rilasciare e riassegnare passano da controlli che stanno nel motore, non nelle singole pagine: nessuna scorciatoia per chi chiama l'API.

Le pratiche

La pratica su cui il lavoro si accumula: come si chiama nella tua organizzazione lo decidi tu — dossier, ticket, commessa, sinistro — perché il nome è un'impostazione.

Tipi configurabili

Campi, gerarchie fino a tre livelli, permessi per tipo. Si configura dall'area di amministrazione, senza toccare il codice.

Stati con regole

Le transizioni ammesse sono una matrice dichiarata. Chi è abilitato può forzare uno stato, ma deve dire il motivo — e la forzatura resta scritta.

Tutto è un evento

Ogni modifica passa dal registro degli eventi della pratica: cambi di stato, note e comunicazioni sono eventi, non campi sovrascritti.

Il ponte con i flussi

Un'attività può essere collegata a una pratica: dall'inbox si apre la pratica, dalla pratica si vede che cosa sta girando.

La posta

Le caselle condivise — info@, ordini@, assistenza@ — sono il punto in cui il lavoro entra davvero. xFlowy le legge per cartelle e le collega alle pratiche.

  • Caselle condivise. Lettura per cartelle, con i messaggi che restano sul server di posta.
  • Aggancio alla pratica. Una mail può essere agganciata a più pratiche: in ognuna resta una copia leggibile — mittente, oggetto, corpo — e il messaggio originale archiviato come .eml.
  • Il segnale che qualcuno se ne è occupato. Dopo l'aggancio il messaggio si sposta nella cartella «Gestite». Se il server non lo consente, l'aggancio resta valido e il fatto viene detto.
  • Anche come trigger. Un messaggio nuovo in una casella può avviare un workflow: dal reclamo alla pratica aperta senza passaggi a mano.

Perché una copia per ogni pratica, invece di un riferimento condiviso? Perché cancellare una pratica non deve svuotare le altre. È una scelta esplicita, non un effetto collaterale.

L'AI, con le briglie

I modelli servono a leggere una mail, estrarre dati da un documento, proporre una risposta. Non a decidere di nascosto: ogni uso è configurato, conteggiato e registrato.

I tuoi modelli, le tue chiavi

Più credenziali per più fornitori, cifrate, scelte nodo per nodo. L'elenco dei modelli disponibili viene chiesto al fornitore con la tua chiave: è l'unico elenco affidabile.

Agenti con strumenti

Modello, memoria, strumenti e schema di uscita si agganciano al nodo agente. Uno strumento può essere una chiamata HTTP, del codice o un intero workflow.

Risposte con una forma

Con uno schema di uscita agganciato, il modello risponde solo con JSON conforme: campi obbligatori, tipi e valori ammessi vengono controllati, altrimenti il nodo fallisce dicendo che cosa manca.

Assistenti e documenti

Assistenti conversazionali con la storia della conversazione come memoria, e ricerca sui documenti caricati per rispondere sui contenuti dell'organizzazione.

Regole di governance

Regole valutate al salvataggio e su richiesta sugli assistenti e sui workflow con nodi AI. L'esito non blocca: resta agli atti, con la motivazione.

Contatori d'uso

Ogni chiamata a un modello viene registrata con i suoi conteggi reali: quanto si usa l'AI è un dato, non una sensazione.

Agenti visti come persone che lavorano

Un assistente diventa un agente quando gli si dice dove sta, che mestiere fa, quanto può spendere al mese e chi rivede il suo lavoro. Un organigramma li mostra per reparto, con il costo del mese accanto al tetto: superato, l'esecuzione non parte — e dice quale tetto è.

Cinque categorie che nessuno esegue da solo

Scrivere su sistemi di terzi, mandare comunicazioni, cancellare, toccare la banca dati, spendere: un agente si ferma e riferisce che serve un'autorizzazione. Si concede una categoria alla volta, per quel singolo agente, e resta scritto chi l'ha decisa.

Rituali, e il loro freno

Il lavoro che un agente fa da solo a orario — l'ora è quella di qui, non UTC — e che finisce in una proposta da approvare. Chi la riceve può rimandarla indietro con una correzione: l'agente riprova sapendo che cosa non andava, e le correzioni si accumulano. Finché una proposta è aperta il giro successivo non ne crea una seconda.

Vuoi vederla su un processo tuo?

Il modo più rapido è raccontare un flusso reale — quello che oggi vive fra una casella di posta condivisa, un foglio di calcolo e tre solleciti. Rispondiamo dicendo che cosa xFlowy fa già, che cosa richiederebbe lavoro e che cosa non è il caso di fargli fare.