Power Virtual Agents – Intelligente Bots mit Power Automate Flows kombinieren

Microsofts Power Virtual Agnets (Bots) sind voll im Trend. Mit diesem Tool können Routinen optimal auf Unternehmensprozesse hin abgestimmt erstellt werden um Arbeitsschritte automatisiert auszuführen. Bots leisten besonders hilfreiche Arbeit, indem sie wiederkehrende Prozesse in Form von Fragen durch vorweggenommene Fragen inkl. Bedingungen und Antworten liefern.

Noch interessanter kommen sie zum Einsatz, wenn Ihre Arbeitsweise erweitert wird, um vielschichtige Prozesse mittels eines Power Automate Workflows (Flow). Der Bot liefert nicht nur Informationen, beantwortet zielgerichtet Fragen, sondern führt angereichert durch Flows wahlweise komplexe Arbeitsprozesse aus.

In diesem Blog beschreibe ich ein Fallbeispiel aus einer neulich durchgeführten Schulung. Vorweg sei erwähnt, dass sich die Teilnehmer des Kurses maßgeblich an diesem Beispiel beteiligt haben was in einem großartigen Ergebnis mündete.

Die Ausgangslage stellt ein Thema mittels eines Bots dar. Hier reagiert der Bot auf einen sog. Triggerausdruck. Der Bot liefert eine Antwort, die aufgrund eines Flows und einer SharePoint-Liste zustande kommt. Die Herausforderung war die richtige Antwort anhand Berechnungen zusammenhängend mit der aktuellen Zeit herauszubekommen und als Antwort der fragestellenden Person zu übermitteln.

Ausgangsfrage: Wann kommt die nächste Pause? In der entsprechenden SharePoint-Liste sind die Pausenzeiten absichtlich unsortiert hinterlegt.

clip_image002

Hinweis: Entsprechend anhand der aktuellen Uhrzeit soll ein Flow die richtige Pause ausfindig machen und dem Benutzer als Antwort liefern.

Die Spalte „Uhrzeit_berechnet“ extrahiert als berechnete Spalte aus dem Datum die Uhrzeit für die Pausen. Die Formel lautet: =TEXT(Uhrzeit;"hh:mm")

clip_image004

Kommen wir nun zur Umsetzung des Bots inkl. zugehörigem Flow.

 

Schritt 1: Triggerausdrücke und Botaufbau

Der Bot reagiert entsprechend z.B. auf die gestellte Frage „Pause

clip_image006

Um die Nachricht ausgeben zu können, wird die nächste Aktion „Handlungsaufforderung“ (Flow) in den Bot eingebunden.

clip_image008

Schritt 2: Der Flow schaut wie folgt aus.

clip_image010

Der Flow hat automatisch eine Verbindung zu dem Dienst Power Virtual Agents (PVA).

Die zweite Aktion ist der Zugriff auf die SharePoint-Liste, die Aktion „Elemente abrufen“ wird später in einem Schleifenvorgang benötigt.

image

Hinweis: Es ist erforderlich die erweiterten Optionen aufzurufen, um eine Sortierung einzusetzen,  Sortieren nachUhrzeit asc”, damit die Liste, sortiert abgerufen wird, um ggf. Fehler im Abruf der richtigen Zeile zu vermeiden.

Die nächste Aktion definiert mithilfe einer Variable die aktuelle Uhrzeit für die weitere Ermittlung der Pausenzeit.

clip_image014

addHours(utcNow(),1,'HH:mm')

Zwei weitere Variablen folgen.

Ausgabe wir zunächst initialisiert aber bleibt vorerst leer. Zuweisung erfolgt erst im weiteren Verlauf, sobald die nächste Pause ermittelt worden ist.

clip_image016

Die letzte Variable ist notwendig, um die richtige Uhrzeit aus der unsortierten SharePoint-Liste heraus zu extrahieren. Diese übergibt per Parameter „false“ diesen, um den Suchprozess zu unterbrechen, damit die nächste richtige Pausenzeit entnommen wird.

clip_image018

Als nächstes kommt eine Schleife „Aus alle Anwenden“ zum Einsatz.

clip_image020

Sobald eine Bedingung als nächste Aktion hinzugefügt wird, fügt Power Automate automatisch eine Schleife ein, da hier durch den Abruf der Daten aus der Liste eine Iteration notwendig und unabdingbar ist.

Die Bedingung überprüft, ob die Spalte aus SharePoint „Uhrzeit_berechnet“ größer ist als die aus der Variable „akt_zeit“ ebenso, ob die Variable „Fertig“ den Vorgang unterbrechen muss, da die Uhrzeit aus der SharePoint-Liste größer ist als die aktuelle Zeit und liefert beim Ergebnis „Wahr“ (Wenn ja) durch die Belegung der Variable „Ausgabe_Zeit“ den Rückgabewert „Uhrzeit“ sowie der nächsten Pausenzeit und „Fertig“ durch Wert „true“ den Stopp des Schleifendurchlaufes.

Die letzte Aktion “Return value(s) to Power Virtual Agents” übergibt dem Bot den Wert „Uhrzeit“.

clip_image022

Damit ist der Flow beendet. Der weitere Verlauf erfolgt im Bot.

Im Bot ist nun der Flow als Aktion eingebunden. Wie zu sehen ist, liefert der Flow als Rückgabewert die Variable Zeit.

clip_image024

Die letzte Aktion „Nachricht“ übergibt diesen Wert „Zeit“ dem Benutzer.

So schaut der Bot Unterhaltungsvorgang in der Praxis aus:

clip_image026

Viel Spaß beim Umsetzen.

Kommentare sind geschlossen