PowerAutomate: User-Input via Mobile Abfragen

PowerAutomate: User-Input via Mobile Abfragen: Mit Power Automate (ehm. Microsoft Flow) – Microsofts hauseigener “Low-Code” Plattform kannst du ganz einfach Business Prozesse digitalisieren und automatisieren. Wie der Name schon sagt, brauchst du dazu nicht einmal Programmierkenntnisse. Das schränkt die Nutzerbasis von Power Automate nicht nur auf die IT-Abteilung ein, sondern auch du kannst einen Flow erstellen! 

Überlege dir nur was du erreichen möchtest und welche Cloud-Dienste dazu brauchst. Wenn du das einmal hast, musst du nur noch einen Trigger (Bedingung) und die korrekte Reihenfolge definieren. 

Die Plattform bietet von Haus aus sehr viele Funktionen und Anbindungen an verschiedenste Cloud-Dienste. Dennoch gibt es einige Limitationen. Neulich hat uns ein Kunde die folgende Anforderung gestellt: Zu einem bestimmten Punkt im Flow soll der Benutzer eine Eingabe machen.

Um was geht es konkret?

Stell dir vor, du hast in der Buchhaltung ein Multifunktionsgerät mit integriertem Scanner. Nun scannen deine Mitarbeiter fleissig Dokumente ein. Diese sollen auf OneDrive gespeichert sein. Ein Jahr später suchst du eine bestimmte Rechnung. Du findest Sie nicht, weil in diesem Order hunderte von Dokumenten mit dem Namen “Scan-xxx.pdf” existieren. Kommt dir das bekannt vor? Genau so ging es jedenfalls unserem Kunden.

Flows eignen sich perfekt, um Dateien auf OneDrive zu manipulieren. Du kannst damit eine Datei umbenennen, verschieben, kopieren usw. Wie kannst du Flow dazu bringen dich während der Ausführung nach einem Dateinamen zu fragen? Geht das überhaupt?

Diese Frage habe ich mir auch gestellt. Als erstes habe ich mir alle Methoden zur Abfrage von Benutzereingaben angesehen. Damit du siehst wo man Power Automate einsetzen kann, stelle ich dir die möglichen Optionen kurz vor.

Option 1: Flow Button mit Eingabe am Anfang

Die einfachste Variante, wie du einen Benutzer nach einer Eingabe fragen kannst, ist die Erstellung eines „Buttons“. Flow Buttons erscheinen in der Mobile App von Power Automate. Mit Knopfdruck startet man manuell den Flow. Ein Button kann verschiedene Eingabefelder wie Text oder Zahlen enthalten. Mit dieser Methode kannst du beispielsweise eine Zeiterfassung realisieren. Die Werte, welche du so erfasst, kannst du von Flow in eine Excel Tabelle schreiben lassen. In meinem Fall soll der Flow aber automatisch laufen. Deshalb habe ich diese Option schnell wieder verworfen.

PowerAutomate: User-Input via Mobile abfragen

Eingaben beim Button können z.B. in eine Excel oder SharePoint Liste geschrieben werden.

 

Option 2: Approvals mit Kommentar

Eine andere Möglichkeit ist einen Genehmigungs-Prozess zu starten. Genehmigungen bieten sich dann an, wenn du basierend auf der Eingabe (Genehmigung oder Ablehnung) eine andere Aktion im Flow ausführen lassen möchtest. Optional bietet dir diese Methode auch ein Kommentarfeld, in welchem du einen Grund für die Genehmigung oder Ablehnung in Form eines Textfeldes mitgeben kannst. Auch diese Art von Benutzereingabe eignet sich leider nicht für mein Vorhaben. Deshalb habe ich auch einen ApprovalProzess nicht in Erwägung gezogen. 

PowerAutomate: User-Input via Mobile abfragen

Bei einer Genehmigung oder Ablehnung können optional Kommentare erfasst werden.

 

Option 3: E-Mail mit Optionen

