4.11.1. Workflows. Lezione 1: primi passi con i workflow
I workflow controllano e modificano automaticamente i risultati generati: possono sostituire parole, tagliare il testo entro un limite di lunghezza o segnalare un risultato per la revisione manuale prima che arrivi al negozio. Lei imposta le regole una sola volta e queste si applicano a ogni nuovo risultato.
In questa lezione creerà il Suo primo workflow, vedrà come si comporta e imparerà alcuni aspetti a cui prestare attenzione lungo il percorso.
L'esempio su cui lavoriamo
Il nostro flusso genera una breve descrizione di consegna per una torta:
We are delighted to deliver your chosen cake directly to the address you provide… Each Festive Cake will arrive in beautiful gift packaging… every celebration deserves a delicious CAKE…
La parola "cake" compare tre volte, con tre diverse combinazioni di maiuscole e minuscole. Lo tenga a mente: sarà importante più avanti.
Passaggio 1. Creare un workflow
Vada su Home → Workflows e faccia clic su Create workflow.

L'editor si apre con il nome predefinito New workflow 1. Assegni subito al workflow un nome chiaro: quando ne avrà diversi, i nomi generici si confondono facilmente.

Nota: l'interruttore Active è attivo per impostazione predefinita. Un workflow non ha alcun effetto finché non viene assegnato a un flusso, ma una volta assegnato, un workflow attivo inizia a elaborare i risultati.
Passaggio 2. Configurare un blocco
Faccia clic su Create block. Sull'area di lavoro compare un blocco composto da due parti:
- IF: le condizioni alle quali il blocco viene eseguito.
- THEN: le azioni che esegue.

Faccia clic sull'icona della matita per aprire le impostazioni del blocco.

Condizioni
Ogni condizione è composta da tre parti: cosa verificare, un operatore e un valore. Può verificare due elementi:

Length è la lunghezza del testo in caratteri, spazi inclusi. Operatori: greater than, greater or equal, less than, less or equal, equals, not equal.

Text verifica il contenuto. Operatori: contains, does not contain, begins with, ends with, is empty, is not empty.

Con più di una condizione, scelga la logica:
- All conditions: tutte le condizioni devono essere soddisfatte (AND).
- Any condition: è sufficiente che ne sia soddisfatta una (OR).
Azioni
Sono disponibili tre azioni. Le descrizioni sono mostrate direttamente nel menu a discesa.

- Replace text: sostituisce una parola o una frase. Lasci vuoto Replace with per rimuoverla. I tag HTML non vengono modificati.
- Truncate: taglia il testo a un numero massimo di caratteri.
- Mark suspicious: segnala il risultato per la revisione manuale.
Un blocco può contenere più azioni, che vengono eseguite dall'alto verso il basso.
Il Suo primo blocco
Compito: se il testo contiene "Happy holidays!", sostituire "cake" con "festive cake".
- Nome:
cake -> festive cake - Condizioni → Aggiungi condizione:
Text·contains·Happy holidays! - Azioni → Aggiungi azione:
Replace text, Findcake, Replace withfestive cake, All matches attivo (sostituisce tutte le occorrenze, non solo la prima). - Faccia clic su Apply.

Il blocco nell'area di lavoro mostra ora un riepilogo delle sue condizioni e azioni. Verifichi che Active sia attivo e faccia clic su Save.

Passaggio 3. Assegnare il workflow a un flusso
Un workflow salvato non fa nulla finché non viene collegato a un flusso.
- Apra il Suo flusso e vada alla scheda Automation (la 4ª scheda).
- In basso, nella sezione Workflows, scelga il Suo workflow dal menu a discesa.
- Faccia clic su Save per salvare il flusso.

Generi un nuovo risultato e lo apra dalla Batch List (la tabella dei risultati generati).
Passaggio 4. Verificare il risultato
Il testo contenente "Happy holidays!" è cambiato:

