coolzero
Goto Top

Microsoft Power Automate Fragen

Hallo,
ich beschäftige mich im Moment etwas intensiver mit Power Automate und habe dazu ein paar Frage/Probleme die ich aktuell nicht gelöst bekomme.

  • In Power Automate abfragen ob aus einem Forms Formular ein Anhang mit gesendet wurde oder nicht um darauf dann reagieren zu können.
  • In Power Automate eine tägliche übersicht über die erledigten Planner aufgaben mit der Info wer diese Aufgaben erledigt hat.
  • In Power Automate je nach Priorität der Planner Aufgabe unterschiedlich reagieren, z.b. Prio = Hoch tägliche Email Nachricht, Prio Niedrieg, 1x Wöchentliche Email erinnerung usw.

Würde mich freuen wenn ihr ein paar Tips für mich da hättet.

Danke
MFG

Content-ID: 3267263130

Url: https://administrator.de/contentid/3267263130

Ausgedruckt am: 22.11.2024 um 01:11 Uhr

zaphod88
zaphod88 06.07.2022 um 19:24:32 Uhr
Goto Top
Moin!

Ad 1:
forms


Ad 2 - hier müsstest Du dann noch in Richtung
item()?['completedDateTime']  

filtern.
planner completed



Ad 3:
planner prio2



Wenn was unklar ist, nur fragen. face-smile
Coolzero
Coolzero 07.07.2022 aktualisiert um 14:13:13 Uhr
Goto Top
Hi,
vielen Dank für die Anregungen, Punkt 1 hat auch auf anhieb funktioniert, bei Punkt 2 hänge ich aber, ich hab es bis jetzt so gemacht, allerdings scheint mir das nicht ganz richtig zu sein, kannst du das vielleicht noch etwas erklären.

bild_2022-07-07_133909355

Dazu kommt noch, das ich keinen Zugriff auf Azure habe, ich müsste die User Informationen aus Office /Outlook holen, also so ungefähr
bild_2022-07-07_133709424

und was meinst du hiermit?
item()?['completedDateTime']  
, an welcher Stelle müsste ich das nochmalen?

oder wie müßte ich vorgehen?

Zu Punkt 3, was ist der Braune Balken "Priorität niedrig"?
Ich hab es ansonsten versucht so anzulegen wie auf deinem Screenshot, bekomme aber beim Speichern eine Fehlermeldung:
bild_2022-07-07_141227682
item()?['priority']  
length(body('Filter_array'))  
dayofWeek(utcNow())



PS, gibt es irgendwelche guten Bücher zu dem ganzen Thema, bzw. ist das alles JSON Code? Machte es sinn sich damit zu beschäftigen wenn ich mich mehr mit Power Automate beschäftigen will?

Danke

MFG
zaphod88
zaphod88 07.07.2022 aktualisiert um 18:27:28 Uhr
Goto Top
  • Alles, was nicht als dynamischer Inhalt angegeben ist, muss in das "Expression"-Feld, also z.B. auch der items()-Part aus Deinem ersten Screenshot:

expression

  • In das "Array filtern" auf Screenshot Nr. 2 muss (da ist ein "equals()" zuviel)

complete filter

  • Hinter das erste "Array filtern" muss ein zweites - geht zwar auch in einem Step, ist aber umständlich zu warten. In "Von" muss dann der Body (dt. Körper, glaub ich) aus dem ersten Filter:

filter completed

Zur Erklärung: Hier werden zwei Daten voneinander abgezogen - das von jetzt und das Datum, zu dem das jeweilige Objekt im Planner als "fertig" markiert wurde. Um die Daten voneinander abzuziehen, müssen sie vorher in Ticks umgewandelt werden (Zehnmillionstel einer Sekunde). Das Ergebnis wird dann durch 10.000.000 (= Sekunden) und 3.600 (= Stunden) geteilt. Im Array bleiben dann also nur die Objekte, deren Markierung als "fertig" länger als 24 Stunden her ist. Aber Achtung - bleibt immer noch ein Array, auch wenn nur ein Objekt dabei ist. Um damit weiterzuarbeiten, brauchst Du also ein "Auf alle anwenden". Das fügt Power Automate für die Array-Filterung nicht automatisch ein, muss man selbst machen.

  • Hast Du das mit dem AzureAD ausprobiert? Lesenden Zugriff sollten doch eigentlich alle User aus dem Tenant haben - sonst könntest Du Dich ja z.B. auch an keinem AzureAD-gejointen Rechner anmelden. Das Problem ist, dass der Planner nur einen displayName (war bei mir aber null) und eine Azure-ID für den User zurückgibt, der das ganze als fertig markiert hat. Ich wüsste sonst keinen Weg, über die ID an den User ranzukommen.

  • Der braune Balken ist ein Scope, dt. Bereich. Das sind Container, in die Du andere Schritte reinziehen kannst. Ich nutze die für die Übersicht im Flow ganz gerne. Ist ansonsten auch ganz hilfreich für die Ablaufsteuerung, weil man so einfacher festlegen kann, dass ein Schritt auch dann ausgeführt wird, wenn der vorherige fehlschlägt z.B.

  • Mach mal aus dem
    length(body('Filter_array'))  
    ein
    length(body('Array_filtern'))  
    . Das nimmt - da es eine manuell eingegebene Expression ist - Bezug auf den Schritt, der bei Dir eben nicht "Filter_array", sondern "Array_filtern" heißt. Ich nutze Power Automate auf Englisch, daher heißt es anders.

  • Ja, das ist alles JSON. Du kannst Dir den Code für die einzelnen Aktionen auch anzeigen lassen über die drei Punkte. Bücher dazu kenn ich selbst keine - das Powerusers-Forum von MS ist dazu aber sehr hilfreich. Ich würde Dir raten - mach ein bisschen Learning by Doing. Schiefgehen kann ja nicht viel.
