Na mijn ADX211 training heb ik tal van mogelijkheden gezien om Salesforce Flow in te zetten. De keuze die je aan het begin maakt, zodra je kiest voor “New Flow” is bepalend voor de opties en mogelijkheden daarna. Daarom is het noodzakelijk om de verschillende soorten Salesforce Flows te kennen, voordat je start met Flows. Zodra je naar Setup -> Flow gaat, of in het Nederlands Setup -> Stromen en kiest voor “New Flow” krijg je een pop-up met de volgende mogelijkheden:
– Screen Flow
– Schedule-Triggered Flow
– Autolaunched Flow (No Trigger)
– Record-Triggered Flow
– Platform Event—Triggered Flow
– Record-Triggered Orchestration
Hieronder worden de verschillende types beschreven en de toepassingen gemeld, zodat je na het lezen van dit artikel precies weet welke flow je wanneer gebruikt.
Screen Flow
Een screen flow was één van de eerste Flows die beschikbaar waren en heette destijds nog visual workflow. Een screen flow gebruik je als je input nodig hebt van een contactpersoon. Je kunt meerdere schermen oproepen met meerdere keuzemogelijkheden. Op basis van condities kun je schermen wel of niet tonen. Denk bijvoorbeeld aan een supportmedewerker die een klant aan de telefoon heeft en snel en eenvoudig een aantal stappen moet doorlopen. Dit proces kun je met een screen flow opzetten. De schermen kun je gemakkelijk samenstellen met de drag-and-drop editor. Zo kun je componenten als tekstvelden, optievelden, een datum/tijd veld of bijvoorbeeld een e-mail veld eenvoudig naar het scherm slepen om zo een invulformulier te bouwen. In een screen flow kun je ook de header en footer wijzigen waar nodig.
Schedule-Triggered Flow
Zodra er iets op een bepaalt moment (datum en/of tijd) moet gebeuren, gebruik je een Schedule-Triggered Flow. Als datum/tijd wordt de tijdzone van de desbetreffende org gebruikt. Als de flow dus bijvoorbeeld iedere zondag om 22:00 af moet gaan, kijk dan goed of de tijdzone klopt met jouw eigen tijdzone en bereken anders het verschil. Een Schedule-Triggered Flow kan eenmalig gerund worden, dagelijks of wekelijks. Het is niet mogelijk om screens te gebruiken bij dit type en de enige trigger die je hebt is de datum/tijd trigger. Een goed voorbeeld van een Schedule-Triggered Flow is om bijvoorbeeld op een vast moment in de week een e-mail naar een user te sturen.
Autolaunched Flow (No Trigger)
Een Autolaunched Flow wordt vaak gebruikt met APEX of een REST API. APEX kan een Autolaunched Flow oproepen en er data instoppen en er vervolgens weer data uithalen. Het is met dit type flow dus niet mogelijk om user input op te halen. Hoewel de term “Autolaunched” in de titel staat, wil niet zeggen dat dit het enige flow-type is die automatisch gerund kan worden. Sterker nog, de meeste typen flows zijn autolaunched. Alleen een screen flow heeft input van de user nodig en is dus niet autolaunched. De Autolaunched Flow (No Trigger) heeft ook een overeenkomst met een Screen Flow, namelijk dat er geen trigger nodig is om de flow te runnen. Hij runt, zodra deze aangeroepen wordt door een ander proces.
Record-Triggered Flow
Eén van de bekendste flow-type is toch wel de Record-Triggered Flow. Zoals de naam al doet vermoeden heeft dit type een trigger nodig om te starten. Deze trigger geef je zelf op bij het aanmaken van de flow, maar hij kan bijvoorbeeld afgaan bij het wijzigen van een bepaalt veld of record. Deze flow heeft geen user input nodig, zoals bij een screen flow. Een Record-Triggered Flow is wel autolaunced wat wil zeggen dat deze geen user input nodig heeft om af te gaan. Deze draait op de achtergrond, totdat de trigger geactiveerd wordt. Bij dit type flow kun je ook nog instellen of de trigger af moet gaan, voordat het record opgeslagen wordt (Before-Save) of nadat het record opgeslagen wordt (After-Save). Check de Salesforce order of execution voor meer informatie hierover.
Platform Event—Triggered Flow
Om te weten wanneer een Platform Event—Triggered Flow afgaat is het eerst handig om te weten wat verstaan wordt onder een platform event. Een platform event is een real-time trigger van een app en dit kan zowel in Salesforce zelf zijn als een app buiten Salesforce. Een platform event communiceert via de zogenaamde message bus en wordt getriggerd, zodra er een push (event message) komt vanuit de (externe) app. Deze flow runt in de achtergrond net zoals bij een Record-Triggered Flow of een Autolaunched Flow (No Trigger).
Record-Triggered Orchestration
De Record-Triggered Orchestration is de nieuwste Flow variant van Salesforce. Deze variant bestaat sinds de winter 2022 editie en dit flow type herkent zich in 3 woorden: multi-user, multi-step en multi-stage. Zo kun je meerdere processen routeren naar meerdere (verschillende) personen op verschillende momenten in de flow. Deze flow heeft ook een losse positie in de setup gekregen (Flow Orchestrator). Zodra je kiest voor dit type flow zie je in de toolbox zowel steps als stages terugkomen. Met een “Step” kun je de flow of flows kiezen die je wilt runnen en een “Stage” bevat één of meerdere steps. Een stage kan gezien worden als een groepering steps die tegelijkertijd uitgevoerd worden.
Alle flows in één overzicht
Ben je halverwege toch de weg kwijtgeraakt? Geen paniek! Hieronder wordt in een schematische weergave eenvoudig weergegeven welke flow je wanneer moet gebruiken: