Cloud Atelier

Pubblicato il 7 settembre 2026 · 6 min di lettura

Flow o Apex? Quando l'automazione Salesforce ha bisogno di codice

Una guida pratica alla decisione: cosa fa bene Flow, dove si rompe e quando Apex è lo strumento giusto. Con esempi.

Salesforce offre due modi per automatizzare: Flow, lo strumento dichiarativo, e Apex, il linguaggio di programmazione. La guida ufficiale dice "clicks before code", e ha ragione la maggior parte delle volte. Ma "la maggior parte" non è "sempre", e sbagliare in una direzione o nell'altra costa caro. Questa è la guida alla decisione che uso sui progetti reali.

Flow o Apex: il confronto in una tabella

La versione breve, prima dei dettagli: scegli Flow quando la regola deve poterla cambiare chi non sviluppa, Apex quando volumi, complessità o gestione degli errori renderebbero fragile un Flow.

  • Chi può modificarlo dopo

    Flow: Un admin, dall'interfaccia di Setup

    Apex: Uno sviluppatore, con un deploy

  • Volumi massivi

    Flow: Bene fino a volumi moderati, rallenta sui lotti grandi

    Apex: Nato per il massivo: migliaia di record per transazione

  • Logiche complesse o ramificate

    Flow: Diventa illeggibile oltre la dozzina di elementi

    Apex: Leggibile e riutilizzabile, se scritto bene

  • Chiamate a sistemi esterni

    Flow: Possibili, con gestione degli errori limitata

    Apex: Controllo completo su retry, timeout ed errori

  • Test automatici

    Flow: Assenti: gli scenari vanno provati a mano

    Apex: Obbligatori, e proteggono dalle regressioni per anni

  • Tempo per la prima versione

    Flow: Ore

    Apex: Giorni

  • Costo di manutenzione

    Flow: Basso finché resta semplice, alto quando cresce

    Apex: Prevedibile, a patto che i test ci siano

  • Quando conviene

    Flow: Processi di business che cambiano spesso

    Apex: Regole che devono essere corrette su larga scala

Cosa fa bene Flow

Logica scatenata da un record su un singolo oggetto: aggiornare campi, creare record collegati, inviare email e notifiche, pubblicare su Chatter.

Schermate guidate per gli utenti: procedure passo passo, inserimento dati con validazione, richieste di approvazione.

Job schedulati con logica semplice: aggiornamenti notturni, promemoria, cambi di stato.

Orchestrazione di pezzi esistenti: chiamare azioni invocabili, sottoflussi e servizi esterni semplici.

Flow è visibile agli admin, cambia in fretta e non richiede una pipeline di deploy per le piccole modifiche. Quando la logica sta in un canvas leggibile, Flow è la risposta giusta.

Dove Flow si rompe

Logica complessa: condizioni annidate, cicli dentro cicli, molti oggetti toccati nella stessa transazione. Il canvas diventa illeggibile e non testabile.

Grandi volumi di dati: Flow ha limiti propri ed è più difficile da bulkificare correttamente; l'elaborazione batch di centinaia di migliaia di record appartiene ad Apex.

Ordine di esecuzione: quando più flow e trigger scattano sullo stesso oggetto, il debug diventa un indovinello. Un unico trigger handler con un ordine esplicito è più facile da ragionare.

Gestione errori e retry: i percorsi di errore esistono, ma logiche di ritentativo sofisticate, log e rollback parziali sono molto più puliti nel codice.

Riuso e test: Flow non ha test unitari. Apex sì, e Salesforce impone il 75 per cento di copertura per una ragione.

Quando Apex è lo strumento giusto

Logica di business che deve essere affidabile, testata e versionata: motori di prezzo, regole di assegnazione, validazioni complesse tra oggetti.

Integrazioni con sistemi esterni che richiedono autenticazione, retry, paginazione o trasformazione dei payload.

Elaborazioni batch e asincrone ad alto volume.

Interfacce custom con Lightning Web Components che hanno bisogno di logica lato server.

Tutto ciò che un admin non dovrebbe poter cambiare per sbaglio.

Una regola semplice

Se l'automazione si spiega in una frase e tocca un oggetto, usa Flow. Se serve un diagramma per spiegarla, coinvolge più oggetti o un sistema esterno, o deve essere testata, usa Apex, e lascia a Flow il ruolo di strato sottile che lo richiama. Combinare bene i due è una competenza: tieni i trigger in un unico framework, tieni i flow piccoli e documenta chi governa ogni oggetto.

Non sai quale ti serve?

Descrivi l'automazione che hai in mente e entro un giorno lavorativo sai se è un Flow, un job Apex o un po' di entrambi, con un preventivo a prezzo fisso in ogni caso.

Punti chiave

  • "Clicks before code" ha ragione quasi sempre, e costa caro nelle volte restanti.
  • Si passa ad Apex quando i volumi sono alti, la logica è ramificata o serve gestione degli errori sui callout.
  • Mai spezzare la stessa regola di business tra un Flow e un trigger: un solo proprietario per oggetto.
  • Apex porta con sé i test, Flow no: i Flow complessi vanno documentati con i loro scenari di prova.

Servizi collegati

Ti serve la stessa cosa nella tua org?

Descrivi cosa ti serve e ricevi un preventivo scritto entro un giorno lavorativo.

Richiedi un preventivo

Scritto da

Leonardo Marchitelli

Fondatore

Fondatore di Cloud Atelier, studio di consulenza informatica con base a Roma.

Dal blog

Richiedi un preventivo