AUTOMATISERING · 12 min lezen

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

Debug ActiefRun: 00D5g00000ABC123

Screen Flow

Start

Contactformulier

Screen

{!voornaam}="Jan"
{!achternaam}="de Vries"
{!email}="jan@bedrijf.nl"
{!bedrijfsnaam}="Acme B.V."

Valideer Invoer

Decision

{!isEmailValid}=true
{!hasRequiredFields}=true
Gegevens Geldig
Default Outcome
→ Terug naar formulier

Zoek Bestaande Lead

Get Records

{!bestaandeLead}=null
Filter=Email = {!email}

Maak Lead Aan

Create Records

{!nieuweLead.Id}="00Q5g000009ABC"
{!nieuweLead.Status}="Open - Not Contacted"
{!nieuweLead.LeadSource}="Website"
1 record created • 1 DML statement

Verstuur Notificatie

Apex Action

Class=LeadNotificationService
{!notificatieVerstuurd}=true
SOQL: 1/100 • CPU: 12ms • Heap: 2KB

Bevestiging

Screen

Display="Bedankt voor uw aanvraag!"
Flow Voltooid
Status: Succesvol
DML: 1/150
SOQL: 1/100
CPU: 12ms
Uitgevoerd: 2 seconden geleden

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 taken

Create 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.Eigenaar

Decision (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 melding

Update 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.Bedrag

Assignment (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 verwerkt

Apex 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 Apex

Wanneer 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 artikel

Subflow (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 maken

Praktisch 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

1

Start de Flow

Trigger: Record-Triggered Flow op Opportunity
Wanneer: Record is bijgewerkt
Voorwaarde: StageName verandert naar "Closed Won"

2

Haal het Account op

Get Records: Haal het Account op waar Id = Opportunity.AccountId
Opslaan als: variabele "GerelateerdAccount"

3

Check of Account bestaat

Decision: Is GerelateerdAccount niet leeg?
→ Ja: Ga verder met de volgende stappen
→ Nee: Stop de Flow (veiligheidsmaatregel)

4

Update het Account

Update Records: GerelateerdAccount
Veld bijwerken: Laatste_Opportunity_Gewonnen__c = VANDAAG()
Veld bijwerken: Aantal_Gewonnen_Deals__c = huidige waarde + 1

5

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 verstuurt

4. 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 versturen

5. 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.