Die dritte und Letzte Methode, welche du nutzen kannst, um Benutzereingaben während eines Flows abzurufen, sind E-Mails mit Optionen. Dabei sendet Flow eine E-Mail mit einer Auswahl an Links. Die Links werden in Form von Buttons dargestellt. Wird einer dieser Buttons angeklickt, wird die Auswahl von Power Automate registriert. Diese Methode bietet dir im Vergleich zu Option 2 den Vorteil, dass mehr Optionen als nur «Genehmigen» oder «Ablehnen» zur Verfügung stehen. Wenn es nur darum ginge, gescannte Dokumente zu klassifizieren, wäre dies eine tolle Lösung. Aber auch hier gibt es keine Möglichkeit zur Eingabe eines Freitextes. Meine Anforderung ist also immer noch nicht erfüllt. 

 

PowerAutomate: User-Input via Mobile abfragen

Im Beispiel werden die Optionen zur Klassifizierung von gescannten Dokumenten verwendet.

 

Option 4: Mussten wir zuerst erfinden: PowerAutomate: User-Input via Mobile abfragen

Ich habe noch nicht aufgegeben. Mit etwas Kreativität bin ich schlussendlich auf eine passable Lösung gekommen. Als Fan von Automatisierungen ist mir Siri Kurzbefehle (engl. Siri Shortcuts) kein Fremdwort. Die Siri Shortcuts sind eine Art lokale Flows welche direkt auf dem iPhone erstellt und ausgeführt werden. Das Prinzip dabei ist dasselbe wie bei Cloud-Flows. Sobald eine Bedingung erfüllt ist, wird eine Aktion ausgeführt. 

Grafische Darstellung des Ablaufs

So wirds gemacht PowerAutomate: User-Input via Mobile Abfragen

Schritt 1 – Trigger: Neue Datei auf OneDrive

Der erste Flow wird ausgelöst, sobald der Scanner eine Datei auf OneDrive abspeichert. Danach schickt dir er Flow eine E-Mail in dein Postfach. Als Betreff wird die eindeutige ID der Datei mitgeschickt. Warum du dies so machen musst, sehen wir gleich im nächsten Schritt. 

New File Trigger

Der Flow prüft auf neue Dateien und schickt den Identifier der neuen Datei per E-Mail.

Schritt 2 – Siri Shortcut Automation

Auf dem iPhone erstellst du nun eine Automation. Diese willst du immer dann ausführen, wenn du eine neue E-Mail von Power Apps erhältst. Im Kurzbefehl definierst du anschliessend die Variabel “FileIdentifier” welche mit dem Betreff der empfangenen Nachricht abgefüllt wird. Die zweite Variabel “Text” musst du auf “Jedes Mal nachfragen” setzen. Du möchtest ja bei jeder Datei einen individuellen Namen angeben können.  

 

Siri Shortcut

Die Automation in den Siri Kurzbefehlen wird immer dann ausgeführt, wenn eine E-Mail erhalten wird.

So sieht es aus auf deinem iPhone aus. Du wirst aufgefordert die gescannte Datei zu benennen. Nach dem Ausführen der Push Meldung kannst du einen Dateinamen eingeben. Sobald du auf “Fertig” getippt hast wird deine Eingabe wieder per E-Mail übermittelt. Der File Identifier wird ebenfalls wieder mitgeschickt. Dadurch weiss Power Automate dann auch welche Datei umbenannt werden muss. 

 

Siri Shortcut Ausführen

Der Benutzer kann den gewünschten Dateinamen ganz einfach in sein Smart Phone eintippen oder sprechen.

 

Schritt 3 – Trigger: Neue Email in Ordner

Der zweite Flow wird ausgeführt, sobald eine Antwort-E-Mail von Siri erhalten wurde. Flow ruft dann die entsprechende Datei von OneDrive ab und benennt diese gemäss deiner Eingabe um. Damit deine Mailbox aufgeräumt bleibt werden zum Schluss beide E-Mails automatisch gelöscht. Diese sind nur Mittel zum Zweck. 

Et Voilà. Schon hast du einen Flow welcher Freitext-Eingaben und sogar Spracheingaben über dein Handy akzeptiert.  

Power Automate Low-Code Auszug

Mit dem übermittelten Dateinamen wird eine Variable initialisiert.

Datei umbenennen

Die Flow Variable DefinedFileName enthält nun den benutzerdefinierten Text.

 

Fazit

Es hat Spass gemacht das Projekt umzusetzen. Trotzdem sehe ich darin eher ein “Proof of Concept” als eine vollwertige Lösung. Siri Kurzbefehle können nicht zentral verwaltet werden was eine Skallierung ausser Frage setllt.

