De beloftes die Power Automate doet zijn niet mis. Maar ‘the proof of the pudding is in the eating’ zegt men, dus ik heb de proef op de som genomen. Wat zijn bijvoorbeeld de mogelijkheden in een cloud-based omgeving? En hoe zit het met benodigde licenties? Tijdens een Proof of Concept (POC) dat ik bij één van onze klanten heb uitgevoerd heb ik de mogelijkheden van Power Automate getest en getoetst. In dit blog neem ik je mee in wat mijn ervaringen zijn met deze nieuwe tooling van Microsoft.
Wat is Power Automate en wat heb je er aan? Microsoft zegt het volgende: “Stel iedereen in staat geautomatiseerde processen te bouwen met stromen in Power Automate. Combineer tools met weinig code en functionaliteit voor slepen en neerzetten met kant-en-klare connectoren om eenvoudig repetitieve, alledaagse taken te automatiseren.”
Veelbelovende teksten, maar is het echt zo simpel? Of komt er toch stiekem meer bij kijken?
Robotic Process Automation, ofwel RPA, is het doel van de Microsoft techniek Power Automate. Met RPA maak je het mogelijk om herhalende processen automatisch uit te voeren, zodat de medewerkers tijd hebben voor complexere en meer waardevolle zaken.
Tijdens deze POC is gebruik gemaakt van een combinatie tussen Power Automate web (PA) en Power Automate Desktop (PAD). Welk proces je wilt automatiseren heeft invloed op welke versie je gebruikt. Maar wanneer gebruik je welke versie? Een korte uitleg over de verschillen tussen beide applicaties zal in deze keuze helpen.
Beide applicaties zijn bedoeld om processen te automatiseren volgens de low-code/no-code technologie. Het grote verschil is dat de webapplicatie cloud-based is en vooral werkt met andere cloud-based applicaties door middel van connectoren. De desktop applicatie is desktop-based, deze werkt met desktop én web applicaties. De web applicatie opent bijvoorbeeld documenten via OneDrive, de desktop applicatie opent deze lokaal via de verkenner op je computer of laptop. Het tweede grote verschil, is dat de desktop applicatie beschikt over een recorder functie. Voor het invoeren van RPA is dit een handige functie gebleken.
Om te beginnen met het delen van mijn ervaringen, zal ik een kleine omschrijving geven van één van de te automatiseren processen, een proces wat voor veel ondernemingen misschien wel herkenbaar is. Het betreft het extraheren en verplaatsen van gegevens vanuit een ERP systeem. In dit geval was het ERP systeem van SAP. Om deze casus te automatiseren hebben we gebruik gemaakt van recorderfuncties die beschikbaar zijn via PAD. Bij een recorderfunctie voer je het proces uit wat je wilt automatiseren, de recorder trackt dan alle stappen (klikken, typen, invoeren) en maakt het mogelijk om het proces daarna af te spelen op de User Interface (UI) van de computer.
PAD biedt een web- en desktoprecorder, geschikt voor webapplicaties en desktopapplicaties. In ons praktijkgeval biedt SAP óók een recorder functie binnen het eigen systeem. Deze recorder genereert een script, dat je vervolgens invoert in PAD. Na wat tests met de desktoprecorder van PAD en de eigen recorder van SAP, bleek de SAP-recorder een betere performance qua doorvoersnelheid te hebben binnen de huidige casus. De rest van het proces (opslaan van het document met variabele naam op de juiste locatie) is geautomatiseerd met PA, wat naadloos op elkaar aansloot.
De mindere performance van de PAD recorder functie bleek in meerdere casussen terug te komen. Niet alleen qua doorvoer snelheid, maar ook qua precisie waar geklikt wordt en timing tussen kliks. Ook heeft de recorder functie ‘last’ van bijvoorbeeld het wisselen van schermgrootte of laadtijden van systemen. Laten we stellen dat in 95% van de gevallen het proces herhaaldelijk werkt. Maar bij de overige 5% heeft de recorder af en toe een menselijke hand nodig om bij te stellen. Een truc om de performance van de recorder te verbeteren, is het gebruik van sneltoetscombinaties in plaats van het klikken op knoppen in applicaties. De techniek achter de recorderfunctie, UI-flows, reageert hier in mijn ervaringen beter mee.
In het bovenstaande geval hebben we de recorderfunctie en de techniek van PAD gebruikt om gegevens uit een systeem te halen, maar zijn de functionaliteiten van PAD net zo vaardig dat ze ook gegevens vanuit een document in een systeem kunnen laden?
Dit hebben we getest aan de hand van twee verschillende “invoer processen”. Hieruit bleek dat het mogelijk is om ook hier gebruik te maken van de recorderfunctionaliteit. Het vereist dan wel een sterk gestandaardiseerd proces. Dit houdt bijvoorbeeld in dat het invoeren vanuit een standaard format nodig is, en dat er geen menselijke kennis of besluitneming aan te pas hoeft te komen om het proces uit te voeren.
UI-flows maken het mogelijk om processen te automatiseren op systemen die geen directe API connectie hebben. Een API (Application Programming Interface) kun je zien als de brug tussen twee verschillende systemen. Echter, in sommige gevallen houdt de applicatiebeveiliging dit tegen en is het niet mogelijk om binnen het systeem stappen te recorden. SAP is een voorbeeld van een systeem waarbij je deze beveiliging kunt in- en uitschakelen én die haar eigen recording mogelijkheid aanbiedt, maar is hierin nog redelijk uniek.
Dit klinkt allemaal leuk en aardig, maar wát heb ik nu precies nodig om te beginnen, denk je nu? PA en PAD zitten gratis bij een Microsoft 365 E3 Subscription. Hiermee heb je de basisfunctionaliteiten van de techniek en is het mogelijk om basale processen te automatiseren. Deze processen vallen vaak ook onder het “no-code” gedeelte van de low-code/no-code technologie van Microsoft.
Wanneer je processen ingewikkelder worden, ga je richting het “low-code” gedeelte van de technologie. Hiervoor is enige kennis nodig van coderen en de logica daarachter. Bij een ingewikkelder proces maak je misschien een combinatie tussen PA en PAD, waarvoor een Premium License Per-user plan with attended RPA nodig is. Je zet bijvoorbeeld via PA een timer op een via PAD uitgewerkt proces, zodat je proces iedere 24 uur wordt uitgevoerd.
Ga je nog een stapje verder, dan beweeg je je richting het Unattended RPA vlak. Het verschil tussen Attended en Unattended? Bij Attended staat er iemand “aan het roer” op het moment dat je het proces uitvoert en is er dus iemand op de computer ingelogd die het proces aftrapt. PA voert vervolgens zelf het proces uit. Bij Unattended mag er niémand aan het roer staan op het moment dat het proces wordt uitgevoerd, en logt PA zelf in op je computer, hij bestuurt zelf je computer en voert het proces uit. Is er wel iemand ingelogd, dan loopt het proces mis.
Een heleboel informatie, maar er zijn dan ook een heleboel mogelijkheden met Power Automate. Worstel je met vergelijkbare uitdagingen, of wil je weten of jouw processen te automatiseren zijn? Of heb je een vraag of opmerking over mijn ervaringen met deze tooling? Laat het weten in een reactie of neem contact op via valid.nl, en ik help je graag verder!