Noti "Festive festive cake". Il modello ha scritto "Festive Cake" con la C maiuscola e, senza Match case, la sostituzione ignora la differenza tra maiuscole e minuscole, per cui è stato sostituito anche "Cake".
Soluzione: attivi Match case. In questo modo viene sostituito solo "cake" in minuscolo, mentre "Festive Cake" rimane invariato.
Tenga presente: Replace text non tiene conto del contesto, cerca soltanto le corrispondenze. Se il modello ha già scritto "delicious cake", sostituire
cakecondelicious cakeproduce "delicious delicious cake". Pensi a come si comporterà la Sua sostituzione su testi diversi.
Passaggio 5. Come vengono elaborati i risultati
Se modifica le impostazioni di un workflow e riapre un risultato già elaborato, il risultato rimane invariato. Il sistema funziona così:
- I workflow elaborano solo i risultati nuovi e rigenerati.
- Ogni risultato viene elaborato da un determinato workflow una sola volta. La modifica dei suoi blocchi non influisce sui risultati già elaborati.
- Le modifiche sono permanenti. La rimozione di un workflow da un flusso non ripristina il testo originale.
Per applicare le nuove impostazioni, rigeneri il risultato.
Suggerimento: provi prima i nuovi workflow su un flusso di prova. Le modifiche ai risultati elaborati non possono essere annullate, ma solo rigenerate.
Passaggio 6. Più workflow
Per correggere i testi in cui compare "Festive festive", può aggiungere un secondo workflow. Questo segnala anche il risultato per la revisione:
- Condizioni:
Text·contains·Festive festive - Azioni:
Replace text:Festive festive→Festive, All matches e Match case attiviMark suspiciouscon un motivo per il revisore

Può assegnare un numero qualsiasi di workflow a un flusso. Vengono eseguiti dall'alto verso il basso e ciascuno riceve il testo così come modificato dal precedente. Può riordinarli trascinando la maniglia o con le frecce.

Ordine consigliato:
- Workflow che modificano il testo.
- Workflow che correggono gli effetti collaterali di quelli precedenti. Una correzione deve essere eseguita dopo il workflow che causa il problema.
- Mark suspicious può trovarsi in qualsiasi posizione: non interrompe l'elaborazione.
Se più workflow contrassegnano un risultato come sospetto, viene mostrato il motivo del primo nell'elenco.
Passaggio 7. Troncamento con revisione manuale
Compito: sostituire "cake" con "candies", limitare il testo a 110 caratteri e impedire che il testo abbreviato arrivi al negozio finché qualcuno non lo ha controllato.
- Condizioni (All conditions):
Text·contains·cakeLength·greater than·100
- Azioni, in questo ordine:
Replace text:cake→candies, All matches e Match case attiviTruncate:110, Keep whole words attivoMark suspicious: motivoTruncated to 110 characters

Perché l'ordine è importante: "candies" è più lungo di "cake". Se tronca prima e sostituisce dopo, il testo può superare nuovamente il limite. Sostituisca prima, poi tronchi.
Risultato:

Il testo è lungo 109 caratteri e nessuna parola viene tagliata a metà. Le parole unite da un trattino, come "door-complete", contano come una sola parola. Alla fine non viene aggiunto "…". La frase, tuttavia, è incompleta, ed è per questo che Mark suspicious fa parte di questo blocco.
Un risultato sospetto non viene sincronizzato con il negozio finché un utente non lo modifica o lo rigenera. Nella Batch List compare un'icona "!" accanto a Sync Now e il motivo viene mostrato al passaggio del mouse:

All'interno del risultato, un avviso Synchronization with integration is disabled mostra il motivo:

Le parole sospette dell'integrazione hanno la precedenza. L'integrazione ha un proprio elenco di parole e schemi sospetti. Se il testo ne contiene uno, il risultato riceve il motivo di sistema "Completion looks suspicious, possible AI recommendations found" e i motivi dei workflow non vengono mostrati. La parola trovata viene evidenziata in arancione.

Riferimento rapido
| Impostazione | Come funziona |
|---|---|
| All / Any condition | Tutte le condizioni devono essere soddisfatte / ne basta una |
| Length | Lunghezza del testo in caratteri, spazi inclusi |
| Replace text | Se Replace with è vuoto, la corrispondenza viene rimossa; i tag HTML non vengono modificati |
| All matches | Disattivato: viene sostituita solo la prima corrispondenza |
| Match case | Disattivato: la sostituzione ignora maiuscole e minuscole |
| Truncate | Non viene aggiunto "…"; Keep whole words mantiene intatte le parole |
| Mark suspicious | Blocca la sincronizzazione con il negozio; non interrompe altre azioni o workflow |
| Più segnalazioni di sospetto | Viene mostrato il motivo del primo workflow |
| Parole sospette dell'integrazione | Hanno la precedenza sui motivi dei workflow |
| Elaborazione | Solo risultati nuovi e rigenerati, una volta per workflow; le modifiche sono permanenti |
Prossimi passi
La prossima lezione mostra come collegare più blocchi con le uscite Yes, No e Always, così che un solo workflow possa gestire testi diversi in modi diversi.
Continui con 4.11.2. Lezione 2: combinare i blocchi in un workflow.