Microsoft Power Automate – Genehmigungsprozess mit Dokument

Dieser Flow beschreibt, wie mit Hilfe von Microsoft Power Automate eine Genehmigungsanfrage aus Microsoft Forms in einer Microsoft SharePoint Excel Tabelle hinterlegt und ein Genehmigungsprozess gestartet werden kann.

FlowtypAutomatisierter Cloud-Flow
Anwendungen / VerbindungenMicrosoft Forms
Microsoft SharePoint
Microsoft Power Automate

Grundlegendes

Diese Beschreibung zeigt, wie ein Genehmigungsprozess mit Hilfe der Microsoft Power Platform realisiert werden könnte. Dabei wird die Anforderung mit Hilfe eines Microsoft Forms Formulars erfasst.

Der Einfachheit halber werden die einzelnen Stufen mittels Angabe in Microsoft Forms festgelegt (Name und E-Mail der entsprechenden Person). Alternativ dazu kann auch über Microsoft Active Directory anhand der Unternehmensstruktur der bzw. die Vorgesetze definiert und über Aktionen abgefragt werden.

Eine weitere Option ist es, die einzelnen Stufen in den jeweiligen Aktionen zu hinterlegen.

In dieser Flowbeschreibung wird die erste Option verwendet.

Hinzukommt, dass bei der Übermittlung der Genehmigung an die Benachrichtigung das hochgeladene Dokument angehängt werden soll, so dass dies im gleichen Schritt geprüft werden kann.

Aktion 1

Als Trigger dient hier die Aktion Forms – Bei Übermitteln einer neuen Antwort verwendet. Hier wird festgelegt, welches Formular überwacht wird und mit welchem Formular letzten Endes der Flow gestartet wird.

Im Anschluss daran wird die Aktion Forms – Antwortdetails abrufen dazu verwendet, um die Eingaben aus dem Formular abzufragen und für weitere Aktionen zur Verfügung zu stellen.

Aktion 2

Bei der Erfassung und weiteren Bearbeitung der Anfrage soll eine fortlaufende Referenznummer generiert werden.

Hierfür muss eine Microsoft SharePoint Liste als Hilfstabelle verwendet werden. Hierbei wird Microsoft Power Automate die letze, laufende Nummer abfragen, diese um eins erhöhen und den Wert in der Hilfstabelle erhöhen.

Hierzu wird nun im ersten Schritt die Aktion Variable – Variable initialisieren verwendet

Aktion 3

Da die fortlaufende Nummer als vierstellige Zahl formatiert werden soll, ist das Format zum einen in der Hilfstabelle zu hinterlegen. Für die Formatierung wird außerdem die Aktion Variable – Variable initialisieren benötigt.

Aktion 4

Über die Aktion SharePoint – Element abrufen wird nun der letzte Wert aus der Hilfstabelle abgefragt.

Wichtig ist, dass hier im Feld ID die Zeilen ID aus der Hilfstabelle angegeben wird.

Aktion 5

Mit Hilfe der Aktion Variable – Variable festlegen wird nun der letzte Wert aus der Hilfstabelle um eins erhöht. Hierzu wird folgender Ausdruck benötigt.

add(outputs('Element_abrufen')?['body/ID_x0020_fortlaufend'],1)

Aktion 6

Da die fortlaufende Nummer aus verschiedenen Daten zusammengesetzt werden soll, wird über die Aktion Variable – Variable festlegen der Ausdruck concat verwendet.

Über die Hilfstabelle werden dabei folgende Daten festgelegt

  1. Ein Prefix
  2. Ein Suffix
  3. Die Formatierung der Zahl

Für dieses Beispiel wird die Referenznummer wie folgt aussehen:

CRC.0001.2024

Dazu wird folgender Ausdruck verwendet:

concat(outputs('Element_abrufen')?['body/Prefix'],formatNumber(variables('Neue Referenz ID'),outputs('Element_abrufen')?['body/Zahlenformatierung']),outputs('Element_abrufen')?['body/Suffix'])

Der Ausdruck setzt sich dabei wie folgt zusammen