Das vorgestellte Beispiel ist nur eine von vielen Möglichkeiten. Der Abfragemechanismus lässt sich auch für alle anderen Zwecke einsetzen, bei welchen die drei Optionen „Button“, „Approval“ oder „E-Mail“ mit Optionen ungeeignet sind. 

In Online-Foren habe ich einige Beiträge zu diesem Thema gefunden. Deshalb haben wir uns dazu entschieden unsere Erkenntnisse mit euch zu teilen. Hoffentlich hilft unser Workaround auch dir weiter. 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

User Manager PowerApp mit Power Automate

User Manager PowerApp

Eigenschaften eines Benutzers (Attribute) werden in Azure Active Directory (Azure AD) üblicherweise durch IT-Administratoren bearbeitet. Möchte ein HR-Mitarbeitender eigenständig Benutzer (Attribute) anpassen, also ohne Hilfe der IT und ohne Administratorenrechte, kommt die User Manager PowerAppsins Spiel. Der User Manager ist eine von TwinCap First erstellte App, basierend auf PowerApps. Berechtigte Mitarbeiter können ohne Administrationsrechte, definierte Azure AD Benutzerattribute, selbständig bearbeiten. Das klingt komplizierter als es tatsächlich ist.

User Manager

Mit PowerApps stellen wir ein GUI zur Verfügung, welches dem HR-Mitarbeiter erlaubt die Attribute sämtlicher Azure AD User-Objekte anzupassen. In diesem Beitrag zeigen wir dir, wie die App aufgebaut ist.

Suchfunktion

Die User Manager PowerApp verfügt über eine Suchfunktion, welche in der Azure AD die passenden Objekte (Benutzer) sucht. Diese werden anschliessend, in diesem Fall auf 15 Einträge limitiert, in einer Liste dargestellt.

 

PowerApps User Manager Searchbar

Objekt Attribute

Wird ein Objekt ausgewählt, wird die zugehörige Information geladen und dargestellt. Dies sind in die zwei Kategorien Job Info und Contact Info. Mit einem Klick auf den edit-Button wird die entsprechende Kategorie zur Bearbeitung freigeschaltet.

PowerApps User Manager Attribute Overview

Zu den Attributen, die der Mitarbeitende bearbeiten kann, gehören:

  • Job Titel
  • Department
  • Manager
  • Office
  • Street
  • ZIP
  • City
  • State
  • Country
  • Mobile Phone

 

Wurden die entsprechenden Attribute bearbeitet, wird mit Update Properties der ganze Hintergrundprozess zur Editierung gestartet.

HINTERGRUNDPROZESS

Der Mitarbeiter triggert einen Flow in Power Automate, der die Daten entgegennimmt, verarbeitet und mittels HTTP-Request an einen neuen Flow weitergibt. Dieser prüft erst die Authentifizierung und wenn diese erfolgreich verlaufen ist, werden die Daten weiterverarbeitet. Diese Informationen werden anschliessend mittels Graph API in der Azure AD in das entsprechende User-Objekt geschrieben. Ebenfalls kümmert sich der Flow noch um das Manager-Attribut, falls bei dem etwas geändert werden muss.

PowerApps User Manager Saving

Ist der Prozess erfolgreich durchgelaufen, wird dem Benutzer dies mittels Erfolgsmeldung bestätigt.

PowerApps User Manager Success

Im Anschluss daran kann er auswählen, ob ein weiterer Mitarbeiter bearbeitet werden soll oder er kann die App direkt schliessen.

PowerApps User Manager Optionscreen

SCHLUSSWORT

Mit der User Manager PowerApps kann der Mitarbeitermanagement-Prozess vereinfacht werden. Die IT muss nicht jedes Mal angefragt werden, wenn Attribute geändert werden müssen. Gleichzeitig können HR-Mitarbeitende auch nur ausgewählte Attribute verändern, wodurch keine Gefahr von versehentlichen, kritischen Änderungen entsteht. Mit Graph API wird eine moderne Schnittstelle als Zugang zur Azure AD verwendet und mit der Active Directory OAuth der Zugang geschützt. Die durch den Einsatz dieser Applikation entstandene Vereinfachung des Prozesses lohnt sich für Ihr Unternehmen, um einerseits die IT von administrativen Tasks zu entlasten und andererseits kostbare Zeit einzusparen.

Automatisches Printing mit PowerAutomate

