Für PowerAutomate gibt es mittlerweile unzählige Konnektoren und Möglichkeiten. Eine für uns nicht unwichtige und mit Sicherheit viel genutzte Aktion gibt es mit den Standardmitteln jedoch leider nicht: Das Ändern eines Gruppenbilds für ein Team in Microsoft Teams bzw. Office 365 Gruppen.
Per Graph-API und benutzerdefinierten Konnektoren können wir diese Aktion jedoch selbst bauen.
Am Ende erreichen wir folgendes Ziel
Wir haben eine eigene Aktion, mit der wir mittels GroupID und Base64-Image das Bild abändern können.


Voraussetzungen
Bevor wir loslegen, müssen ein paar Dinge beachtet werden, die technisch bedingt durch die API limitiert sind.
– Die API funktioniert nur im User-Kontext.
– Der User, der die Connection ausführt, muss demnach Owner der gewünschten Gruppe sein.
– Die Schnittstelle nimmt das Bild nur im Base64-Format an.
– Das Bild muss daher als String übergeben werden.
– Über Base64 Image Encoder (base64-image.de) können JPEGs, PNGs, etc. umgewandelt werden. Muss das Bild dynamisch übergeben werden, gibt es genügend Tutorials im Netz, die zeigen, wie man Bilder mit Bordmitteln umwandeln kann (Stichwort Expressions).
– Die Bilder dürfen NICHT größer als 4MB sein (werden Bilder dynamisch übergeben, sollte das vorher abgefangen werden).
Außerdem benötigt man Zugriff bzw. die nötigen Rechte um im Azure AD eine App registrieren zu können (anderenfalls schlägt die Authentifizierung fehlt).
Hier noch einmal der grobe Ablauf:
1. Anlage/Berechtigung der Applikation im Azure AD.
2. Anlage des benutzerdefinierten Connectors (In PowerAutomate / Flow).
3. Verwendung der Aktion im Worfklow selbst.
Anlage der Applikation im Azure AD
Aufruf des Azure Active Directory

Unter dem Menüpunkt „App-Registrierung“, klicke auf „Neue Registrierung“.

Hier kann ein beliebiger Namen ausgewählt werden, außerdem sollte die Umleitungs-URL unten auf „https://global.consent.azure-apim.net/redirect“ stehen.

Anschließend erstellen wir unter dem Punkt „Zertifikate & Geheimnisse“ einen geheimen Client Secret.
Achtung: Nach Ablauf der einstellbaren Ablaufzeit funktioniert der Zugriff nicht mehr. Es müsste dann ein neuer Clientschlüssel erstellt werden.

Der hierbei erscheinende Wert (siehe Screenshot -> rote Markierung) muss gespeichert werden, da er zu einem späteren Zeitpunkt noch benötigt wird.


Wähle „Microsoft Graph“:

Hier selektieren wir „Delegierte Berechtigungen“, suchen nach „group“ und wählen „Group.ReadWrite.All“ aus. Anschließend kann die Berechtigung gespeichert werden.




Die Vorbereitungen von Azure-Seiten sind nun alle getroffen. Als nächstes legen wir den Konnektor in PowerAutomate an.
Anlage des benutzerdefinierten Konnektors (in PowerAutomate / Flow)
Login unter „https://flow.microsoft.com/“. Navigiere unter „Daten“ zu den „Benutzerdefinierten Connectors“.





Identitätsanbieter | Azure Active Directory |
Client ID | Von der erstellten Applikation gespeichert |
Client secret | Von der erstellten Applikation gespeichert |
Authorization URL | “https://login.windows.net” |
Tenant ID | “Common” |
Resource URL | “https://graph.microsoft.com” |
Bereich | „https://graph.microsoft.com/.default„ |


Wähle PUT und füge folgende Werte ein.
URL | https://graph.microsoft.com/v1.0/groups/{GroupID}/photo/$value |
Header | Content-Type Image/jpeg |
Text | { |
Bestätige mit „Importieren“










Auswahl der erstellen Aktion im Worfklow. Diese steht (in jedem Flow) unter „Benutzerdefiniert“ zur Auswahl bereit.



Viel Spaß damit!