concatBefehl, zum Kombinieren von Zeichen
outputs(‚Element_abrufen‘)?[‚body/Prefix‘]Hierbei handelt es sich um den dynamischen Wert Prefix aus der Hilfstabelle
formatNumber(variables(‚Neue Referenz ID‘),outputs(‚Element_abrufen‘)?[‚body/Zahlenformatierung‘]Hierbei wird der letzte Wert der Hilfstabelle verwendet und diesen gem. den Vorgaben formatiert
outputs(‚Element_abrufen‘)?[‚body/Suffix‘]Hierbei handelt es sich um den dynamischen Wert Suffix aus der Hilfstabelle

Aktion 7

Nachdem die Referenznummer nun generiert wurde, wird in der Hilfstabelle der letzte Wert entsprechend um eins erhöht und der Eintrag über die Aktion SharePoint – Element aktualisieren entsprechend aktualisiert.

Aktion 8

Da Dokumente, welche über das Microsoft Forms Formular hochgeladen werden, im Microsoft OneDrive Ordner des Besitzers abgelegt werden, muss dies nun von dort abgerufen und dem Microsoft SharePoint Eintrag angehängt werden. Dies geschieht im ersten Schritt nun mit der Aktion Datenvorgang– JSON analysieren.

Der komplette Code hierzu lautet wie folgt

{
    "type": "array",
    "items": {
        "type": "object",
        "properties": {
            "name": {
                "type": "string"
            },
            "link": {
                "type": "string"
            },
            "id": {
                "type": "string"
            },
            "type": {},
            "size": {
                "type": "integer"
            },
            "referenceId": {
                "type": "string"
            },
            "driveId": {
                "type": "string"
            },
            "status": {
                "type": "integer"
            },
            "uploadSessionUrl": {}
        },
        "required": [
            "name",
            "link",
            "id",
            "type",
            "size",
            "referenceId",
            "driveId",
            "status",
            "uploadSessionUrl"
        ]
    }
}

Aktion 9

Über die Aktion SharePoint – Element erstellen kann nun der Eintrag in der Microsoft SharePoint Liste erstellt werden.

Aktion 10

Nachdem der Eintrag erstellt wurde, sind mehrere Aktionen nachfolgend notwendig, um das Dokument zu kopieren, dem Eintrag hinzuzufügen und aus dem Microsoft OneDrive Ordner wieder zu löschen. Microsoft Power Automate wird hier automatisch den Container Auf alle anwenden setzten, sobald ein bestimmter Wert ausgewählt wurde.

Aktion 10A

Als erstes wird Microsoft Power Automate nun mitgeteilt, in welchem Verzeichnis das hochgeladene Dokument zu finden ist. Des erfolgt über die Aktion OneDrive for Business – Dateiinhalt über Pfad abrufen. Hierbei ist der Pfad zum Ordner in der die Dateien abgelegt werden einzutragen. Jedoch muss als Dateiname der dynamische Wert name aus dem Abschnitt JSON analysieren verwendet werden.

Aktion 10B

Nun wird über die Aktion SharePoint – Anlage hinzufügen das Dokument dem neu erstellten Eintrag zugewiesen.

Hierbei sind folgende dynamische Werte zu verwenden:

IDID aus dem Abschnitt Element erstellen
Dateinamename aus dem Abschnitt JSON analysieren
DateiinhaltDateiinhalt aus dem Abschnitt Dateiinhalt über Pfad abrufen

Aktion 10C

Um das Dokument nun aus dem Microsoft OneDrive Ordner wieder zu löschen, muss zuerst erneut über die Aktion OneDrive for Business – Dateimetadaten über Pfad abrufen der Pfad angegeben werden, in dem sich das Dokument befindet (siehe Aktion 7A) und danach über die Aktion OneDrive – Datei löschen aus dem Ordner wieder automatisch gelöscht werden.

Aktion 11

Nachdem der Anhang nun dem Microsoft SharePoint Element zugewiesen wurde, muss es mit den nächsten beiden Schritten das Dokument abgefragt und als Anhang definiert werden. Microsoft Power Automate wird hier automatisch den Container Auf alle anwenden setzten, sobald ein bestimmter Wert ausgewählt wurde.

Aktion 11A

Nachdem nun in den vorherigen Schritten das Dokument dem Microsoft SharePoint Eintrag hinzugefügt wurde, steht es nun von dort aus für die weitere Verarbeitung zur Verfügung. Damit das Dokument in die Genehmigungsbenachrichtigung angehängt werden kann, ist zunächst die Aktion SharePoint – Anlagen abrufen notwendig.

Aktion 11B

In den Container Auf alle anwenden, welcher von Microsoft Power Automate erstellt wurde, ist nun als nächstes die Aktion Variable – An Arrayvariable einfügen zu setzten. Im Normalfall kann es passieren, dass zwar in den Genehmigungsnachrichten zwar ein Dokument angehängt wird, dies jedoch leer oder fehlerhaft ist. Daher ist es notwendig, den JSON hardkodiert in die Aktion einzugeben, damit das Dokument sich ohne Probleme öffnen lässt.

Der notwendige Code hierzu lautet wie folgt:

{
 "name":DYNAMISCHER WERT DISPLAYNAME AUS DEM ABSCHNITT ANLAGEN ABRUFEN,
  "content": {
    "$content-type": "application/octet-stream",
    "$content":BASE64 AUSDRUCK}
  }
}

Als base64 Ausdruck ist folgender Befehl einzugeben

base64(DYNAMISCHER INHALT ANLAGENINHALT AUS DEM ABSCHNITT ANLAGENINHALT ABRUFEN)

Microsoft Power Automate wird den Ausdruck zwar zunächst als base64 Ausdruck anzeigen, jedoch diesen später in Anlageninhalt abändern.

Aktion 12

Nun erfolgt die erste Genehmigungsstufe über die Aktion Genehmigung – Starten und auf Genehmigung warten.

Microsoft Power Automate bietet hier die Möglichkeit, aus vier Optionen, wie die Genehmigung erteilt werden soll zu wählen:

  1. Benutzerdefinierte Antworten: Auf alle Antworten warten
  2. Benutzerdefinierte Antworten: Auf eine Antwort warten
  3. Genehmigen / ablehnen: Auf alle Antworten warten
  4. Genehmigen / ablehnen: Auf eine Antwort warten

Somit können nun entweder die Standardantworten ausgewählt werden oder eigene definiert werden. Ferner besteht die Möglichkeit, auch mehrere Entscheider zu kontaktieren und entweder auf die erste Antwort oder auf alle Antworten zu warten.

Wählt man die Standardantworten kann es sein, dass als Antwort nicht genehmigt / abgelehnt sondern die englische Variante approved / declined als Antwort zurückgegeben wird.

Standardmäßig erfolgt eine Benachrichtigung an den oder die Empfänger auf drei Wege

  1. Direkt in Microsoft Power Automate unter Genehmigungen
  2. Per hinterlegter E-Mail
  3. Per Microsoft Teams

Um das Dokument nun der Benachrichtigung anzuhängen ist bei Anlagen auf die Arrayansicht zu wechseln. Als dynamischer Wert wird hier Dokument aus dem Abschnitt Variablen eingesetzt.

Aktion 13

Nachdem die Genehmigung gestartet wurde, wird nun über die Aktion Steuerung – Bedinung definiert, was passieren soll, wird die Anfrage genehmigt oder abgelehnt. Hierbei ist als Feld Ergebnis aus dem Abschnitt Starten und auf Genehmigung warten zu verwenden und das Ergebnis einzutragen.

Aktion 14

In den jeweiligen Verzweigungen können nun die weiteren Aktionen festgelegt werden. Es empfiehlt sich in der Microsoft SharePoint Liste Spalten zu erstellen, welche die Entscheidung dokumentieren. Dadurch kann anhand der Microsoft SharePoint Liste eingesehen werden, wer welche Entscheidung getroffen hat und wie der aktuelle Status der Anfrage ist.

Darüber hinaus kann z. B. auch an den Antragsteller eine E-Mail versendet werden, die ihn darüber informieren, ob die Anfrage genehmigt oder abgelehnt wurde. Auch besteht die Option einen mehrstufigen Genehmigungsworkflow einzurichten, der nach der ersten Genehmigung durch einen Prüfer / eine Prüferin die Anfrage an einen Entscheider / eine Entscheiderin sendet.

Die Flowbeschreibung steht auch als kostenloser Download im Adobe PDF-Format zur Verfügung.

Nach oben scrollen