Automatisches Printing mit PowerAutomate: Die Fakturierungs-Lösung unseres Kunden ermöglicht das Versenden von E-Mail-Rechnungen als PDF direkt aus der Lösung, soweit so gut, nichts Spektakuläres. Herausforderung des Kunden war aber nun folgende:

Der Kunde wollte jeweils beim E-Mail Versand automatisch noch eine Kopie der Rechnung auf Papier drucken, dies ohne jedes Mal die Rechnung von Hand zu öffnen oder die Datei nochmals zu bearbeiten. Da kam uns die Idee dies über den sogenannten HP ePrint Service zu lösen um automatisches Printing mit PowerAutomate zu ermöglichen. Ein Standard Dienst, den HP bei vielen Druckern gratis anbietet.

Im Prinzip wird der Drucker bei HP online registriert als EPrinter und man erhält für diesen Drucker eine eindeutige E-Mail-Adresse, über welchen der Drucker erreichbar ist. Man schickt dann eine PDF oder ein Foto via Mail an diese Adresse und der Inhalt der Mail wird gedruckt. So die Theorie.

Wir nahmen an, wir könnten beim Versand der Mail die Adresse des Rechnungs-Empfängers und auch gleich die Mail-Adresse des HP ePrinters angeben, um alles in einem Aufwasch zu erledigen.  Doch leider funktioniert das nicht, weil der der ePrint-Service nur eine einzige Mail-Adresse als Adressat akzeptiert, sowie dummerweise auch noch die Mail inklusive Text in welchem sich das PDF befindet, mitgedruckt wird.

Um dieses Hindernis zu umgehen haben wir über Power-Automate (a.k.a Microsoft Flow) einen Workflow erstellt.

HP ePrint Services & Power Automate (Microsoft Flow)

Dieser übernimmt die folgenden Aufgaben:

  • Löscht die Mailadresse des Kunden aus dem Mail
  • Löscht den Text im E-Mail
  • Der Workflow sendet nun nur noch das Attachement (Rechnung PDF) an den HP ePrint-Service weiter und dieser druckt die Rechnung aus.
Power Automate ePrinting Flow

Insofern keine Rocket Science aber eine einfache Lösung die schnell gemacht ist und keine grossen Kosten verursacht. Automatisches Printing mit PowerAutomate – simpel oder nicht? Falls Sie auch eine Idee haben oder besser gesagt eine Lösung suchen. Dann melden Sie sich doch bitte bei uns, gerne prüfen wir dann gemeinsam ob es eine Möglichkeit gibt dies mit Office 365 zu verwirklichen.

Microsoft Flow wird zu Power Automate

blank

Aus Microsoft Flow wurde Power Automate. Die Microsoft Ignite 2019 in Orlando ist bereits wieder Geschichte. Es gab viele interessante Ankündigungen und Neuerungen. Eine betrifft auch Microsoft Flow.

Aus Microsoft Flow wurde Power Automate. Power Automate ist eine Automatisierungsplattform und ein Teil der Power Plattform. Somit passt nun auch das Namenskonzept der Power Plattform mit Power BI, PowerApps und Power Automate. Neu bietet Power Automate auch die Unterstützung von Robotic Process Automation (RPA). Somit wurde nicht nur in den Namen das Wort Power integriert, es stehen auch neue powervolle Funktionen zur Verfügung.

Für alle die Flow, respektive Power Automate noch nicht kennen. Damit lassen sich eine Vielzahl von Abläufen innerhalb und ausserhalb von Office 365 erstellen. Microsoft stellt eine Vielzahl von Connectoren und Beispielen zur Verfügung, um interne Office 365 Prozess abzubilden. Microsoft stellt eine Vielzahl von Vorlagen zur Verfügung, um die Office 365 Werkzeuge in einen Flow zu integrieren. Auch externe «Werkzeuge» kann man mittels «connectoren» integrieren.

Ein kleiner Ausblick, was mit den neuen Power Virtual Agents und Power Automate alles so möglich ist, zeigt folgendes Video von Microsoft.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Die Microsoft Ignite 2019

Weitere News und Videos von der Microsoft Ignite 2019 finden Sie unter folgenden Links.

Webservice mit Microsoft Power Automate und IOT Lösung

blank

Webservice mit Microsoft Power Automate

