SharePoint-Liste als E-Mail-Übersicht mit Personen-Feldern (und OData meistern) 

Im Alltag, ins besondere in Projekten, sind Lists (oder Sharepoint-Listen) nicht mehr wegzudenken.
Der Klassiker sind hierbei sicherlich Listen um Arbeitselemente oder Themen zuordnen und Reports zu erstellen…

Hierbei ist es natürlich schön und praktisch, wenn man in einer Liste nicht nur den Namen einträgt sondern wir den Feldtyp „Person oder Gruppe“ verwenden.

Nun erstellen wir uns mit Hilfe von Power Automate eine einfache Wöchentlichen-Übersicht und senden uns unsere Liste als E-Mail.
Hierbei bietet sich die Funktion HTML-Tabelle absolut an, da dies eine moderne und ansprechende Übersicht erstellt, die wir dann per E-Mail versenden können.

Die Feldzuweisung bei „Create HTML Table“ ist dabei absolut zugänglich und für Jeden der sich mit Power Automate beschäftigt, sollte die Bedienung hier absolut kein Problem darstellen.
Auch Felder mit einer Mehrfachauswahl wie unser Status-Feld können wir auswählen.

Wichtig! Wir wählen hier aber nicht Status sondern „Status Value„, damit wir die Tatsächliche Auswahl bekommen.

Aber bei unseren Feld vom Typ „Person oder Gruppe“ haben wir es nun mit einem MultiValue-Objekt zu tun.

Was dann sehr unansehnlich in unsere HTML-Tabelle gekippt wird, was dann (bei mehreren Personen entsprechend mehrfach) wie folgt aussieht.

[{"@odata.type":"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser","Claims":"i:0#.f
|membership|klaus.meier@contoso.com",
"DisplayName":"Klaus Meier","Email":"klaus.meier@contoso.com",
"Picture":"https://contoso.sharepoint.com/sites/SPO-Liste/_layouts/15/UserPhoto.aspx?
Size=L&AccountName=klaus.meier@contoso.com","Department":null,"JobTitle":null}]

Das wollen wir nicht und lassen aber natürlich nicht entmutigen 🙂
Wichtig! Es macht sinn sich an dieser Stelle schon einmal mit Expressions in Power Automate beschäftigt zu haben!
Ich halte es aber nicht für unmöglich, mit dem folgenden Bild und Code, hier eure ersten Erfahrungen in diesem Bereich zu machen und dies trotzdem zu meistern…

Als Background, wir verwenden hier die Expression join()
Ein Join wird in Programmiersprachen meistens zum Zusammenführen von Zeichenketten verwendet.
Was wir ebenfalls tun, wir holen uns aus dem OData/XML-Objekt die Werte die wir benötigen, was in unserem Fall die E-Mail-Adressen sind.

Das Ganze sieht dann, wie folgt aus…

join(xpath(xml(json(concat('{"body":{"value":', item()?['Verantwortlicher'], '}}'))), '/body/value/Email/text()'), ', ')

Ihr könnt den Text/“die Expression“ so auch 1:1 bei euch übernehmen und müsst lediglich eure Feldbezeichnung austauschen.

Hier mein Ergebnis.

Ihr könnt auf diesem Wege auch den Displayname oder Picture der Personen in euren Power Automate Flows verwenden.

Ich wünsche Spaß und Erfolg beim CitizenDevelopment 😉

 

 

Other news

Zurück
Zurück

Planner E-Mail-Report mit Aufgaben gruppiert nach Bucket

Weiter
Weiter

Use Graph Directory Schema Extensions for Microsoft Teams Governance