Automatisches Einrichten von Teams mit Power Automate

Die automatische Konfiguration von Teams spart nicht nur Zeit, sondern hilft beim einheitlichen Einsatz von Teams in der Firma.

Nicht alle Mitarbeitenden sind mit den Best Practices für die Nutzung von Teams vertraut. Durch die Automatisierung vermeiden sie Chaos mit unnötigen OneNote Notizbüchern, Plänen oder mit dem eher unbeliebten Teams-Wiki. Mit Power Automate verfügen sie bereits über das notwendige Werkzeug zur Automatisierung der Teams Erstellung und Einrichtung.

Das Resultat

Für all diejenigen, welche nur am Endergebnis interessiert sind, habe ich die Lösung in einem kurzen Video zusammengefasst:

Über eine in Teams integrierte Power App, können die Mitarbeitenden standardisierte Teams für Kundenprojekte erstellen:

neue Teams Ablage erstellen

Ein Power Automate Flow führt die Erstellung und Einrichtung aus und informiert, sobald der neue Arbeitsraum bereit und eingerichtet ist. Die Tabs werden anhand von Vorlagen (Ordnerstruktur, OneNote Template, etc.) konfiguriert:

automatische Konfiguration der Teams-Register

In diesem Beispiel führt der Flow folgende Aktionen aus:

  • Teams erstellen (inkl. Namenskonvention sicherstellen)
  • Ordner in interner SharePoint Ablage erstellen
  • Ordnerstruktur und Vorlagen kopieren
  • Wiki Tab entfernen
  • Tab zur Anzeige der internen Dokumente hinzufügen
  • OneNote Notizbuch als Tab hinzufügen
  • Mehrere Pläne in Planner erstellen und als Tabs hinzufügen
  • Benutzer berechtigen

Umsetzung der Lösung

Die Teams Provisioning Lösung nutzt ausschliesslich Standard-Komponenten der Microsoft 365 Plattform. In Zentrum steht dabei Power Automate Flow. Die nachfolgende Skizze zeigt eine Übersicht der Lösungsarchitektur:

Architektur Teams Provisioning mit Power Automate

Ein grosser Vorteil dieses Lösungsansatzes ist die Flexibilität und die Anpassungsmöglichkeiten. Der Flow kann jederzeit an weitere Bedürfnisse angepasst werden.

Lizenzen und die SharePoint Liste

Wie so oft bei Lösungen in welchen auch SharePoint involviert ist, startet alles mit einer SharePoint Liste. Die SharePoint Liste dient in dieser Lösung lediglich dazu, den Flow zu starten. Hintergrund ist dabei nicht zuletzt auch die Lizenzthematik von Flow. Dadurch dass Benutzer*innen nicht direkt den Flow starten, sondern lediglich einen Eintrag in einer SharePoint Liste hinzufügen, wird nur für den Flow Erstellenden eine «Premium»-Lizenz benötigt (ein Flow Pro-Benutzer-Plan kostet ca. 14.80 CHF pro Monat)

Antragsliste für die Teamserstellung

Die Liste für die Kunden-Teamsanträge enthält nur das Titelfeld, welches in «Kunde» umbenannt wurde. In der Teams-Kanal-Antragsliste gibt es nebst dem Titelfeld «Kanal» zusätzlich ein Lookup-Feld auf die Kunden Teams Liste. Die beiden Listen triggern die Flows «Teams Provisioning» und «Channel Provisioning».

Power Automate Flows

Die Flows sind das Kernstück der Lösung und automatisieren den gesamten Erstellungsprozess. Die groben Schritte sind nachfolgende dargestellt:

Power Automate Flows

Nicht alle notwendigen Aktionen stehen hierzu einfach in Power Automate zur Verfügung. Der Flow nutzt deshalb das Microsoft Graph API, um verschiedene Konfigurationsschritte über Web Service Aufrufe durchzuführen.

Microsoft stellt eine sehr gute Schritt-für-Schritt Anleitung zur Verfügung, welche zeigt wie eine benutzerdefinierte Verbindung zum Graph API eingerichtet werden kann: Create a Microsoft Graph JSON Batch Custom Connector for Power Automate - Microsoft Graph.

Über das Graph Batch API können mehrere Aktionen in einem einzigen Aufruf gebündelt werden. So braucht z.B. die Erstellung von 3 Plänen im Planner nur einen einzigen Aufruf:

Batch API in Flow nutzen

Genau so können sie auch alle gewünschten Tabs über einen einzigen Aufruf einrichten.

Die Nutzung des API’s mag etwas abschreckend wirken. Aber mit Hilfe des Graph Explorers von Microsoft (Graph Explorer – Microsoft Graph) lassen sich auch diese Aufrufe mehr oder weniger zusammenklicken.

Um zum Beispiel herauszufinden, wie ein bestimmter Typ von Tab eingerichtet wird, zeigt man im Graph Explorer die Tabs eines konfigurierten bestehenden Teams an (GET tabs in a channel):

Graph Explorer

Power App für Teams

Mit einer optionalen Power App kann die Erstellung eines neuen Teams zusätzlich vereinfacht werden. Die Power App kann firmenweit ins Teams integriert und verteilt werden indem sie eine Teams Einrichtungsrichtline (Manage app setup policies in Microsoft Teams – Microsoft Teams) erstellen.

Über die Power App können sie den Benutzer*innen zusätzliche Hilfestellung anbieten (Hinweise zum Ausfüllen, eine Hilfeseite, Statusmeldungen etc.) oder z.B. auch die Eingaben validieren.

Die Power App ist simpel gehalten und nutzt direkt die beiden zuvor erstellten SharePoint Listen, welche als Formular in die App eingebunden werden:

Power Apps für Teams Provisioning

Das Formular kann durch den Button mit einer Formel abgesendet werden. Mehr braucht es nicht, um einen Eintrag in die SharePoint Liste zu speichern:

SubmitForm(FormNewCustomer);;Navigate(ScreenSuccessTeam;Cover)

Der zweite Befehl öffnet den Dialog, welcher die Benutzerin informiert, dass ihr Team nun eingerichtet wird:

Bestätigungsdialog

In einer Hilfeseite werden zusätzliche Hinweise angezeigt und direkt auch die Links für die Administratoren verpackt:

Hilfedialog

So wird z.B. die Vorlage-Ordnerstruktur unter Administration verlinkt. Der Link zeigt auf die Bibliothek, welche die zu erstellenden Ordner und Dokumente als Vorlage enthält:

Vorlagen Ordner

Diese Vorlage kann auch ohne Kenntnisse von Power Automate Flow durch berechtigte Mitarbeitende angepasst werden. Auch das OneNote kann entsprechend vorkonfiguriert werden (z.B. Abschnitte, Vorlagen etc.). Das OneNote wird beim Kopieren umbenannt in «Kunde-Notizbuch».

Fazit

Eine Automatisierung mittels Flow nimmt nicht nur wiederholende Konfigurationsarbeiten ab, sondern trägt auch erheblich zu einer standardisierten Teams Nutzung bei. Noch sind die direkt von Flow zur Verfügung gestellten Teams-Aktionen eingeschränkt. Mit dem Aufruf von API’s aus Flow, können die fehlenden Aktionen jedoch in den Prozess integriert werden. Die Implementation auf der Power Apps Low-Code Plattform bietet die notwendige Flexibilität, um Prozesse den stetig ändernden Bedürfnissen anzupassen.