Webservice mit Microsoft Power Automate und IOT Lösung: Webservices bedürfen einiger Entwicklungszeit und sind oftmals teure Investitionen. Doch was für Möglichkeiten gibt es, wenn ein Webservice erstellt werden soll und dieser auch noch kostengünstig und in schneller Zeit realisiert werden sollen?

Da kommt der Werservice mit Power Automate zum Einsatz. Mit Power Automate steht ein mächtiges Tool zur Verfügung, mit dem, in vergleichsweise kurzer Zeit, eine API erstellt werden kann. In Kombination mit SharePoint als Datenspeicher, entstehen nicht einmal zusätzliche Lizenzgebühren, da beide in allen Office 365 Abos bereits integriert sind (bis 750 Flow Runs).

Anhand einer realen Kundenanforderung möchte ich Ihnen zeigen, wie diese Lösung mit Power Automate und SharePoint Online in Office 365 einfach umgesetz werden kann.

Webservice mit Microsoft Power Automate

Webservice mit Microsoft Power Automate und IOT Lösung: Webservices bedürfen einiger Entwicklungszeit und sind oftmals teure Investitionen. Doch was für Möglichkeiten gibt es, wenn ein Webservice erstellt werden soll und dieser auch noch kostengünstig und in schneller Zeit realisiert werden sollen?

Da kommt der Werservice mit Power Automate zum Einsatz. Mit Power Automate steht ein mächtiges Tool zur Verfügung, mit dem, in vergleichsweise kurzer Zeit, eine API erstellt werden kann. In Kombination mit SharePoint als Datenspeicher, entstehen nicht einmal zusätzliche Lizenzgebühren, da beide in allen Office 365 Abos bereits integriert sind (bis 750 Flow Runs).

Anhand einer realen Kundenanforderung möchte ich Ihnen zeigen, wie diese Lösung mit Power Automate und SharePoint Online in Office 365 einfach umgesetz werden kann.

Customer Case

Ausgangslage

Ein grösseres Handelsunternehmen für Schreinereibedarf hat uns folgende Aufgabe gestellt:

Kunden des Handelsunternehmens sollen in Zukunft mit sogenannten «Smart Labels» ausgestattet werden. «Smart Labels» sind kleine Geräte welche zum Beispiel in einem Lagergestell angebracht werden und mit denen der zuständige Lagerist, ganz bequem, mit einem einzigen Knopfdruck auf dieses «Smart Label», eine vordefinierte Menge eines Lagerartikels, direkt an sein ERP übermitteln kann. Das ERP führt dann die Bestellung beim Händler aus.

Wird das «Smart Label» gedrückt, dann soll diese Bestellung in einer sogenannten Watchlist abgespeichert werden. In regelmässigen Abständen prüft das ERP des Kunden dann diese Liste nach neuen Eingängen und legt eine Bestellung auf, respektive, wenn nötig, wird eine bestehende offene Bestellung aktualisiert.

Use-Case

Um diese Anforderungen abzudecken, haben wir eine Power Automate Lösung mit SharePoint Backend verwendet. Sobald der Knopf auf dem Label gedrückt wird, sendet das Label einen Call an den Flow, worauf dieser, bei erfolgreicher Authentifizierung, die Daten in die Watchlist fügt. Ebenso sendet das Label in regelmässigen Abständen einen Status-Request an den Flow, welcher die angefragten Informationen in der Watchlist heraussucht und diese als Response zurückgibt. Somit sieht der Kunde auf dem kleinen Screen des Labels jederzeit, was der Status der Bestellung ist.

Flow API ERP

Gleichzeitig verarbeitet ein weiterer Workflow die Anfragen (requests) des ERP-Systems. Das ERP fragt den Flow-Webservice nach Einträgen in der Watchlist ab. Dabei wird ein Session-Key mitgesendet, den der Flow abgreift und sich damit bei einem Server authentifiziert. Ist der Key valid, erhält der Flow die Identifikation des Kunden zurück. Darauf basierend werden die georderten Produkte in Auftrag gegeben. Sobald die Bestellung rausgeht, sendet das ERP einen neuen Request an den Webservice, worauf dieser den Status der betroffenen Positionen aktualisiert.

blank

Weitere Informationen Webservice mit Microsoft Power Automate

Beim oben beschriebenen Case werden Requests mit Daten im XML- und andere mit JSON-Format gestellt. Standardmässig ist Flow darauf ausgelegt, mit JSON-Daten zu arbeiten. Doch mit den nötigen Kniffen, lassen sich auch XML-Daten verarbeiten und zurückgeben.

