Office 365 – ein Ticketsystem in 30 Minuten bauen – Teil 3

TEIL 3 – Die Geschäftslogik (Power Automate), Zusammenfassung und Ausblick.

Im dritten und letzten Teil dieser Reihe sollen die Komponenten logisch verknüpft werden. Das Ticketsystem aus Office 365 Komponenten wird hier fertiggestellt. Hierfür werden zwei neue Flows in Power Automate erstellt. Ein Flow zur Anlage neuer Aufgaben / Tickets nach Übermittlung des Formulars. Sowie ein Flow zur Rückmeldung an den Ticketersteller, sobald das Ticket geschlossen wurde. Sie können die Erstellung Flows anhand meiner Beschreibung nachvollziehen oder gerne auch meine exportierten Flows herunterladen.

Dieser Beitrag verteilt sich auf 3 Teile:

Erster Teil – Die Idee zum Ticketsystem, die Anforderungen und das Zielbild.

Zweiter Teil – Das Webformular (Microsoft Forms) und der Aufgabenplan (Microsoft Planner).

Dritter Teil – Die Geschäftslogik (Power Automate), Zusammenfassung und Ausblick. Dieser Teil.

Neuer Flow: Ticket eröffnet

Zur Anlage der Flows wechseln Sie jeweils in Power Automate, wählen Sie „Erstellen“ (Mit leerer App starten) und „Automatisierter Cloud-Flow“. Vergeben Sie einen Flownamen (hier: Ticketsystem-DEMO bzw. Ticketsystem-TicketClosed-DEMO) und definieren Sie einen Trigger. Im ersten Fall (Anlage neues Ticket) ist dies Forms – Bei Übermitteln einer neuen Antwort. Im zweiten Fall Planner – Bei Abschluss einer Aufgabe.

Hinweis: Sie erreichen alle Komponenten von Office 365 über das Backend office.com.

Im Folgenden werden beide Flows näher erläutert.

Flow zur Anlage der neuen Aufgabe.
Flow zur Anlage neuer Aufgaben. Dieser wird mit Absenden des Formulars ausgelöst.
  1. Der Flow wird getriggert durch die den Forms-Trigger „Bei Übermitteln einer neuen Antwort“. Hier ist die Formular-ID des angelegten Formulars zu wählen (hier: neues Ticket-Demo). Der Trigger selbst liefert nur die Antwort-ID des Formulars zurück, sodass die Aufgabendetails im nächsten Schritt abzurufen sind.
  2. Durch die Aktion „Antwortdetails abrufen“ werden die Details der Antwort (also Stichwort, Beschreibung, Priorität, etc.) ermittelt. Diese Aufgabe übergibt dann alle Formulareingaben als Ausgabe weiter.
  3. In Abhängigkeit der gewählten Kategorie (hier: Webseite, ERP, CRM) wird eine Aufgabe im Planner erstellt, dem verantwortlichen Bearbeiter zugewiesen und um Details (hier: Beschreibung des Tickets) ergänzt. Hinweis: In der Abbildung oben ist nur der Entscheidungszweig „Webseite“ dargestellt.

Wie in Teil 2 schon erwähnt soll die Priorität der Tickets als Teil des Übergebenen Formularwertes (String) übermittelt werden (z.B. „3-Wichtig“). Das entsprechende Feld „Priorität“ in der Aktion „Eine Aufgabe erstellen“ akzeptiert aber nur Integer-Werte (Vgl. folgende Abbildung).

Flow-Aktion zur Anlage einer neuen Aufgabe in Planner.
Eine Aufgabe in Microsoft Planner erstellen.

Wir müssen also den String zerlegen und das erste Zeichen (hier: „3“) in eine Zahl (Integer) umwandeln. Hierfür wird im Bereich Ausdruck folgende Formel eingegeben:

int(substring(outputs(‚Antwortdetails_abrufen‘)?[‚body/rfa56259d98224076949117e3f4ba293a‘],0,1))

Wobei ‚body/rfa56259d98224076949117e3f4ba293a‘ sich auf einen dynamisch erzeugten JSON-Key bezieht. Am einfachsten können Sie den Bezug herstellen indem Sie mit dem Cursor zwischen den zwei Klammern der substring-Funktion den Reiter „Dynamischer Inhalt“ wählen und das entsprechende Feld (hier: Priorität) markieren (Vgl. folgende Abbildung). Mit einem Klick auf den blauen „OK“-Button übernehmen Sie den Ausdruck in das Feld.

Einfügen des dynamischen Inhalts für das Feld Priorität
Die Priorität wird aus dem übergebenen String ermittelt.

Folgendes Video zeigt die Erstellung des dynamischen Ausdrucks für die Priorität:

In der letzten Aktion des Kontrollflusses „Aufgabendetails aktualisieren“ wird der Aufgabe noch die Beschreibung sowie als erstes Prüflistenelement (Prüflisten ID 0) die E-Mail des Ticketerstellers (Responders E-Mail) übergeben. Dieses Vorgehen wähle ich als pragmatischen Weg die Anforderung A 4 aus Teil 1 abzubilden.

