Waarom je subflows zou moeten gebruiken

Behalve bij Record Triggered Flows voor Fast Field Update, kun je in vrijwel elk type flow gebruik maken van subflows. Daarin gebruik maken van subflows heeft veel voordelen.

Subflows zijn meerdere keren inzetbaar

Een van de belangrijkste voordelen van subflows is de mogelijkheid om stukken logica te hergebruiken in meerdere Flows. Door een subflow te maken, kun je een bepaald deelproces isoleren en dat onderdeel maken van verschillende Flows. Hierdoor hoef je dezelfde stappen niet in meerdere flows bij te houden als er wijzigingen nodig zijn. Zo kun je hetzelfde deelproces gebruiken met verschillende record triggers, in Scheduled Flows en zelfs in een Action om de flow handmatig uit te voeren.

Wil je een bepaalde autolaunched flow via een Action kunnen laten uitvoeren, bouw dan een Screen Flow met een input variabele genaamd recordId. Dit hoeft niet een tekstvariabele te zijn die de id van een recoird bevat, maar mag ook een recordvariabele zijn.

Vervolgens plaats je de subflow als enige element in de screenflow en geef je recordId door aan de juiste input variabele van je subflow.

In de Object Manager kun je nu een Action aanmaken voor je Sreen Flow

Flows worden beter leesbaar

Wanneer je een erg grote flow hebt die eigenlijk uit veel deelprocessen bestaat, helpt het voor de leesbaarheid van de flow om deelprocessen die onafhankelijk van de rest (behalve hun input variabelen) kunnen werken. Wanneer je het proces zou gaan uittekenen voor documentatie, is dit ook een gangbare werkwijze.

Laten we het aanmaken van een Werkorder als voorbeeld nemen.

  • De klant moet geselecteerd worden
  • Er moet een contact gekozen worden voor de Werkorder uit de Contacten van deze klant en er moet een mogelijkheid zijn om op dat moment een nieuwe Contactpersoon toe te kunnen voegen.
  • De Asset(s) waarvoor onderhoud nodig is moeten gekozen worden
  • De mee te nemen onderdelen en uit te voeren stappen moeten bepaald worden

De hoofdflow kan deze stappen bevatten in de vorm van een subflow voor elk deelproces. Zo kun je sneller op het juiste deel van een groot proces inzoomen, omdat je in één oogopslag kunt zien waar het gedeelte staat waarop je wilt inzoomen.

Autolaunched Flows zijn gemakkelijker te testen

Als je logica rechtstreeks in een Record Triggered Flow zit, kun je de flow alleen maar testen en debuggen door een bepaalde recordwijziging te simuleren. Het vinden van het veld dat je wilt aanpassen kan even duren en soms zal het veld in kwestie niet eens zichtbaar of bewerkbaar zijn. Hierom kun je de twee beter uit elkaar halen. Door je eigenlijke proceslogica in een Autolaunched Flow onder te brengen, kun je het proces los testen en weet je sneller of een eventueel probleem in de uit te voeren stappen zit of in de trigger.

Als je logica rechtstreeks in een Scheduled Flow zit, kun je niet zelf kiezen met welke record je de logica in de flow debugt. Je kunt de flow Schedulen om precies in de volgende minuut uit te voeren en hem activeren, maar de logica in een subflow onderbrengen en die testen hoe en wanneer je wilt is gewoon gemakkelijker.

In beide gevallen kun je de logica onafhankelijk van de trigger (de gebeurtenis waardoor een Flow Interview start) testen. Als je uiteindelijk de subflow perfect hebt en de Record Triggered Flow of Scheduled Flow mét de subflow erin gaat testen, weet je dat je bij eventuele fouten in de buitenste flow moet zoeken. De Entry Criteria is dan de meest logische plek om naar te kijken.

Conslusie

Door subflows te gebruiken, kun je automatiseringen beter leesbaar, testbaar en herbruikbaar maken, wat leidt tot efficiënter ontwerpen, bouwen en onderhouden van je Flows.