Das Ganze klingt ja hervorragend, gibt es keine Nachteile?

Diese gibt es. Bei einem in JAVA, C#, Go (und anderen Sprachen) programmiertem Webservice, benötigen diese Request-Response Prozesse meist nur Millisekunden. Bei einem Flow, der in einer SharePoint-Liste Daten zusammenträgt, kann das, je nach Menge der Einträge, schon mal ein paar Sekunden dauern. (Interessant wäre hier ein Test betreffend Ausführungszeit mit einem Flow und einer SQL-Datenbank, dies müsste ich jedoch noch durchführen.)

Fazit Webservice mit Microsoft Power Automate

Wenn die Ausführungszeit keine Rolle spielt, respektive ein bisschen höher sein darf und handelt es sich um eine relativ kleine Datenmenge, kann mit Flow tatsächlich in kurzer Zeit ein zuverlässiger Webservice erstellt werden. Dies ohne Unsummen zu investieren. Weitere Artikel zum Thema PowerAutomate:

PowerAutomate: User-Input via Mobile Abfragen

Ferienverwaltung mit Powerapps

User Manager PowerApp mit Power Automate

Automatisches Printing mit PowerAutomate

 

Automatisierung von SharePoint mit Power Automate – Die Basics

blank

Automatisierung von SharePoint mit Power Automate – Die Basics: ​Mit Flow hat uns Microsoft ein mächtiges Werkzeug zur Verfügung gestellt. Es passt hervorragend zu unserem Motto «do more, work less». In diesem Beitrag möchte ich über die Erfahrungen beim Erstellen eines Flows schreiben.

Ausgangslage

Seit Kurzem verwenden wir intern eine SharePoint Communication Site (sehr empfehlenswert!), auf welchem unter anderem ein «News»-Webpart eingebaut ist. Die Geschäftsleitung möchte dort News publizieren, welche firmenweit von Interesse sind. Dies funktioniert soweit auch prima, nur gibt es keine Möglichkeit, diese News auch in Microsoft Teams anzeigen zu lassen.

Das Problem

Somit muss sich die Geschäftsleitung darauf verlassen, dass die Mitarbeiter regelmässig auf die SharePoint Site schauen und nach News Ausschau halten, was erfahrungsgemäss ziemlich sicher nicht geschehen wird. 😉

SharePoint Portal

Bühne frei für Power Automate!

Mit Flow sollte es möglich sein, nach der Erstellung eines Elements automatisch eine Nachricht an das Team in Microsoft Teams zu senden. Die Connectoren dafür sind vorhanden, es müssen somit nur die Reihenfolge und die richtigen Felder definiert werden.

Dies ist, wie sich herausgestellt hat, gar nicht so einfach zu bewerkstelligen. Der Ablauf sollte so aussehen:

Der Ablauf

  1. Wenn ein neuer News-Beitrag gepostet wird, dann …
  2. … sende eine Nachricht an das Team in Microsoft Teams

Zum News-Beitrag: Auf den ersten Blick unterscheidet SharePoint nicht zwischen einer normalen Page und einem News-Beitrag. Für unseren Flow bedeutet das, dass wir eine Möglichkeit suchen müssen, um zwischen einer Page und einem News-Beitrag zu unterscheiden. Denn wir möchten das Team nur dann informieren, wenn es Neuigkeiten gibt. Eine Webrecherche hat ergeben, dass sich «News» durch das Vorhandensein von zwei Feldern von Pages unterscheiden:

  • «Promoted State»
  • «First Published Date»

Mit «Promoted State» kann gesagt werden, ob es sich bei einer Page um eine «News» handelt oder nicht. Mit «First Published Date» hingegen kann eingesehen werden, wann die «News» publiziert wurde. Wir werden beide Felder verwenden müssen, um einen guten Workflow mit Flow erstellen zu können.

Flow erstellen

Jetzt wo die technischen Details geklärt sind, machen wir uns ans Eingemachte:
Um die Erstellung eines Flow so einfach wie möglich zu machen, gehen wir auf die SharePoint-Site, auf «Site Contents» und anschliessend auf «Site Pages». Von dort aus kann dann ein Flow erstellt werden:

SharePoint

