Microsoft heeft het afgelopen jaar veel geïnvesteerd in het Power Platform. In het laatste project waar ik bij betrokken was, hebben we geprobeerd om steeds Power Automate te gebruiken waar we eerst maatwerk in de vorm van een plugin of een custom workflow activity gebruikten. Hier vertel ik je graag meer over.
Een voorbeeldscenario waar zulk maatwerk nodig was, is het bijwerken van onderliggende records. Stel bijvoorbeeld dat je wilt dat wanneer een onderneming (account) failliet gaat, het systeem automatisch alle onderliggende verkoopkansen (opportunities) en aanvragen (cases) annuleert.
Het bijwerken van onderliggende records was in eerste instantie niet mogelijk met een gewone workflow (of process) zonder .NET maatwerk-componenten. Maar met de nieuwe Dataverse connector, acties en triggers is dit nu eenvoudig te bouwen.
Hoe bouw je zo’n maatwerk-workflow?
Stap 1.
Ga naar make.powerapps.com selecteer Flows, dan New en dan Automated cloud flow.
Kies als trigger “Microsoft Dataverse - When a row is added, modified or deleted”.
Vul de verdere details in: kies een “Table name” (account), een “Change type” (update), en geef je bij “Column filter” de namen van de velden waar de trigger voor moet afgaan.
Stap 2.
In de volgende stap kies je de records die bijgewerkt moeten worden. Kies “New step” en selecteer de action “Dataverse - List rows”. Kies de “Table name” van de entiteit die je wilt bijwerken, en formuleer het filter voor de data set.
Stap 3.
Het is niet mogelijk om alle records ineens bij te werken: daarvoor moeten ze een voor een doorlopen worden. Dat kan met het Control “Apply to each”.
Stap 4.
Na de Apply to each komt de update. Deze is steeds
gefilterd op het ene row ID dat je wilt bijwerken.
Stap 5.
Sla de flow op, geef hem een duidelijke naam en voer een test uit. Vergeet niet om hem toe te voegen aan een solution!
Conclusie
Met Power Automate kun je veel functionaliteit bouwen waarvoor je eerst .NET-componenten nodig had. Een aantal krachtige mogelijkheden die processen of workflows niet hadden:
- het ophalen en bijwerken van willekeurige datasets
- het definiëren van variabelen van allerlei datatypes, zelfs arrays voor een dataset
- geplande uitvoering, bijvoorbeeld elk uur, elke eerste van de maand etc.
- het definiëren van conditionele lussen zoals “for each” en “do until”
- foutafhandeling
Tips
- Geef alle blokken een duidelijke omschrijving.
- De syntax voor de update van een lookup is nog niet erg gebruiksvriendelijk:
“/” + de naam van de entiteit in de web api + “(“ + guid + “)”.
- Denk na over concurrency control, die kan ingesteld worden waar dat van toepassing is.
- Definieer een foutafhandeling strategie.
Mooie dingen kunnen gebouwd worden met deze Power Automate workflows! Kunnen wij hierbij helpen? Laat het ons weten.
Heb je vragen over dit onderwerp of zou je Jaap willen inhuren voor een vergelijkbare opdracht?