Automatiseren met Salesforce Flow
Automatisering is een van de krachtigste functies van Salesforce. Met Flow kun je handmatige taken vervangen door slimme processen die vanzelf lopen. Denk aan het versturen van meldingen, het bijwerken van records of het aanmaken van taken - allemaal zonder handmatig ingrijpen.
Wat betekent automatisering in Salesforce?
Automatisering in Salesforce draait om het verminderen van handmatig werk door processen automatisch te laten verlopen. In plaats van dat een medewerker handmatig een e-mail verstuurt, een veld bijwerkt of een taak aanmaakt, doet Salesforce dit automatisch op basis van regels die jij instelt.
💡 Een vergelijking
Flow werkt als verkeerslichten voor data. Net zoals verkeerslichten verkeer regelen op basis van vaste regels (groen = doorrijden, rood = stoppen), zo regelt Flow wat er gebeurt met je data op basis van voorwaarden die je instelt.
Wat is Salesforce Flow?
Salesforce Flow is de moderne standaard voor automatisering binnen Salesforce. Het is een krachtige tool waarmee je complexe bedrijfsprocessen kunt bouwen zonder code te schrijven. Met een visuele interface sleep je elementen in elkaar en bepaal je hoe data door je systeem stroomt.
Een Flow bestaat uit verschillende stappen die na elkaar worden uitgevoerd. Elke stap kan data ophalen, wijzigen, beslissingen nemen of interactie hebben met gebruikers. Deze stappen vormen samen een proces dat automatisch wordt uitgevoerd wanneer bepaalde voorwaarden zijn vervuld.
Soorten Flows
Record-Triggered Flow
Start automatisch wanneer een record wordt aangemaakt, bijgewerkt of verwijderd. Ideaal voor automatische acties na wijzigingen.
Screen Flow
Toont schermen aan gebruikers om gegevens in te voeren of keuzes te maken. Perfect voor begeleide processen.
Scheduled Flow
Draait op vaste tijdstippen, bijvoorbeeld elke nacht of maandelijks. Handig voor terugkerende batch-updates.
Autolaunched Flow
Wordt aangeroepen vanuit andere processen, zoals Apex of een andere Flow. Gebruikt voor herbruikbare logica.
Voorbeeld: Website Lead Aanvraag (Screen Flow)
Hieronder zie je een voorbeeld van hoe een Screen Flow eruitziet in de Salesforce Flow Builder. Deze flow verwerkt een website-aanvraag: van het invullen van een formulier tot het aanmaken van een Lead en het versturen van een notificatie.
Website Lead Aanvraag
Screen Flow • Actief
Screen Flow
Start
Contactformulier
Screen
Valideer Invoer
Decision
Zoek Bestaande Lead
Get Records
Maak Lead Aan
Create Records
Verstuur Notificatie
Apex Action
Bevestiging
Screen
Wanneer gebruik je Flow?
Salesforce heeft meerdere automatiseringstools gehad door de jaren heen. Process Builder en Workflow Rules werden eerder veel gebruikt, maar Salesforce raadt nu aan om Flow te gebruiken voor alle nieuwe automatiseringen. Flow is krachtiger, flexibeler en krijgt alle nieuwe functionaliteiten.
⚠️ Let op: Process Builder en Workflow Rules
Hoewel Process Builder en Workflow Rules nog steeds werken, adviseert Salesforce om nieuwe automatisering altijd in Flow te bouwen. Bestaande processen kun je geleidelijk migreren naar Flow.
Wanneer kies je voor Flow?
Flow is geschikt wanneer je:
- ✓Acties wilt uitvoeren wanneer een record wordt aangemaakt of gewijzigd
- ✓Complexe logica nodig hebt met meerdere voorwaarden en beslissingen
- ✓Gerelateerde records wilt ophalen of bijwerken
- ✓Gebruikers wilt begeleiden door een proces met schermen en keuzes
- ✓Terugkerende taken wilt automatiseren op vaste tijdstippen
De belangrijkste Flow-elementen
Een Flow bouw je op uit verschillende elementen. Elk element heeft een specifieke functie. Hieronder leggen we de meest gebruikte elementen uit.
Get Records (Gegevens ophalen)
Met dit element haal je bestaande records op uit je database. Je stelt voorwaarden in om te bepalen welke records je wilt ophalen, bijvoorbeeld "alle Opportunities met status 'Open' en eigenaar is huidige gebruiker".
Praktisch voorbeeld
Je wilt alle openstaande taken ophalen van een Account wanneer de status van dat Account wijzigt naar "Inactief".
Get Records: Haal taken op waar
- Account = huidige Account
- Status = 'Open'
- Vervolgens: sluit alle opgehaalde takenCreate Records (Records aanmaken)
Hiermee maak je nieuwe records aan. Dit kan een enkel record zijn of meerdere records tegelijk. Je bepaalt welke velden je wilt invullen met vaste waarden of met informatie uit andere delen van je Flow.
Praktisch voorbeeld
Wanneer een Opportunity de fase "Closed Won" bereikt, maak dan automatisch een Project-record aan met de gegevens van die Opportunity.
Create Record: Project met
- Naam = Opportunity.Naam
- Account = Opportunity.Account
- Startdatum = Vandaag
- Eigenaar = Opportunity.EigenaarDecision (Beslissingen)
Het Decision-element is het hart van je logica. Hiermee splits je de Flow in verschillende paden op basis van voorwaarden. Denk aan "als dit waar is, doe dan dat, anders doe iets anders".
Praktisch voorbeeld
Wanneer een Case wordt aangemaakt, bepaal dan op basis van urgentie welke actie je uitvoert.
Decision: Check urgentie
Pad 1: Als Priority = 'High'
→ Wijs toe aan senior support medewerker
→ Verstuur directe melding
Pad 2: Als Priority = 'Medium' of 'Low'
→ Wijs toe aan support queue
→ Verstuur standaard meldingUpdate Records (Records bijwerken)
Dit element gebruik je om bestaande records aan te passen. Je kunt het record dat de Flow heeft gestart bijwerken, of records die je eerder met Get Records hebt opgehaald.
Praktisch voorbeeld
Update het Account-record wanneer een gekoppelde Opportunity wordt gewonnen, door het veld "Laatste winstdatum" bij te werken.
Update Record: Account met
- Laatste_Winstdatum__c = Vandaag
- Totaal_Omzet__c = huidige waarde + Opportunity.BedragAssignment (Variabelen instellen)
Met Assignment kun je waarden opslaan in variabelen die je later in de Flow gebruikt. Dit is handig voor berekeningen of om informatie tijdelijk vast te houden.
Praktisch voorbeeld
Tel het aantal gewonnen Opportunities op en sla dit getal op om later te gebruiken in een e-mailnotificatie.
Assignment:
- Variabele: TotaalAantalOpportunities
- Actie: Tel op met 1
- Gebruik later in: E-mail bericht ("U heeft nu TotaalAantalOpportunities gewonnen deals")Loop (Herhalen van acties)
Een Loop doorloopt een verzameling records één voor één en voert voor elk record dezelfde acties uit. Dit is essentieel wanneer je meerdere gerelateerde records wilt verwerken.
Praktisch voorbeeld
Loop door alle contactpersonen van een Account en update hun voorkeurstaal wanneer de taal van het Account wijzigt.
Loop: Door alle Contacts van het Account
- Voor elk Contact:
Update Contact.Voorkeurstaal = Account.Taal
- Ga door tot alle Contacts zijn verwerktApex Action (geavanceerde logica)
Soms kom je met Flow alleen niet verder — bijvoorbeeld wanneer je complexe berekeningen, API-koppelingen of logica met meerdere objecten nodig hebt. In dat geval gebruik je een Apex Action. Dit is een stukje code (Apex Class) dat je vanuit Flow kunt aanroepen om specifieke handelingen uit te voeren die in Flow zelf niet mogelijk zijn.
Praktisch voorbeeld
Stel dat je via een externe API klantgegevens wilt ophalen of een leaseprijs wilt berekenen met meerdere parameters. Zo’n berekening kun je laten uitvoeren in Apex en vervolgens via een “Apex Action” gebruiken in je Flow. Je geeft de benodigde invoerwaarden (bijv. klantId of voertuigType) mee, en ontvangt het resultaat als variabele terug.
Voorbeeld: je gebruikt een fictieve Apex-class die een maandprijs berekent. In je Flow voeg je het element Apex Action toe, selecteert de betreffende class, vult de invoervelden in en slaat het resultaat op in een Flow-variabele.
Gratis voorbeeld: AddressSplit Apex
Wil je een concreet en veilig voorbeeld zien? Bekijk onze gratis AddressSplit Apex die straat, huisnummer en toevoeging netjes splitst.
Download de AddressSplit ApexWanneer gebruik je Apex of Flow?
Twijfel je of je iets in Flow moet bouwen of met Apex moet oplossen? In dit artikel leggen we het helder uit.
Lees het artikelSubflow (hergebruik van logica)
Soms gebruik je dezelfde automatiseringsstap in meerdere flows. In plaats van die logica overal te kopiëren, maak je één autolaunched flow en roep je die aan als subflow. Zo blijft je org overzichtelijk en hoef je wijzigingen maar op één plek te doen.
Praktisch voorbeeld
Hergebruik een welkomstprocedure na het aanmaken of bijwerken van een Account.
1) Maak autolaunched flow "Welkomstprocedure Account":
- Haal Account op o.b.v. meegegeven Id
- Maak taak aan voor de eigenaar
- (Optioneel) Verstuur e-mail
2) In je record-triggered flow op Account: voeg element "Subflow" toe
3) Geef Account Id mee als input
4) Wijzigingen? Pas alleen de subflow aan (bijv. taak na 5 i.p.v. 3 dagen)- minder dubbele logica in je org
- makkelijker onderhoud
- flows blijven korter en beter leesbaar
- één plek voor foutafhandeling of logging
Screen (Interactie met gebruikers)
Screen-elementen toon je aan gebruikers om informatie te verzamelen of keuzes te laten maken. Dit is alleen beschikbaar in Screen Flows en is perfect voor begeleide processen.
Praktisch voorbeeld
Toon een scherm aan de verkoper om extra informatie in te voeren voordat een Opportunity wordt omgezet naar een Project.
Screen: "Project details"
- Veld: Gewenste startdatum (datum)
- Veld: Projecttype (keuzemenu)
- Veld: Bijzonderheden (tekstveld)
→ Gebruik deze waarden om het Project aan te makenPraktisch voorbeeld: Status update met notificatie
Laten we een concreet voorbeeld uitwerken: wanneer de status van een Opportunity wijzigt naar "Closed Won", willen we de eigenaar van het gerelateerde Account een melding sturen én een veld op het Account bijwerken.
Stap-voor-stap uitwerking
Start de Flow
Trigger: Record-Triggered Flow op Opportunity
Wanneer: Record is bijgewerkt
Voorwaarde: StageName verandert naar "Closed Won"
Haal het Account op
Get Records: Haal het Account op waar Id = Opportunity.AccountId
Opslaan als: variabele "GerelateerdAccount"
Check of Account bestaat
Decision: Is GerelateerdAccount niet leeg?
→ Ja: Ga verder met de volgende stappen
→ Nee: Stop de Flow (veiligheidsmaatregel)
Update het Account
Update Records: GerelateerdAccount
Veld bijwerken: Laatste_Opportunity_Gewonnen__c = VANDAAG()
Veld bijwerken: Aantal_Gewonnen_Deals__c = huidige waarde + 1
Verstuur notificatie
Action: Verstuur e-mail
Naar: GerelateerdAccount.OwnerId
Onderwerp: "Nieuwe gewonnen deal bij " + GerelateerdAccount.Name
Bericht: "Gefeliciteerd! De opportunity [Naam] is gewonnen met een waarde van [Bedrag]."
💡 De logica uitgelegd
Als StageName van Opportunity wijzigt naar "Closed Won",
Dan haal het gerelateerde Account op,
En update twee velden op dat Account,
En verstuur een e-mail naar de Account eigenaar.
Best Practices voor Flow
Om je Flows overzichtelijk, betrouwbaar en onderhoudbaar te houden, zijn er een aantal belangrijke richtlijnen.
1. Gebruik duidelijke namen
Geef je Flow, variabelen en elementen herkenbare namen die direct duidelijk maken wat ze doen.
Goed: "Account - Notificatie bij gewonnen Opportunity"
Goed: "varAccountEigenaar", "getGerelateerdeContacts"
Slecht: "Flow1", "var1", "Get Records 3"2. Test met Debug
Gebruik de Debug-functie om je Flow stap voor stap te testen voordat je hem activeert. Zo zie je precies welke waarden waar doorheen lopen.
In de Flow Builder: klik op "Debug" rechtsboven
→ Vul testwaarden in
→ Bekijk de uitvoer van elk element
→ Controleer of alles werkt zoals verwacht
3. Bescherm tegen lege waarden
Controleer altijd of velden of records bestaan voordat je ze gebruikt. Een lege waarde (null) kan je Flow laten crashen.
Gebruik een Decision element om te checken:
- Is variabele niet leeg? → Ga verder
- Is variabele leeg? → Stop of gebruik standaardwaarde
Voorbeeld: Check of Account.Owner niet null is voordat je een e-mail verstuurt4. Gebruik Subflows voor herbruikbare logica
Wanneer je dezelfde logica in meerdere Flows gebruikt, bouw dan een Subflow (Autolaunched Flow) die je kunt aanroepen. Dit maakt onderhoud makkelijker.
Voorbeeld: Subflow "Verstuur welkomstmail"
- Input: Contact Id
- Actie: Haal Contact op, haal template op, verstuur e-mail
- Output: Succes (true/false)
Deze Subflow kun je aanroepen vanuit meerdere Flows die een welkomstmail moeten versturen5. Documenteer je Flow
Voeg een beschrijving toe aan je Flow en gebruik het beschrijvingsveld bij belangrijke elementen. Dit helpt collega's (en je toekomstige zelf) om te begrijpen wat de Flow doet.
Flow beschrijving: "Deze Flow werkt wanneer een Opportunity wordt gewonnen. Hij update het gerelateerde Account en verstuurt een notificatie naar de Account eigenaar."
6. Let op governor limits
Salesforce heeft limieten aan het aantal acties dat een Flow mag uitvoeren. Vermijd acties binnen loops en gebruik "bulkified" updates waar mogelijk.
Slecht: Loop door 100 Contacts en update elk Contact apart (100 updates)
Goed: Loop door 100 Contacts, verzamel ze in een collection, en update de hele collection in één keer (1 update)Veelvoorkomende automatiseringsscenario's
Hier zijn enkele praktijkvoorbeelden van wanneer Flow een oplossing biedt:
Lead-toewijzing
Automatisch nieuwe Leads toewijzen aan de juiste verkoper op basis van regio, producttype of leadbron.
Case-escalatie
Wanneer een Case te lang openstaat, escaleer dan automatisch naar een manager en update de prioriteit.
Contractverlenging
Wanneer een Contract bijna afloopt, maak automatisch een taak aan voor de accountmanager om contact op te nemen.
Opportunity-goedkeuring
Bij grote deals automatisch een goedkeuringsproces starten waarbij een manager akkoord moet geven.
Data-synchronisatie
Wanneer een veld op Account wijzigt, update dan automatisch hetzelfde veld op alle gerelateerde Contacts.
Onboarding-proces
Bij een nieuwe klant automatisch een checklist met taken aanmaken voor verschillende afdelingen.
Conclusie
Salesforce Flow is een krachtig hulpmiddel om handmatige processen te automatiseren en je team efficiënter te laten werken. Door processen slim te automatiseren bespaar je tijd, verminder je fouten en zorg je voor consistentie in je werkwijze.
Begin klein met eenvoudige automatiseringen, zoals het versturen van een notificatie of het bijwerken van een veld. Naarmate je meer ervaring opdoet, kun je complexere processen bouwen met loops, beslissingen en subflows.
Volgende stappen
Wil je meer leren over Salesforce? Bekijk ook ons artikel over standaard- en custom objecten, of neem contact met ons op voor advies over automatisering binnen jouw organisatie.
Bekijk alle artikelen →Wil je je Flow-landschap opschonen of uitbreiden?
We ontwerpen schaalbare Flows, richten governance in en bepalen samen waar Apex of integraties nodig zijn.
