Copilot Studio Agent erweitern: Zusätzliche Datenquellen nutzen und strukturierte Ergebnisse ausgeben
Ein Copilot Studio Agent wird besonders interessant, wenn er nicht nur Informationen aus einem eingegebenen Text verarbeitet, sondern zusätzlich auf Unternehmensdaten zugreifen und seine Ergebnisse anschließend an weitere Prozesse übergeben kann.
Genau darum geht es in diesem Beispiel. Ein bereits vorhandener Urlaubs-Agent wird erweitert. Der Agent kann aus einem Text – beispielsweise einer eingehenden E-Mail – Informationen zu einem Urlaubsantrag erkennen, die tatsächlichen Arbeitstage berechnen und daraus automatisch ein ausgefülltes PDF-Dokument erzeugen. Dieses Dokument wird anschließend in einer SharePoint-Dokumentbibliothek gespeichert.
Im nächsten Schritt soll der Agent jedoch mehr können: Zusätzliche Informationen aus einer Datenquelle ermitteln und seine Ergebnisse in einer klar definierten Struktur an einen Workflow zurückgeben.
Das folgende Video zeigt alle Schritte im Detail.
Vom einfachen Urlaubsantrag zum automatisierten Prozess
Als Ausgangspunkt dient ein typischer Urlaubsantrag, wie er beispielsweise per E-Mail eingehen könnte:
Hallo,
ich möchte gerne vom 7. bis 23. September Urlaub nehmen.
Viele Grüße
Max Mustermann
Aus einem solchen unstrukturierten Text kann der Agent bereits verschiedene Informationen extrahieren. Dazu gehören beispielsweise der Name des Mitarbeiters, der gewünschte Urlaubszeitraum und – soweit im Text vorhanden – weitere Angaben wie die Abteilung.
Ein eigener Skill übernimmt anschließend die Berechnung der tatsächlichen Arbeitstage. Dabei ist es wichtig, nicht einfach nur die Kalendertage zwischen zwei Datumswerten zu zählen. Wochenenden und Feiertage müssen berücksichtigt werden.
Genau an dieser Stelle entsteht eine neue Anforderung: Feiertage sind in Deutschland teilweise vom Bundesland abhängig. Der Agent muss deshalb wissen, in welchem Bundesland der jeweilige Mitarbeiter arbeitet.
Zusätzliche Unternehmensdaten als Datenquelle
Diese Information muss nicht zwingend in der ursprünglichen E-Mail enthalten sein. In einem realistischen Unternehmensprozess befinden sich solche Angaben normalerweise bereits in anderen Systemen.
Für das Beispiel im Video wird dafür bewusst eine einfache Excel-Datei verwendet. Sie enthält unter anderem folgende Informationen:
- Vorname und Nachname des Mitarbeiters
- Abteilung
- Bundesland
- zuständiger Manager bzw. Vorgesetzter
Der Agent erhält diese Excel-Datei als zusätzliche Datenquelle. Dadurch kann er beispielsweise anhand des Namens des Antragstellers feststellen, dass dieser in Nordrhein-Westfalen arbeitet und welcher Manager für seine Abteilung zuständig ist.
Eine Excel-Datei ist dabei natürlich nur ein einfaches Beispiel. In einer produktiven Umgebung könnten diese Informationen beispielsweise auch aus einer Dataverse-Tabelle oder einem anderen vorhandenen Unternehmenssystem stammen. Entscheidend ist das Prinzip: Der Agent kombiniert die Informationen aus dem eigentlichen Antrag mit zusätzlichen Unternehmensdaten.
Skills arbeiten gemeinsam an einer Aufgabe
Besonders interessant ist dabei das Zusammenspiel mehrerer spezialisierter Skills. Der Agent muss nicht sämtliche Aufgaben selbst erledigen. Stattdessen kann er abhängig vom jeweiligen Arbeitsschritt unterschiedliche Fähigkeiten verwenden.
Im gezeigten Szenario entsteht dadurch vereinfacht folgende Verarbeitungskette:
- Der Agent analysiert den Text des Urlaubsantrags.
- Er extrahiert Informationen wie Name und Urlaubszeitraum.
- Über die zusätzliche Datenquelle werden Bundesland und Manager ermittelt.
- Ein Skill berechnet die tatsächlichen deutschen Arbeitstage.
- Ein weiterer Skill erzeugt auf Basis einer vorhandenen Vorlage das ausgefüllte PDF-Dokument.
- Das fertige Dokument wird in SharePoint gespeichert.
Damit wird aus einer relativ einfachen Texteingabe ein automatisierter Geschäftsprozess.
PDF-Vorlagen automatisch mit den ermittelten Daten füllen
Auch das bereits vorhandene PDF-Formular wird für das neue Szenario erweitert. Neben den bisherigen Informationen erhält es zusätzliche Formularfelder für das Bundesland und den Manager.
Der für die PDF-Erzeugung verwendete Skill wird entsprechend angepasst. Er bekommt die zusätzlichen Werte übergeben und ordnet sie den passenden Formularfeldern der PDF-Vorlage zu.
Innerhalb des Skills kommt ein Script zum Einsatz, das die Formularfelder des PDF-Dokuments verarbeitet. Für die neuen Werte werden zusätzliche Parameter und Feldzuordnungen ergänzt. Der grundlegende Prozess bleibt dadurch unverändert: Der Agent sammelt die benötigten Informationen und der spezialisierte Skill übernimmt die technische Erzeugung des fertigen Dokuments.
Das Ergebnis ist ein vollständig ausgefüllter Urlaubsantrag, der anschließend automatisch in der vorgesehenen SharePoint-Dokumentbibliothek abgelegt wird.
Der Agent nutzt automatisch die passenden Fähigkeiten
Bei einem Test des erweiterten Agents lässt sich gut erkennen, wie die einzelnen Funktionen zusammenspielen. Der Agent analysiert zunächst den Antrag und erkennt anschließend, dass ihm für die weitere Verarbeitung zusätzliche Informationen fehlen.
Er durchsucht daraufhin die bereitgestellte Excel-Datenquelle und ermittelt daraus das Bundesland sowie den zuständigen Manager. Anschließend wird der Skill zur Berechnung der Arbeitstage aufgerufen und danach der Skill zur Erzeugung des PDF-Dokuments.
Das Beispiel zeigt damit einen wichtigen Vorteil eines Agent-basierten Ansatzes: Nicht jeder Verarbeitungsschritt muss in einem einzigen großen Workflow fest programmiert werden. Unterschiedliche Skills und Datenquellen können gemeinsam zur Lösung einer Aufgabe verwendet werden.
Strukturierte Rückgabewerte statt eines langen Antworttexts
Für die weitere Automatisierung gibt es allerdings noch eine wichtige Anforderung. Wird der Agent später aus einem Workflow heraus aufgerufen, reicht ein normaler Antworttext häufig nicht aus.
Ein Workflow benötigt Werte, die zuverlässig weiterverarbeitet werden können.
Im Beispiel soll der Agent deshalb am Ende drei Informationen strukturiert zurückgeben:
- Department – die Abteilung des Mitarbeiters
- Manager – die E-Mail-Adresse des zuständigen Managers
- Duration – die ermittelte Anzahl der Urlaubstage
Dafür wird in den Anweisungen des Agents eine feste Rückgabestruktur definiert. Statt einer ausführlichen natürlichsprachlichen Antwort liefert der Agent anschließend beispielsweise sinngemäß folgende Daten:
{
"Department": "IT",
"Manager": "manager@contoso.com",
"Duration": 13
}
Damit kann ein nachfolgender Workflow sehr viel einfacher arbeiten. Die einzelnen Werte stehen klar getrennt zur Verfügung und können für Bedingungen, Benachrichtigungen oder weitere Aktionen verwendet werden.
Beispiel: Geschäftsführung bei längeren Urlaubsanträgen informieren
Ein praktisches Beispiel zeigt, warum diese strukturierte Rückgabe so wichtig ist.
Der Agent soll später durch einen Workflow aufgerufen werden, sobald beispielsweise eine neue Urlaubsanfrage in einem gemeinsamen Postfach eingeht. Der Workflow übergibt den Inhalt der Nachricht an den Agent. Dieser analysiert die Anfrage, ermittelt zusätzliche Mitarbeiterinformationen, berechnet die Urlaubstage, erzeugt das PDF-Dokument und gibt anschließend die wichtigsten Werte an den Workflow zurück.
Der Workflow kann danach beispielsweise eine einfache Geschäftsregel anwenden:
Wenn die Anzahl der Urlaubstage größer oder gleich 10 ist, soll zusätzlich die Geschäftsführung informiert werden.
Bei einem Antrag mit 13 ermittelten Arbeitstagen könnte der Workflow also automatisch eine zusätzliche E-Mail versenden. Bei einem Antrag über beispielsweise fünf Tage wäre diese zusätzliche Aktion nicht erforderlich.
Der Agent übernimmt damit die intelligente Analyse und Aufbereitung der Informationen, während der Workflow anschließend die eigentliche Prozesslogik ausführt.
Agent und Workflow ergänzen sich
Das Beispiel verdeutlicht sehr gut, wie sich Copilot Studio Agents und klassische Workflows ergänzen können.
Der Agent eignet sich besonders für Aufgaben, bei denen Informationen zunächst interpretiert, aus unterschiedlichen Quellen zusammengeführt oder durch spezialisierte Skills verarbeitet werden müssen. Der Workflow kann dagegen anschließend klar definierte Geschäftsregeln und Aktionen ausführen.
Für den Urlaubsprozess bedeutet das:
E-Mail → Agent → Datenquellen und Skills → PDF → SharePoint → strukturierte Rückgabe → weitere Workflow-Aktionen
Aus einer einfachen E-Mail entsteht damit ein weitgehend automatisierter Prozess, bei dem unterschiedliche Funktionen miteinander kombiniert werden.
Zusammenfassung
Die Erweiterung des Urlaubs-Agenten zeigt, dass Copilot Studio Agents nicht auf die Verarbeitung eines einzelnen Prompts oder einer einzelnen Datenquelle beschränkt sein müssen. Zusätzliche Unternehmensinformationen können in die Verarbeitung einbezogen und mit spezialisierten Skills kombiniert werden.
Besonders wichtig für echte Geschäftsprozesse ist außerdem die Möglichkeit, strukturierte Ergebnisse zurückzugeben. Dadurch können nachgelagerte Workflows zuverlässig auf einzelne Werte zugreifen und darauf basierend weitere Entscheidungen treffen.
Das Beispiel kombiniert mehrere typische Anforderungen aus der Praxis: Informationen aus unstrukturiertem Text extrahieren, Unternehmensdaten ergänzen, Arbeitstage berechnen, ein PDF-Formular automatisch erzeugen, das Dokument in SharePoint speichern und anschließend relevante Daten für weitere Prozessschritte bereitstellen.
Im nächsten Schritt kann der Agent direkt in einen Workflow integriert werden. Damit lässt sich der komplette Prozess – vom Eingang einer E-Mail bis hin zu zusätzlichen Benachrichtigungen auf Basis der ermittelten Urlaubsdauer – automatisieren.
Verwendete Daten im Github: Dateien anzeigen
Kommentare