I Orlando, Florida för två veckor sedan stod jag på scenen och pratade på Power Platform Summit 2019 som anordnas av Dynamics användarförening. Min session med rubriken ”What’s Wrong With my Flow” lyfte några vanliga fel som man kan stöta på i Flows. Ett vanligt fel är att skapa ett Flow som körs alldeles för mycket vilket tar slut på era körningar den månaden. Jag kommer inte gå in på licensieringen, men hör gärna av er om ni undrar vad som gäller.
Alla Flows består av minst en trigger och en action.
Det är triggern som avgör när Flowet ska köras. Vanliga triggers är till exempel när ett e-postmeddelande landar i en gemensam brevlåda eller när en aktivitet skapas i Dynamics. Vi håller oss till exemplet när en aktivitet skapas i Dynamics. Det ser ut ungefär såhär.
Flowet fortsätter med att hämta användaren som står som ägare.
För att sedan kolla om det är jag som är ägaren.
Om det inte är jag som är ägaren vill jag att Flowet ska sluta där. Men vi har ändå fått ta bort 1 körning från vår Flow-budget och om man har många användare kan det vara många körningar som går åt till detta.
Trigger Conditions
Som tur är så finns det ett sätt att lösa problemet på. Vi ska använda något som kallas för Trigger Conditions som är tillgängligt för alla triggers och inte bara den vi använder i exemplet. Trigger Conditions låter oss att, innan vi ens kör igång Flowet, utvärdera en logisk fråga. Vi är begränsade av dynamiska värden i triggern. Här hittar man Trigger Conditions.
När jag klickar på Add och skriver
@equals(triggerBody()?[’_ownerid_value’],’7b34b1de-7c11-4cfb-89c6-3673011550f2’)
Så kommer endast Flowet köra då ägaren är jag. Det är inte lika lättförståeligt som:
Men det betyder samma sak. Eftersom vi i Trigger Conditions bara får använda dynamiska värden från triggern måste vi göra så här. Om du undrar hur du hittar den långa siffertextsträngen som även kallas GUID kan du gå in på en föregående körning i listan av Flowets körningar och kolla här:
_ownerid_value = 7b34b1de-7c11-4cfb-89c6-3673011550f2 = Martin Burman
Vi kan i ett annat exempel tänka oss att vi i en Triggering Condition utvärderar om statusen är aktiv eller inaktiv på någon post. Eller om ett fält innehåller data eller är tomt.
Att skriva ett Triggering Condition-uttryck är inte helt enkelt, men prova gärna själva. Det språk som man skriver i kallas för Workflow Definition Language och du kan läsa mer på Microsofts hemsida här. Fråga oss gärna om hjälp.
Om vi nu har följt stegen ovan har vi ett Flow som bara triggas då det är jag som är ägaren och vi har sparat på massa Flow-körningar.