1. Introduktion #
Det kan være svært at beskrive hvad et cloud flow er, da der findes uendeligt mange ting man kan lave med disse. Som udgangspunkt kan man se dem, som værende rygraden til alt automatisering i Power Automate. Alt automatisering i Power Automate styres med et cloud flow, ligegyldigt om det kun rører ved eksempelvis O365-pakken eller med RPA via unattended kørsel af Desktop flows.
Der findes meget funktionalitet til at arbejde imellem O365-apps, det bliver dog ikke beskrevet i dette afsnit, da der kun kigges på RPA-delen.
2. Cloud flow template til desktop flow #
Man skal bruge et cloud flow til at køre desktop flows unattended. Alternativt kan man køre dem attended. Det kræver dog at man selv logger på en maskine, åbner Power Automate Desktop, og starter sit desktop flow hver gang. Nedenstående gennemgår hvordan man laver et Scheduled cloud flow, som aktiverer på specifikke tidspunkter automatisk. Det kan være en ide at lave en Instant cloud flow der ligner, da man også kan have processer som kræver en manuel start ind imellem.
Under My Flows – New Flow vælg Scheduled cloud flow.
Kald den noget fornuftigt, og bare så en repeat til en gang om året. Dette ændrer vi senere på de enkelte processer, så det passer.
Tryk på New step, og søg en Initialize variable frem og indsæt. Udfyld denne som vist, højreklik på den, Rename og kald den var boolSuccess. Vi bruger denne til exception handling senere.
New step og søg Scope frem. Inde I denne indsæt en Run a flow built with Power Automate for desktop, hvilken brugers til at køre processer. Udfyld denne med et tomt desktop flow eventuelt, og run mode som Unattanded, flowet kan ikke gemmes til slut ellers. Ydereligere indsættes en Set variable hvor vores tidligere sættes til true under expression. Rename denne eventuelt til Try – Run Desktop Flow.
Indsæt et nyt Scope, og rename denne eventuelt til Catch – Error Handling. Tryk på de 3 prikker, og vælg Configure run after.
Da denne kun skal køre, i tilfælde af vores proces fejler i kørslen, sætter vi flueben som vist. Hvis procesen ikke fejler, springer den automatisk denne del af flowet over.
Hvis processen fejler, kan man i dette scope vælge hvad der så skal ske. Måske den bare skal køre igen, sende en mail til procesejer og RPA-ansvarlig m.m. I dette tilfælde sender den en Teams chat besked til RPA-ansvarlige Teams-gruppe, og informere om at processen er fejlet, og hvor. Som tidligere refere vi markeret I lilla til navnet på vores Run Desktop action, og herefter hiver vi processen error message ud.
Beskederne i Teams-kanalen kan se således ud. Bruger man mere end en robot, kommer beskeden fra den robot som har kørt processen.
Til sidst indsættes et Scope mere, i denne laves en condition, som tjekker om vores proces kørte eller ej. Ud fra dette kan man vælge hvad der skal ske i begge tilfælde. Det vil igen være op til hvordan man vil styre det, hvad der umiddelbart skal ske, og man kan ændre det fra proces til proces.
Herefter laves endnu en configure run after på det nye scope, så denne altid kører ligegyldigt hvad.
Til slut har vi noget lignende dette, tryk på Gem, og vent til følgende besked kommer øverst.
Tilbage i My flows – Cloud flows kan vi trykke på prikkerne, og vælge Turn off, hvilket betyder at flowet ikke starter og kører på det valgte skema. Da dette er en template, er det en god ide.
Af hensyn til bugs, virker det ikke altid at lave en Save As af templaten, da disse ikke altid kan ses i Solutions når man prøver at tilføje dem. Det er nemmere at lave et nyt Cloud flow direkte i sin solution, og så kopiere delene fra templaten over. Det er nemmest at have to vinduer åben, en med sin template og en med det nye cloud flow.
Under New – Automation – Cloud flow vælg den pågældende der er behov for.
Åbn templaten i et andet vindue, og ud fra hver del vi vil kopiere, klikker vi på de tre prikker og herefter Copy to my clipboard (Preview).
Tilbage i vores nye cloud flow, tryk på New step, og under My clipboard findes de dele vi tidligere kopierede.
Har man konfigureret en Run-After lignende eksemplet, bliver dette ikke kopieret over, og det skal laves igen.