Im rechts erschienenen Fenster wählen wir den Flow «Post a message to Teams for a selected item». Nun gelangen wir zur Flow-Bearbeitungsseite:

blank

Mit einem Klick auf «Edit» in der ersten Aktion erhalten wir die ID der «Liste». Diese werden wir benötigen, um auf die entsprechende Ressource zugreifen zu können. Dementsprechend kopieren wir uns diese weg. Weil diese Vorlage nicht ganz dem entspricht, was wir erreichen möchten, schliessen wir diesen Flow wieder und erstellen einen neuen mit dem Knopf «Create from blank»:

blankHier wählen wir den Trigger «SharePoint: When an item is created» und werden auf die Flow-Erstellungsseite weitergeleitet:

blank

Im Feld «Site Address» wählen wir im Dropdown-Menü die entsprechende Site aus und fügen den «List Name» von vorhin ein (mit dem «Umweg» über ein Template spart man sich das Heraussuchen der ID 😉 ). Der Flow wird also ausgelöst, wenn ein neues Element auf unserer SharePoint-Site erstellt wird.

Damit unser Flow nicht bei jedem beliebigen Element ausgeführt wird, muss dieser unterscheiden können, ob es sich bei der erstellten Site um eine News Site handelt oder nicht. Dazu erstellen wir eine «Condition»:

blank

Diese überprüft, ob der Wert im Feld «Promoted State» (ein Float) ein Wert grösser als 0 steht. Wenn ja, dann handelt es sich um einen News-Beitrag. Wenn nicht, dann um eine «normale» Page.
Hinweis: Ich habe es mit einer Condition versucht, die überprüft ob das Feld Promoted State leer ist oder nicht. Das hat aber nicht geklappt, weil der Datentyp nicht kompatibel ist. Auch das Umwandeln in einen String klappt nicht, weswegen ich bei der oben beschriebenen Lösung verblieben bin.

Innerhalb des «If no»-Bedingung muss nichts stehen, weil bei der Erstellung einer normalen Page in unserem Fall nichts unternommen werden soll.

In der «If yes»-Bedingung hingegen geht es mit einer «Do until»-Schleife weiter:

blank

Kleiner Exkurs: eine «Do until»-Schleife führt die innerhalb der Schleife angegebenen Aktionen solange aus, bis eine bestimmte Bedingung erfüllt wurde oder die Schleife eine bestimmte Anzahl male durchgeführt wurde.

Bevor es technisch weitergeht, eine kurze Erklärung, wieso diese Schleife überhaupt notwendig ist: Der Trigger «When an item is created» wird ausgeführt, sobald SharePoint das Objekt erstellt hat. Flow wartet somit nicht bis der News-Beitrag «publiziert» wurde oder überhaupt eine Überschrift hat. Dies ist natürlich problematisch, weil bei der Erstellung einer News doch einige Zeit vergehen kann. Aus diesem Grund muss überprüft werden, ob die News überhaupt publiziert wurde, bevor die Nachricht an das Team gesendet wird.

Bevor wir nun aber mit der Erstellung der Bedingung beginnen, erstellen wir die Aktionen, welche während der Schleife ausgeführt werden sollen. Wir machen dabei folgendes:

  • SharePoint Get item
  • Delay

Mit SharePoint Get item lesen wir das von SharePoint erstellte Objekt erneut ein. Dies müssen wir deshalb tun, damit Flow die Änderungen des Felds «FirstPublishedDate» überhaupt mitbekommt. Mit Delay hingegen definieren wir eine einfache Wartezeit, bevor die Bedingung der Schleife erneut überprüft wird.

Bei der Aktion «Get item» definieren wir auch wieder die Site und die Liste (wie beim Trigger) und geben zusätzlich die ID mit, welche vom Trigger durchgegeben wird:

blank

Die Delay-Funktion ist selbsterklärend:

blank

Um die Anzahl von Versuchen zu definieren, welche die Schleife durchführen wird, müssen wie den Inhalt der Felder unter «Change limits» anpassen:

blank

In diesem Fall wird die Überprüfung 60-mal durchgeführt, bevor die Schleife verlassen wird.

Nun zu der Bedingung: Power Automate bietet einige Funktionen, die (noch) nicht über das GUI verwendet werden können. Die Funktion «empty» ist eine solche. Mit dieser kann überprüft werden, ob ein Feld leer ist oder nicht. Somit müssen wir in den «Advanced mode» wechseln und das Feld wie folgt ausfüllen:

