L’area Automation non chiede «come si configura», chiede quale strumento. Lo scenario mette davanti un requisito e quattro soluzioni tutte tecnicamente possibili: vince quella che rispetta il vincolo nascosto nel testo. «Senza un salvataggio in più», «senza far aspettare l’utente», «dopo quattro ore di orario di servizio» non sono contorno: sono la domanda.
Le rule di Setup: quando Flow non c’entra
Quattro famiglie di rule vivono in Setup, agiscono da sole e non passano da Flow Builder.
| Strumento | Quick Find | Cosa fa | Il vincolo che l’esame sfrutta |
|---|---|---|---|
| Case assignment rules | Case Assignment Rules |
Assegna il case a un utente o a una queue in ingresso | Una sola rule attiva: attivarne una disattiva l’altra |
| Lead assignment rules | Lead Assignment Rules |
Stessa meccanica sui lead: territorio, stato, origine | Idem, una sola attiva |
| Escalation rules | Escalation Rules |
Riassegna e notifica quando un case invecchia irrisolto | Si basa sul tempo trascorso, non su un cambio di campo |
| Auto-response rules | Case Auto-Response Rules |
Risposta email automatica al cliente | Parla al cliente, non riassegna nulla |
Tutte condividono la stessa anatomia: la rule contiene rule entry, ognuna con un Sort Order e un blocco di criteri. Le entry si valutano in ordine crescente e la prima che corrisponde vince: la valutazione si ferma lì. È il fatto più redditizio della sezione, perché genera lo scenario dell’entry nuova che «non funziona» pur avendo criteri corretti: un’entry precedente, più larga, la sta intercettando prima.
Nelle escalation rule l’entry porta anche le escalation action, e una sola action combina tre cose. Il tempo, con Age Over in incrementi di 30 minuti e la possibilità di contare solo dentro le business hours. La riassegnazione, con Auto-reassign cases verso un utente oppure una queue. E la notifica, con Notify This User, un Notification Template e la casella Notify Case Owner.
Chi esegue l’automazione
Una domanda ricorrente non chiede cosa fa l’automazione ma in quale contesto utente gira. Per gli scheduled path di un record-triggered flow la risposta non è «l’utente che ha modificato il record»: è l’utente impostato in Process Automation Settings → Default Workflow User, quello che la guida d’esame chiama default automation user. Va definito prima di costruire scheduled path.
Flow e Agentforce
Quando lo scenario chiede di dare a un agente Agentforce la capacità di recuperare o calcolare qualcosa, la risposta passa per un flow, con un vincolo secco: le agent action da flow accettano solo il tipo Autolaunched Flow (No Trigger). Uno screen flow esistente, per quanto funzioni bene come quick action, non si collega a un agente: la logica va ricostruita. Servono inoltre almeno una variabile di input e una di output (Available for input / Available for output), e la Description del flow diventa l’istruzione con cui l’agente decide quando usarlo. L’agent action fotografa input e output una volta sola: se poi cambi le variabili, va ricreata.
I tipi di Flow
| Tipo | Cosa lo avvia | Schermate |
|---|---|---|
| Screen flow | Un utente: pagina, azione, pulsante, utility bar | Sì |
| Record-triggered flow | Creazione, modifica o eliminazione di un record | No |
| Schedule-triggered flow | Una pianificazione a data e ora | No |
| Autolaunched flow (No Trigger) | Qualcos’altro che lo chiama | No |
Su quest’ultimo l’esame insiste, perché «nessun trigger dentro il flow» non vuol dire «non parte mai»: parte quando qualcun altro lo chiama. Le vie da riconoscere sono un pulsante o azione custom su un record, l’elemento Subflow dentro un altro flow (che può richiamare autolaunched flow e screen flow), una agent action, e il richiamo da Apex, Visualforce, Flow Orchestration o API.
Record-triggered: dove mettere la logica
Un record-triggered flow non è un blocco unico. Nella Start si sceglie quando ottimizzarlo, e quella scelta è quasi sempre la risposta della domanda.
| Scelta | Quando gira | Da usare per |
|---|---|---|
Fast Field Update (before save) |
Nella stessa transazione, prima che il record sia scritto | Popolare campi sullo stesso record che ha innescato il flow |
Actions and Related Records (after save) |
Dopo il salvataggio del record che l’ha innescato | Creare o aggiornare altri record, email, post Chatter, subflow |
| Percorso asincrono | Subito dopo il completamento della transazione | Chiamate a sistemi esterni o operazioni lente |
| Scheduled path | In futuro, a un offset da un evento o da un campo data | Promemoria, follow-up, controlli a scadenza |
«Il minore impatto possibile sul database» e «senza un salvataggio aggiuntivo» puntano sempre a Fast Field Update. «Può richiedere diversi secondi» e «appena possibile dopo il salvataggio» puntano al percorso asincrono: non allo scheduled path, che è differito di proposito, né all’after-save sincrono, che allunga la transazione dell’utente. Nell’ordine di esecuzione documentato il before-save precede i trigger Apex before ed è per questo che non può creare altri record.
Quando su uno stesso oggetto e nella stessa fase convivono più record-triggered flow, l’ordine si guarda e si cambia con Flow Trigger Explorer, raggiungibile dall’elemento Start, da Object Manager → Flow Triggers o dalla pagina Flows in Setup. Il pulsante Edit Order permette di trascinare i flow nella sequenza voluta e confermare con Update, senza fonderli in un flow solo.
Screen flow: scelte e distribuzione
Se una schermata deve far scegliere fra record filtrati — i contatti dell’account passato al flow — la risorsa è il Record Choice Set, che porta dentro di sé i criteri di filtro e non richiede un Get Records a monte. Il Collection Choice Set lavora invece su una collection già recuperata da qualcun altro; il Picklist Choice Set pesca dai valori di una picklist esistente; la Choice semplice è un valore scritto a mano.
Distribuire non è pubblicare. Uno screen flow attivo si raggiunge da Lightning page, flow action, utility bar, pagina Experience Builder, componente Lightning custom, Visualforce page, web tab, pulsante o link custom. Ma creare l’azione in Buttons, Links, and Actions con Action Type = Flow non la rende visibile: va trascinata nella sezione Salesforce Mobile and Lightning Experience Actions del page layout, o aggiunta alla record page con le Dynamic Actions. Finché quel passo manca, gli utenti non la trovano pur avendo tutti i permessi.
Quando il flow fallisce
Le email di errore che riportano 0 recipients hanno quasi sempre la stessa causa: un campo lookup vuoto. Un flow su Contact che notifica il proprietario dell’account esplode sui contatti senza account. La cura corretta non è il fault path, che gestisce l’errore dopo, ma l’entry criteria sulla Start: condizione sul lookup con operatore Is Null uguale a False, così il flow non parte nemmeno. Il fault path resta la rete per ciò che non puoi prevedere.
Trappole tipiche d’esame
- La rule entry nuova che «non funziona» ha quasi sempre un’entry precedente che le ruba i record. Le entry si valutano per
Sort Ordere la prima corrispondenza chiude la partita: non guardare i criteri della tua entry, guarda quelle sopra. Stesso meccanismo sull’attivazione: accendere una assignment rule ne spegne un’altra. - «Quattro ore» non è mai quattro ore di orologio se lo scenario nomina la copertura del supporto. È
Age Overcombinato con le business hours — e riassegnazione alla queue più notifica al manager sono una sola escalation action, non due automazioni. - Uno scheduled path non gira come l’utente che ha toccato il record, ma come il
Default Workflow UserdiProcess Automation Settings. I distrattori che parlano di «utente corrente» o di «proprietario del record» sono lì per questo. - Aggiornare un campo dello stesso record vuole
Fast Field Update, non un after-save con un Update Records. Il secondo funziona, ma aggiunge un salvataggio: è così che l’esame lo scarta. - «Diversi secondi» e «sistema esterno» significano percorso asincrono, non scheduled path e non after-save sincrono.
- Un agente Agentforce non può richiamare uno screen flow. Le agent action accettano solo
Autolaunched Flow (No Trigger), con almeno un input e un output: lo screen flow esistente va riscritto, non riusato. - Una flow action creata ma non messa sul layout non esiste per gli utenti. Prima di indagare su profili e permessi, controlla la sezione
Salesforce Mobile and Lightning Experience Actions.