Consulting box
Microsoft 365 Power Virtual AgentsIntelligente Chat Bots erstellen
Power Virtual Agents – die Idee
Bots sind mittlerweile in Hype beim Bau von Mensch-Maschine-Schnittstellen. Nicht ganz zu unrecht, denn in der Tat kann ein gut gemachter Bot den Anwender sehr schnell und effizient zum Ergebnis führen. Er muss „nur“ die richtigen Fragen stellen und die Antworten der Anwender sinnvoll verarbeiten.
Power Virtual Agents sind ein Mitglied der Microsoft Power Platform. Gemeinsam mit den anderen Komponenten, zu nennen wären hier vor allem Microsoft Power Automate, Microsoft Power Apps und Microsoft Dataverse, lassen sich mit recht geringem Aufwand wirklich spannende Lösungen aufbauen.
Erstellen eines Bots mit Power Virtual Agents
Um einen neuen Power Virtual Agent zu erstellen, navigieren Sie in Ihrem Microsoft 365-Tenenat in die Power Apps-Seite.
Achten Sie darauf, dass Sie sich in der richtigen Umgebung befinden. Dies können Sie rechts oben kontrollieren und ggf. umschalten. Um einen neuen Bot zu erstellen, rufen Sie einfach den entsprechenden Menüeintrag auf – und schon geht es los.
Abschließend wählen Sie das Erstellen des neuen Chatbots. Zu dem nachfolgend gezeigten Dialog ist im Grunde genommen nicht viel zu sagen: Namen eintragen, Sprache des Bots (in dieser Sprache wird mit dem Benutzer kommuniziert) festlegen und die Umgebung, in der er erstellt werden soll, auswählen – schon geht es los.
Von Themen und Entitäten
Ist der neue Power Virtual Agent erstellt (das kann übrigens durchaus schonmal eine halbe Minute dauern), gelangen Sie zu der nachfolgend gezeigten Übersichtsseite.
Im Menü auf der linken Seite ist auch schon der wichtigste Abschnitt für die Entwicklungsarbeit zu sehen. nämlich die Themen. Kurz gesagt entwickelt man ein oder mehrere Themen, über die der Anwender später mit dem Bot „sprechen“ kann. In diesem Beispiel werden wir zunächst ein Thema entwickeln, nämlich zur Reservierung eines Firmen-Kfz, um eine Dienstfahrt zu machen.
Es lohnt sich aber, schonmal einen Blick auf die vorhandenen Themen zu werfen (nächstes Bild). Dort ist bereits einiges zu erkennen, nämlich:
- Es sind bereits diverse Themen vorhanden
- Es gibt Systemthemen (ab Position 5), die nicht ausgeschaltet werden können
- Vier Benutzerthemen sind vorhanden, die deaktiviert werden können
Weiterhin möchte ich auf die Entitäten verweisen. Wie Sie auf der nachstehenden Abbildung sehen können, sind standardmäßig jede Menge Entitäten vorhanden, weitere können natürlich selbst ergänzt werden. Kurz gesagt definiert man mit Entitäten bestimmte Inhalte, die vom Anwender erfragt werden sollen. Ein Beispiel wäre beispielsweise die E-Mail-Adresse, ein anderes die Farbe.
Erstellen einer neuen Entität
Da der Benutzer in dem hier vorgeführten Beispiel die Reservierung eines Fahrzeugs durchführen soll, macht es auf jeden Fall Sinn, eine Entität anzulegen, die die verschiedenen zur Verfügung stehenden Kategorien enthält.
Zu den vier Kategorien habe ich jeweils Synonyme hinzugefügt. Der Dialog ist selbsterklärend.
Erstellung eines Themas
Jetzt wird es wirklich ernst: Wir erstellen ein Thema, also das sozusagen das „Drehbuch“ für den Bot, auf Basis dessen die Kommunikation des Power Virtual Agents mit dem Benutzer stattfindet – zumindest, wenn er ein Fahrzeug reservieren möchte.
Bei der Erstellung des Themas wird, neben den üblichen Angaben wie dem Namen, vor allem eine Liste der Triggerausdrücke abgefragt. Der Ablauf funktioniert so, dass das System auf eine Eingabe des Benutzers wartet und wenn diese beispielsweise „Auto“ tippt, wird entsprechend das Thema gestartet, das diesen Triggerausdruck enthält. Es macht Sinn, zu überlegen, womit die Benutzer starten könnten. Zu bedenken ist, dass der simple Triggerausdruck „Auto“ nicht auf die Benutzereingabe „Auto reservieren“ anspricht. Die Situation auf dem nachfolgenden Screenshot (nur 3 Triggerausdrücke, jeweils bestehend aus nur einem Substantiv) reicht so ganz bestimmt und definitiv nicht.
Wenn Sie die ersten Triggerausdrücke erfasst haben (kann man jederzeit noch erweitern), speichern Sie das Thema (entsprechende Schaltfläche am oberen Rand) und können dann „Zur Canvaserstellung wechseln“ – da geht es dann um die eigentliche No-Code-Programmierung.
Die eigentliche Entwicklung des Power Virtual Agents findet in der nachstehend gezeigten Entwicklungsoberfläche statt. Sie fügen dort Nachrichten, Fragen und Aktionen hinzu und konfigurieren diese.
Arbeit am Thema
Die Aufgabe ist es jetzt, den Dialog, den der Microsoft Power Virtual Agent mit dem Benutzer führen soll, zu konfigurieren. Dabei gibt es verschiedene Objekte, die beispielsweise eine Nachricht ausgeben oder eine Antwort beim Anwender erfragen.
Nachricht
Das einfachste Objekt ist die Nachricht. Der nachstehenden Abbildung sind glaube ich keine weiteren Erläuterungen hinzuzufügen.
Eine Frage stellen
So ziemlich die wichtigste Aktion ist das Stellen einer Frage. Auf der nachfolgenden Abbildung sind zwei Frage-Aktionen gezeigt, wobei sich die erste Frage auf die zuvor entwickelte Entität bezieht, die zweite fragt Datum und Uhrzeit ab. In beiden Fällen wird das Ergebnis in eine Variable gepeichert, auf die später verwiesen werden kann – und wird.
Wenn man später feststellt, dass man eine Aktion hinzufügen möchte, kann man einfach auf den Verbinder zwischen den Elementen klicken, woraufhin ein Plus-Zeichen erscheint. So kann dann leicht die benötigte Aktion eingefügt werden.
Bedingung hinzufügen
In dem Beispiel, das ich gerade bearbeite, soll der Anwender nach Eingabe eines Fahrzeugtyps gefragt werden, ob er eine gültige Fahrerlaubnis für die gewählte Fahrzeugklasse hat. Das Ergebnis soll diesmal nicht „nur“ in eine Variable geschrieben werden, vielmehr ändert sich die weitere Verarbeitung – je nach Auswahl.
Die Umsetzung ist einfach: Hinter das „Frage-Objekt“ fügen Sie ein Objekt vom Typ „Eine Bedingung hinzufügen“ ein. Wie auf der folgenden Abbildung zu erkennen, verzweigt der Ablauf je nach gewählter Eingabe.
Ende hinzufügen
Ein Dialogvorgang mit einem Kunden kann nicht so einfach aufhören, Sie müssen ihn beenden. Dazu gibt es vier Möglichkeiten:
- Sie können die Unterhaltung mit einer Befragung beenden (siehe Konfiguration auf dem nachfolgenden Bild)
- Sie können an einen (menschlichen) Agenten übergeben, dazu sind einige Einrichtungs- und Konfigurationsschritte erforderlich
- Sie können das derzeit aktive Thema wiederholen, also sozusagen neu starten
- Sie können in ein anderes Thema springen
Power Automate mit Power Virtual Agents verwenden
Mit den Standard-Aktivitäten kann man zwar bereits einen umfangreichen Dialog mit einem Benutzer aufbauen, allerdings reicht das nicht für eine komplette Lösung. Da ist es erforderlich, beispielsweise einen Eintrag in eine Datenbank oder eine SharePoint-Liste zu schreiben. Oder auch andersherum: In dem Dialogvorgang mit dem Benutzer werden eventuell Daten benötigt, die aus einem Drittsystem geholt werden müssen. Oder es muss eine E-Mail gesendet werden. Oder oder oder….
Diese Anforderungen können recht einfach und sehr flexibel erledigt werden, weil Power Automate aus der Power Virtual Agents-Umgebung aufgerufen werden kann. Und da man mit Power Automate bekanntlich sehr flexibele Abläufe implementieren kann und es weiterhin eine riesige Menge von Connectoren gibt, lassen sich viele Anforderungen sogar recht einfach umsetzen.
Power Automate aufrufen
Power Automate aufzurufen, ist verblüffend einfach, wie man auf der folgenden Abbildung sehen kann. Wählen Sie, an der Position, wo Sie ihn brauchen, die Erstellung eines neuen Flows (siehe nächste Abbildung).
Vermutlich wird Ihnen sofort durch den Kopf die Frage durch den Kopf schießen, wie man Werte, die om Benutzer abgefragt worden sind, an den Flow übergibt. Oder aus dem FLow sozusagen wieder herausbekommt. Machen Sie sich da zunächst keine Sorgen, das löst sich gleich.
Arbeit am Flow in der Power Automate-Umgebung
Wenn Sie das Erstellen des Flows inittiert haben, ist kurze Zeit später Power Automate geöffnet und Sie befinden sich in der Situation, wie auf dem nächsten Bild gezeigt:
Zu sehen ist eine Aktion für den Eingang (Trigger) und beide für den Ausgang. In beiden Fällen geht es darum, die Variablen zu definieren, die bei Aufruf des Flows Werte übergeben bzw. für die Rückgabe von Werten aus dem Flow an den Power Virtual Agent.
Alles, was „dazwischen“ ist, wird Ihre Business-Logik, beispielsweise eben Interkationen mit einer Datenbank oder mit einer SharePoint-Liste.
Das Erstellen von Variablen für die Entgegennahme oder das Übergeben an Power Virtual Agents ist wirklich unkompliziert, wie Sie auf den nächsten beiden Bildern erkennen können. Datentyp auswählen und den Namen eingeben.
Konfiguration in Power Virtual Agents
Nachdem Sie den Flow in Power Automate erstellt und insbesondere die Variablen für die Werte, die zwischen Power VIrtual Agents und Flow ausgetauscht werden sollen, angelegt haben, kehren Sie in den Power Virtual Agents-Editor zurück. Sie werden zunächst keine Veränderung erkennen können, aber: Ruhe bewahren, das wird!
Rufen Sie nun einfach nochmal das Einfügen eines Flows auf (Menüoption: „Handlungsaufforderung“) – der neu erstellte Flow wird in der Auswahl erscheinen. Wenn Sie ihn jetzt hinzufügen, wird Ihnen die Aktivität mit allen Variablen, die im Flow definiert sind, angezeigt. Sie brauchen diese jetzt nur noch mit Variablen aus dem Flow zu verbinden.
Auf dem nachstehend gezeigten Screenshot können Sie einerseits, wie gerade angekündigt, die im Flow definierten Variablen sehen. Außerdem ist zu erkennen, dass Sie auch mit Bedingungen arbeiten, Sie können also den Ablauf in Abhängigkeit von den Rückgabewerden aus dem Flow-Aufruf anpassen. Auf der Abbildung wird von Flow ein „Status“ (also Variable diesen Namens) übergeben. Je nach dem, ob „True“ oder „False“ wird der linke oder der rechte Zweig ausgeführt,
Testen
Wenn das Thema des Power Virtual Agents erstellt ist, muss getestet werden. Für meine Begriffe ist das ganz schön umgesetzt. Links neben dem Bereich, in dem letztendlich die Entwicklung stattfindet, ist der „Testbot“ zu sehen. Sie können dort einfach das Trigger-Wort (in diesem Fall „auto“ reinschreiben. Daraufhin wird das entsprechende Thema geladen – und Sie sind schon mitten drin. Im Editor, also auf der rechten Seite, sehen Sie die Poition, die gerade von dem Testbot verarbeitet wurde. Die Aktivitäten, die verarbeitet wurden, werden grün eigefärbt, so dass sich recht einfach kontrollieren lässt, welchen „Weg“ der Testanwender gegangen ist. Bei vielen verschachtelten Bedinungen ist das durchaus hilfreich
Veröffentlichen
Wenn Sie mit der Entwicklungsarbeit fertig sind und auch hinreichend getestet haben, muss der neue Power Virtual Agents-Bot veröffentlicht werden.
Der erste Schritt ist die Auswahl der gewünschten Kanäle. Wie auf der nachfolgenden Abbildung zu sehen, gibt es überraschend viele Auswahlmöglichkeiten von Umgebungen, in die Ihr Bot eingebettet werden kann – und nicht nur Microsoft-Technologien.
Bei der Aktivierung der einzelnen Kanäle müssen eventuell noch Eingaben vorgenommen werden – hängt vom Kanal ab.
Demowebsite
Im einfachsten Fall kann die Veröffentlichung auf einer Demowebsite erfolgen. Wenn man auf den entsprechenden Link klickt, erhält man die individuelle Url. Wenn dann der neue Bot veröffentlicht worden ist (im Menü links auf den gleichnamigen Eintrag klicken), können Sie einfach diese Url aufrufen und schon können Sie IHren Bot mit dem neuen Thema testen.
Teams
Mit der zunehmenden Verbreitung von Microsoft Teams ist auch die Einbinung des Bots in diese Applikation eine häufig gewünschte Aufgabenstellung. Das ist ebenfalls nicht wirklich kompliziert.
Zunächst rufen Sie in der Konfiguration der Kanäle den Dialog für den Teams-Kanal auf, Sie sehen ihn auf der nachfolgenden Abbildung. Zunächst bearbeiten Sie am besten die Details – dabei werden beispielsweise der Titel, eine Beschreibung oder der Name des Entwicklers eingetragen.
Wenn Sie direkt ausprobieren möchten, wie der Bot in Microsoft Teams aussieht und funktioniert, können Sie einfach auf „Bot öffnen“ klicken – und schon geht der Teams-Client auf und bittet Sie, die Installation durchzuführen (folgende Abbildung)
Auf der nächsten Abbildung sehen Sie den Power Virtual Agents-Bot in Micosoft Teams im Einsatz. Die Idee ist also, dass Sie Dialogfunktionen, die Sie Ihren Anwendern zur Verfügung stelleen möchten, bequem in der Teams-Umgebung zugänglich machen.
Die Erfahrung der letzten Jahre zeigt ja, dass trotz der immensen Verbreitung web-basierter Anwendungen, „echte Applikationen“ bei den Benutzern sehr beliebt sind – das beste Beispiel ist ja eben Microsoft Teams. Viele Aufgaben lassen sich mit dem chat-basierten Ansatz wirklich gut und sehr komfortabel erledigen.
Administratorgenehmigung für Microsoft Teams
Wir sind aber mit der Teams-Bereitstellung noch nicht ganz fertig. Vermutlich möchten Sie ja allen Benutzern ermöglichen, den Power Virtual Agents-Bot zu verwenden und möchten vermutlich auch in einem automatisierten Provisioning-Prozess den Bot verteilen. Dazu muss für den Bot eine „Administratorgenehmigung“ eingeholt werden (siehe Screenshot weiter vorn, Konfiguration des Teams-Kanals). Diese Administratorgenehmigung einzuholen, ist angenehmer Weise nur ein Mausklick.
Auf der folgenden Abbildung zeige ich Ihnen, wie und wo der Administrator aktiv werden muss. Im Teams Admin-Center navigieren Sie zu „Teams Apps/Manage apps“. Sie werden dort bereits die Anzeige erhalten, dass es „Pending approvals“ gibt. Dann suchen Sie einfach die Power Virtual Agents-Bot-App heraus und genehmigen Sie. Um das zu tun, klicken Sie auf die App, worauf hin sich ein Dialog öffnent, in dem die Einstellung vorgenommen werden kann.
Wenn die Administratorgenehmigung erfolgt ist, wird die App mit dem Power Virtual Agents-Bot nach einiger Zeit (das dauert – und zwar nicht nur ein paar wenige Minuten) in den Teams-Clients erscheinen – und zwar im Abschnitt „Erstellt von Ihrer Organisation“.
Weitere Schritte mit den Power Virtual Agents
Ich möchte noch darauf hinweisen, dass diverse weitere Aufgaben auf Sie warten. In diesem kleinen Tutorial werden sie zwar nicht weiter besprochen, dennoch hier ein paar Stichwörter:
- Berechtigungen: Sie können festlegen, wer bearbeiten darf, aber auch, wer den Bot verwenden können soll
- Übergabe an menschlichen Agent: Eine wichtige Aufgabe ist in vielen Fällen auch, dass Sie eine direkte Chat-Möglichkeit mit einem menschlichen Agent ermöglichen
- Sie können „Fertigkeiten“ erstellen, um den Power Virtual Agents bestimmte komplexe Fähigkeiten beizubringen. Das ist sozusagen der „große Bruder“ der Erweiterung mittels Power Automate, die ich Ihnen in diesem Artikel gezeigt habe. Das ist eine Aufgabe für Entwickler/Programmierer, Grundlage ist das Bot Framework SDK 4.7 (und höher)
- Es gibt diverse Analyse-Funktionen, die Ihnen statistische Details zur Nutzung des Bots liefern
Lizenzierung der Power Virtual Agents
Nicht vergessen werden darf natürlich, dass die Power Virtual Agents kostenpflichtig sind. Im Admin Center unter „Abrechnung/Dienste kaufen“ kann die Nutzung lizenziert werden. Wie auf der Abbildung zu sehen, erwerben Sie zunächst ein Paket mit 2.000 Sitzungen pro Monat. Wenn das nicht genügt, können weitere Sitzungen hinzugefügt werden. Es existiert ein Dokument, in dem die genaue Definition einer Sitzung beschrieben ist: https://go.microsoft.com/fwlink/?linkid=2085130
Microsoft Dataverse for Teams
Flexible Apps in Microsoft Teams erstellenMicrosoft Dataverse for Teams - die Idee Microsoft Teams ist als Koounikations- und Zusammenarbeitsplattform außerordentlich erfolgreich und wird von den Anwendern meistens heiß und innig geliebt. Es ist natürlich einigermaßen...
Microsoft Dataverse
Flexibel Daten in Microsoft 365 speichernMicrosoft Dataverse - die Idee Sie haben vermutlich schon Berührungspunkte mit Power Apps und Power Automate gehabt, vielleicht auch mit den Power Virtual Agents. Die Lösungen, die Sie mit diesen drei Entwicklungsumgebungen...