blank

Wichtig ist hierbei, dass das Feld «FirstPublishedDate» von der Aktion «Get_item» und nicht von der ersten Aktion «When an item is created» verwendet wird! Bei der Erstellung des Objekts hat unser News-Beitrag noch kein «FirstPublishedDate», weil dieser noch nicht publiziert wurde. Sobald sich das ändert und die Aktion «Get item» ausgeführt wird, wird die Bedingung oben erfüllt.

Die «Do until»-Schleife überprüft in unserem Fall für 60 x 5 Minuten, ob die News publiziert wurde. Wenn diese Zeit verstreicht, ohne dass die News publiziert wurde, dann bleibt das Feld «FirstPublishedDate» leer und wir können mit einer weiteren Condition entscheiden, was mit der Site passiert.

Nun da wir die «Do until»-Schleife fertig haben, können wir mit einer weiteren Condition (diese muss zwingend ausserhalb der «Do until»-Schleife sein!) fortfahren:

blank

Auch hier wechseln wir wieder in den «advanced mode» um die «empty»-Funktion verwenden zu können. Wir überprüfen somit, ob das Feld «First Published Date» leer ist. Wenn ja, dann möchten wir den unveröffentlichten News-Beitrag löschen (fünf Stunden sollten genügen, um einen News-Beitrag fertigzustellen ;-)). Wenn nein, dann soll das Team informiert werden.

In der «If yes»-Bedingung erstellen wir die Löschen-Aktion. Die Felder können wir mit denselben Eingaben wie weiter oben ausfüllen:

blank

Die letzte Aktion bestehe darin, nach Erstellung und Publizierung der Site eine Nachricht an das Team in Microsoft Teams zu senden. Dazu erstellen wir eine «Teams Post message» Aktion in der «If no»-Bedingung. Im Dropdown-Menü können wir das Team und den Kanal auswählen. Im Feld «Message» können wir nun die Felder angeben, welche wir möchten. In unserem Fall wird der Titel der News und ein Link zur zugehörigen SharePoint-Page gepostet:

blank

Das wars, der Flow ist soweit fertig erstellt und kann nun mit dem Knopf «Create flow» oben rechts erstellt werden.

Test durchführen

Bevor wir allen von unserem tollen Flow berichten, müssen wir das Ganze noch testen. Dazu gehen wir wie folgt vor:

  • News erstellen und publizieren
  • Nachricht in Teams kontrollieren
  • Weitere News erstellen aber nicht publizieren
  • Nach Ablauf der Zeit (evtl. Wartezeit in der Schleife verkürzen, damit ihr nicht fünf Stunden warten müsst) kontrollieren, ob die unveröffentlichte Page gelöscht wurde
  • Neue Page (keine News!) erstellen und kontrollieren ob Flow korrekt entscheidet und diese ignoriert

Einige Beobachtungen

Die Hilferessourcen von Microsoft sind, wenn überhaupt, nur sehr spärlich vorhanden, was bedeutet, dass viele Dinge durch ausprobieren herausgefunden werden müssen. Bedingungen stellen erfahrungsgemäss die grösste Fehlerquelle dar, weswegen es sich anbietet, diese gründlich zu testen. In diesem Fall habe ich nach jeder Bedingung eine angepasste Nachricht in Microsoft Teams posten lassen. Wenn also die Nachricht «Die Seite wurde nicht veröffentlicht» gepostet wird obwohl die Veröffentlichung bereits stattgefunden hat, dann weiss ich, dass ich die Bedingung nochmals überprüfen muss.

Danke fürs Lesen/Teilen/Kommentieren! 🙂

Kontakt
close slider

Standort Schweiz

TwinCap First AG
Favreweg 1
CH-8304 Wallisellen
+41 44 666 50 50
info@twincapfirst.ch

Standort Deutschland

IT Boosting
Cloud Systemhaus
Bahnhofstraße 32
DE-72458 Albstadt
+49 7431 9493 440
info@it-boosting.de

Support: Hier klicken!

Datenschutz
, Inhaber: (Firmensitz: Deutschland), verarbeitet zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in der Datenschutzerklärung.
Datenschutz
, Inhaber: (Firmensitz: Deutschland), verarbeitet zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in der Datenschutzerklärung.