Neuer Flow: Ticket geschlossen

Flow nach Abschluss einer Aufgabe im Support.
Flow zur Benachrichtigung bei Abschluss des Tickets / der Aufgabe im Support.#
  1. Der Flow wird getriggert durch den Planner-Trigger „Bei Abschluss einer Aufgabe“. Hier ist die Gruppen-ID (in welcher der Plan sowie das Team registriert sind) und die Plan-ID anzugeben.
  2. Um alle Details der abgeschlossenen Aufgabe zu beziehen muss die Aktion „Aufgabendetails abrufen“ folgen. Hier ist die von der Vorgängeraktion übergebene ID anzugeben.
  3. Als nächstes muss die E-Mail des Benutzers ermittelt werden, welcher das Ticket initial erstellt hat. Also der Benutzer, welcher das Formular (Forms) abgeschickt hat. Wie oben beschrieben ist wurde die E-Mail im ersten Prüflistenelement der Aufgabe hinterlegt. Diese gilt es nun aus dem übergebenen Payload zu ermitteln. Hierfür wird der Datenvorgang „Verfassen“ gewählt. In dessen Eingabe wird folgender Ausdruck hinterlegt: outputs(‚Aufgabendetails_abrufen‘)?[‚body/checklist‘][0][‚value‘][‚title‘]
  1. Nach Kenntnis der Benutzer-ID möchten wir nun auch weitere Informationen zum Nutzer (E-Mail, Vornamen, etc.) um adäquat mit diesem kommunizieren zu können. Hierfür wird die Aktion „Benutzerofil abrufen (V2)“ ergänzt. Dieser wird die in der Vorgängeraktion ermittelte Benutzer-ID übergeben.
  2. Zuletzt soll der Anforderer per Teams-Chat über den Status (Ticket geschlossen) des Tickets informiert werden. Hierfür wird die Aktion „Nachrichten in einem Chat oder Kanal veröffentlichen“ ergänzt (siehe Abbildung unten).
Flow Aktion zur Benachrichtigung des / der MitarbeiterIn
Aktion zur Benachrichtigung bezüglich des Abschlusses der Aufgabe.

Nach Anlage der Flows können Sie diese testen (Icon „Test“ oben rechts). Wählen Sie hier erst „Manuell“ und lösen Sie den Flow manuell aus. Dies erfolgt im ersten Fall (neues Ticket) durch Absenden des Webformulars und im zweiten Fall (Ticket geschlossen) durch Schließen der Aufgabe im Planner. Alle weitere Testdurchläufe können auf die Daten des ersten Manuellen Tests (Option „Automatisch“) durchgeführt werden.

Demo

Hier ein kurzes Demo der Funktion des Ticketsystems (fertig – wie im Tutorial beschrieben):

Support

Sie möchten das Ticketsystem operativ einsetzen und benötigen Support? Wir bieten Ihnen gerne Unterstützung an. Melden Sie sich hierfür bitte über unser Kontaktformular oder telefonisch +49 851 9869050 bei uns. 

Zusammenfassung und Ausblick

 

Ich habe mir vorab die Frage gestellt: Braucht man immer eine spezialisierte Software – z.B. für ein Ticketsystem. Meine eigene Antwort hierauf: Kommt darauf an. Es gibt eine Menge von Systeme zur Abbildung des Issue-Tracking und die meisten davon haben Ihre Berechtigung. Die Frage ist nur: Wird ein sinnvoller Funktionsumfang, nämlich jener, welcher die Lizenzkosten rechtfertigt überhaupt genutzt? Kann man diese Frage nicht bestätigen, so ist eine selbstgebaute Minilösung vielleicht eine gangbare Variante. Eine Mögliche Variante ist die hier dargestellte Lösung mittels Anwendungen aus Office 365.

Mit der modernen Infrastruktur, die Office 365 mitbringt ist die Abbildung eines kleinen Systems zur Aufnahme und zum Tracking von Tickets zumindest minimalistisch möglich und sehr schnell umzusetzen.

Weitergedacht: Das System ist modular. Mit ein paar weiteren Flows ist es durchaus denkbar Durchlaufzeiten oder die Kommunikation zwischen Support und Anforderer (Ticket-Ersteller) an das Ticket / die Aufgabe selbst zu hängen. Mit Hilfe ein paar einfacher Power Bi Visuals wird es möglich aussagekräftige Dashboards zum aktuellen Bearbeitungsstand zu visualisieren.

Haben Sie das aufgezeigte Ticketsystem nachgebaut? Haben Sie sich inspirieren lassen? Oder sind offene Fragen geblieben? Lassen Sie es mich wissen und kontaktieren Sie uns über unser Kontaktformular.

Vielen Dank für’s Lesen.

Mit besten Grüßen,

Jonas Kufner