Eseguire un flusso all'interno di un flusso
Obiettivi di apprendimento
Al completamento di questa unità , sarai in grado di:
- Ridurre al minimo il lavoro utilizzando l'elemento Sottoflusso.
- Creare un flusso che viene eseguito all'interno di un altro flusso.
- Configurare le variabili di un flusso con riferimenti per restituire i dati al flusso principale.
Il potere della pigrizia
Può sembrare incredibile, ma una delle qualità più importanti di un amministratore è la pigrizia.
Proprio così! Se dovessi apportare una modifica alla tua organizzazione Salesforce che interessa quattro flussi diversi, preferiresti aggiornare tutti e quattro i flussi oppure soltanto uno? Può sembrare una magia, ma anche tu puoi superare ostacoli come il lavoro superfluo sfruttando il potere della pigrizia.
Ad esempio, nell'organizzazione di Flo sono presenti quattro flussi che postano lo stesso messaggio su Chatter. Ogni volta che un elemento associato a quel post su Chatter cambia, Flo deve aggiornare l'elemento duplicato in tutti e quattro i flussi. Flo rabbrividisce al pensiero di dover ripetere la stessa operazione tante volte. Per fortuna, ha a sua disposizione un altro elemento che non abbiamo ancora usato: l'elemento Sottoflusso.
Utilizzando l'elemento Sottoflusso in un flusso (il flusso principale) è possibile fare riferimento a un altro flusso (il flusso secondario) ed eseguirlo all'interno del flusso corrente (quello principale). Flo è entusiasta all'idea di poter apportare modifiche a un solo flusso invece di quattro. Inoltre, con un numero inferiore di flussi, ci sono meno possibilità di trascurare o configurare in modo errato qualcosa.
Flo ti chiede di creare un flusso separato per il post su Chatter. Il suo obiettivo è sostituire gli elementi duplicati in quattro flussi separati utilizzando il nuovo flusso secondario al loro posto. Se, successivamente, un elemento correlato al post su Chatter cambia, Flo può aggiornare soltanto il flusso secondario invece di aggiornare tutti i quattro i flussi separati.
Variabili di input e output
Le variabili di un flusso secondario sono speciali. Hai notato le impostazioni Available for input (Disponibile per l'input) e Available for output (Disponibile per l'output) durante la creazione di una variabile? Queste impostazioni consentono alle variabili di trasferire l'input dal flusso principale a quello secondario e l'output dal flusso secondario a quello principale.
Ma perché inviare dati avanti e indietro da un flusso secondario? Nell'esempio di Flo, il flusso secondario pubblica un post su Chatter nel record di attivazione del flusso principale. Quindi, il flusso secondario deve conoscere l'ID di quel record. I flussi secondari non possono accedere al record di attivazione dei flussi principali, quindi questi ultimi devono passarli ai flussi secondari. Inoltre, se il flusso principale deve conoscere l'ID del post di Chatter creato dal flusso secondario, quest'ultimo deve passare quell'ID al flusso principale.
Le variabili vanno definite come disponibili per l'input o per l'output nel flusso secondario.
- Per ricevere dati dal flusso principale, il flusso secondario ha bisogno di una variabile disponibile per l'input.
- Per inviare dati al flusso principale quando l'esecuzione è completa, il flusso secondario ha bisogno di una variabile disponibile per l'output.
- Se non è necessario inviare dati in nessuna delle due direzioni, non sono necessarie né variabili di input né variabili di output.
Creare un elemento Sottoflusso
Per eseguire un flusso all'interno di un altro flusso, è necessario innanzitutto creare il flusso principale e quello secondario e aggiungere un elemento Sottoflusso al flusso principale.
Creare il flusso secondario
- Crea un flusso selezionando il tipo Autolaunched Flow (Flusso AutoLaunched).
- Crea una variabile di tipo Testo:
- API Name (Nome API):
userMentionId
- Available for input (Disponibile per l'input): selezionata
- Crea un'altra variabile di tipo Testo:
- API Name (Nome API):
postTargetID
- Available for input (Disponibile per l'input): selezionata
- Crea ancora un'altra variabile di tipo Testo:
- API Name (Nome API):
chatterPostID
- Available for output (Disponibile per l'output): selezionata
- Crea una risorsa selezionando il tipo Text Template (Modello di testo):
- API Name (Nome API):
chatterBody
- Body (Corpo):
@[{!userMentionID}], please review this record.
(@[{!userMentionID}], ti preghiamo di controllare questo record). - Nell'editor del corpo del messaggio, cambia "View as Rich Text" (Visualizza come testo RTF) in "View as Plain Text" (Visualizza come testo normale).
- Aggiungi un elemento Action (Azione):
- Action (Azione): Post to Chatter (Pubblica in Chatter)
- Label (Etichetta):
Chatter Mention PostÂ
(Post di Chatter con menzione) - API Name (Nome API):
Chatter_Mention_Post
- Message (Messaggio) chatterBody
- Target Name or ID (ID o nome destinazione): postTargetID
- Sotto Show advanced options (Mostra opzioni avanzate), seleziona Manually assign variables (Assegna manualmente le variabili).
- Feed Item ID (ID elemento feed): chatterPostID
- Salva il flusso. In Flow Label (Etichetta flusso), inserisci
Post to Chatter
(Pubblica su Chatter).
- Attiva il flusso.
Creare il flusso principale con un elemento Sottoflusso
- Crea un flusso attivato da record:
- Object (Oggetto): Case (Caso)
- Trigger the Flow When (Attiva il flusso quando): A record is created or updated (Un record è creato o aggiornato)
- Condition Requirements (Requisiti della condizione): All Conditions Are Met (AND) (Tutte le condizioni sono soddisfatte (AND))
- Condizione: Priority (Priorità ), Equals (Uguale a), High (Alta)
- When to Run the Flow for Updated Records (Quando eseguire il flusso per i record aggiornati): Only when a record is updated to meet the condition requirements (Solo quando un record è aggiornato per soddisfare i requisiti della condizione)
- Optimize the Flow for (Ottimizza il flusso per): Actions and Related Records (Azioni e record correlati)
- Aggiungi un elemento Subflow (Sottoflusso):
- Seleziona il flusso Post to Chatter (Pubblica su Chatter).
- Label (Etichetta):
Post to Chatter
(Pubblica su Chatter) - API Name (Nome API):
Post_to_Chatter
- Abilita il campo postTargetID e seleziona Triggering Case (Caso di attivazione) > Case ID (ID caso).
- Abilita il campo userMentionID e seleziona Triggering Case (Caso di attivazione) > Owner ID (ID titolare).
Accertati di far scorrere l'elenco e di selezionare Owner ID (ID titolare) e non Owner ID (Group) (ID titolare (Gruppo)) o Owner ID (User) (ID titolare (Utente)).
- Salva il flusso. In Flow Label (Etichetta flusso), inserisci
Case Priority is High
(La priorità del caso è alta).
Ora, ogni volta che bisogna modificare la creazione di record, Flo deve aggiornare soltanto un unico flusso secondario. Pigrizia batte Superlavoro 1 a 0!
Aspetti da considerare
Quando lavori con i sottoflussi, tieni presenti i seguenti aspetti.
- L'elemento Sottoflusso può fare riferimento soltanto a flussi AutoLaunched e flussi Schermata.
- In un flusso Schermata è possibile fare riferimento soltanto a un solo altro flusso Schermata.
- Se fai riferimento a un flusso non attivo, solo gli utenti con l'autorizzazione Gestisci flusso potranno eseguirlo.
- Se esistono più versioni di un flusso secondario, il flusso principale ne eseguirà la versione attiva. Se non esiste una versione attiva di un flusso secondario, il flusso principale ne eseguirà la versione più recente.
Risorse