Coolzero
Coolzero 13.07.2022 aktualisiert um 09:51:52 Uhr
Goto Top
Hi, vielen Dank für die Ausführliche beschreibung, aber irgendwie bekomme ich es nicht hin, du hattest zum Punkt 2. ja geschrieben das in meinem ersten "Array Filter" ein equal zu viel wäre, das hab ich jetzt so angepasst:
bild_2022-07-13_092426019
Sollte dann hoffentlich so richtig sein, dann hast du geschrieben das ich ein zweites "Array Filtern" brauche und dort dann bei "Von" "Körper bzw. Body" auswählen muss, aber beides wird mir nicht angeboten.
bild_2022-07-13_092634078
Was mache ich an der stelle falsch?
Bei "Verfassen" hab ich dann das in items eingetragen
items('Applay_to_Each')?['completedby/user/id']  
bild_2022-07-13_092807003

Zu AzureAD, ja da kann ich mich im PowerAutomate nicht anmelden, wenn ich über die Azure Seite direkt gehe, dann klappt es, bekomme da angezeigt das die App nicht freigeschaltet wäre...
Meine Alternative idee wäre es über Office abzufragen, so mache ich es in einem anderen Flow auch, das ich aus den Aufgabendetails (diese beinhalten die User ID als erstes Checklisten Element) die abrufe und dann über Office die Emailadresse abfrage)
outputs(‚Aufgabendetails_abrufen‘)?[‚body/checklist‘][‚value‘][‚title‘]
bild_2022-07-13_095145666


Hab bei Punkt 3 noch nicht geguckt, würde erstmal versuchen Punkt 2 zu lösen.
zaphod88
zaphod88 13.07.2022 um 19:04:02 Uhr
Goto Top
Schreib in das von Feld einfach die Expression

body('Array_filtern')   

rein. Ich denke, es müsste "Text" sein, aber bin mir nicht sicher. Die Übersetzungen sind etwas blöde. Wenn Du dort "Text" einfügst und dann mit der Maus über den eingefügten Button hoverst, siehst Du auch die Expression dahinter.

Dein "Verfassen" muss noch in ein "Auf alle anwenden", daher der Hinweis oben - ist ja ein Array. Dort packst Du in das "Von"-Feld dann eben

body('Array_filtern_2')   

"Benutzerprofil abrufen" funktioniert tatsächlich auch mit der Azure-ID, habe ich auch gesehen. Das könntest Du dann also benutzen.

Der Flow auf Deinem letzten Screenshot funktioniert aber so auch nicht, oder? Selbst wenn, heißt das ja im Zweifelsfall, dass der Ersteller der Aufgabe für jede erledigte Aufgabe ne einzelne Mail bekommt. Das kann ja auch ziemlich nerven. Hier mal mein Vorschlag: Da würde dann jeder Nutzer, der eine der Aufgaben im entsprechenden Plan erstellt hat, eine regelmäßige Info-Mail bekommen, welcher Benutzer welche der von ihm erstellten Aufgaben fertiggestellt hat - das ganze dann aber nur einmal mit einer HTML-Tabelle als Übersicht in der Mail.

flow1

flow2

flow3

Schaus Dir mal an und sag, wenn Du dazu Fragen hast.
Coolzero
Coolzero 14.07.2022 um 09:02:49 Uhr
Goto Top
Hi, also irgendwie stell ich mich blöd an, hab es dann jetzt mal so gemacht:
bild_2022-07-14_084243288
bild_2022-07-14_084318319
items('Apply_to_each')?['completedBy/user/id']  
Beim Versuch zu Speichern bekomme ich aber dann diese Fehlermeldung
Fehler beim Speichern des Flows. Code: InvalidTemplate, Meldung: "Fehler bei der Vorlagenüberprüfung: Die Wiederholungsaktionen "Apply_to_each", auf die in Aktion "Verfassen" durch "inputs" verwiesen wird, sind in der Vorlage nicht definiert..".  
bild_2022-07-14_084456151

Vielleicht nochmal grade zur grundsätzlichen idee dieses Flows, es soll eine Tägliche Übersicht an einen definierten Email Empfänger geben wo alle erldigten Aufgaben des jeweiligen Tage aufgeführt sind mit der Angabe welcher User diese erledigt hat, das in einer kleinen HTML Tabelle hätte natürlich viel Charm.
Coolzero
Coolzero 17.07.2022, aktualisiert am 18.07.2022 um 08:13:25 Uhr
Goto Top
Hi, leider finde ich meinen Fehler nicht, kannst du
Zitat von @zaphod88:

Schreib in das von Feld einfach die Expression

Schaus Dir mal an und sag, wenn Du dazu Fragen hast.

Hi, leider finde ich meinen Fehler nicht, kannst Du mir bitte den Weg nochmal genau beschreiben. Danke
Coolzero
Coolzero 22.07.2022 um 09:10:51 Uhr
Goto Top
Hi,
ich ab es jetzt hoch und runter versucht, leider bekomme ich es nicht gelöst, vielleicht kann mir einer noch einen Tip geben.

Danke