Copilot Studio Agents aus Workflows aufrufen und strukturierte Daten weiterverarbeiten
Ein Copilot Studio Agent muss nicht ausschließlich über ein Chatfenster verwendet werden. Mit den neuen Workflows lässt sich ein veröffentlichter Agent auch automatisch aufrufen – beispielsweise sobald eine E-Mail in einem gemeinsamen Postfach eingeht. Der Agent analysiert den Inhalt, ermittelt die benötigten Informationen und gibt sie in einer strukturierten Form an den Workflow zurück.
Das eröffnet viele interessante Automatisierungsszenarien. Gleichzeitig zeigt sich jedoch, dass ein Aufruf aus einem Workflow nicht in jeder Hinsicht genauso funktioniert wie eine direkte Unterhaltung mit dem Agenten. Besonders deutlich wird dieser Unterschied, wenn ein Skill mithilfe eines Python-Skripts eine Datei innerhalb der Agent-Sandbox erzeugt.
Das folgende Video zeigt ein konkretes Beispiel.
Vom Chat zum automatisierten Geschäftsprozess
Im gezeigten Beispiel verarbeitet ein Agent Urlaubsanträge, die als frei formulierter Text vorliegen. Der Text kann direkt in den Agent-Chat eingegeben werden oder aus einer eingehenden E-Mail stammen. Der Agent extrahiert daraus unter anderem:
- den Namen der antragstellenden Person,
- die Abteilung,
- den ersten und letzten Urlaubstag,
- den zuständigen Vorgesetzten,
- das relevante Bundesland,
- die gesamte Anzahl der Kalendertage und
- die tatsächlichen Arbeitstage unter Berücksichtigung von Wochenenden und Feiertagen.
Im Chat kann ein Benutzer den Agenten direkt ansprechen. Für einen automatisierten Prozess wird dagegen ein Workflow benötigt. Dieser kann beispielsweise durch den Office-365-Outlook-Connector gestartet werden, sobald eine neue Nachricht in einem gemeinsamen Postfach eingeht. Über einen Betrefffilter wie „Urlaub“ lässt sich der Trigger auf die relevanten Nachrichten einschränken.
Der Workflow übergibt anschließend den Inhalt der E-Mail als Nachricht an einen Agentenknoten. Voraussetzung ist, dass der gewünschte Agent veröffentlicht wurde und für den Workflow zur Verfügung steht. Der Agent übernimmt dann den Teil des Prozesses, für den Sprachverständnis, Wissensquellen oder mehrere aufeinander aufbauende Überlegungen benötigt werden.
Der Agent als intelligenter Schritt im Workflow
Ein Workflow eignet sich besonders für klar definierte und wiederholbare Abläufe. Ein Agent kann dagegen unstrukturierte Inhalte verstehen, Informationen aus Texten extrahieren und auf Basis seiner Anweisungen, Skills und Wissensquellen Entscheidungen vorbereiten.
Durch die Kombination beider Ansätze entsteht eine sinnvolle Aufgabenteilung:
- Der Workflow erkennt das auslösende Ereignis und steuert die einzelnen Prozessschritte.
- Der Agent interpretiert den Inhalt und ermittelt die benötigten Informationen.
- Der Workflow verarbeitet die Ergebnisse weiter, ruft Connectoren auf und speichert Dateien oder Daten in den Zielsystemen.
Der Agent wird damit zu einem intelligenten Baustein innerhalb eines umfangreicheren automatisierten Geschäftsprozesses.
Strukturierte Daten statt einer einfachen Textantwort
Für die weitere Verarbeitung ist entscheidend, in welchem Format der Agent sein Ergebnis zurückgibt. Eine einfache Textantwort ist ausreichend, wenn das Ergebnis lediglich in eine E-Mail oder Teams-Nachricht eingefügt werden soll. Für Bedingungen, Berechnungen oder die Übergabe an weitere Aktionen ist eine strukturierte Ausgabe jedoch wesentlich besser geeignet.
Im Agentenknoten stehen dafür unterschiedliche Ausgabeformen zur Verfügung:
- Textantwort: Der Agent liefert eine einzelne Zeichenkette zurück.
- Strukturierte Ausgabe: Die benötigten Eigenschaften werden als benannte Felder definiert.
- Benutzerdefinierte strukturierte Ausgabe: Die Rückgabe basiert auf einem vorgegebenen JSON-Schema.
Für den Urlaubsantrag kann die Rückgabe vereinfacht beispielsweise folgendermaßen aufgebaut sein:
{
"name": "Max Mustermann",
"department": "Vertrieb",
"firstDayOff": "2026-09-14",
"lastDayOff": "2026-09-30",
"totalDays": 17,
"businessDays": 13,
"state": "NW",
"manager": "manager@example.com"
}
Eine flache Struktur ist dabei häufig einfacher zu verwenden als ein tief verschachteltes Objekt. Jedes definierte Feld steht im Workflow als eigener dynamischer Inhalt zur Verfügung. Dadurch kann der Workflow beispielsweise prüfen, ob die Anzahl der Arbeitstage einen bestimmten Wert erreicht, den Vorgesetzten informieren oder die Daten in einer SharePoint-Liste speichern.
Im Beispiel wird eine zusätzliche E-Mail an den Vorgesetzten gesendet, wenn der Urlaubsantrag mindestens zehn Arbeitstage umfasst. Die vom Agenten zurückgegebene E-Mail-Adresse und die berechnete Dauer können direkt in der Bedingung und in der nachfolgenden Outlook-Aktion verwendet werden.
Warum die PDF-Erzeugung im Skill beim Workflow-Aufruf scheitert
In einer ersten Version übernimmt der Agent noch den gesamten Prozess. Ein Skill enthält ein Python-Skript, das eine PDF-Vorlage ausfüllt und daraus einen fertigen Urlaubsantrag erzeugt. Bei einem direkten Aufruf über den Agent-Chat funktioniert dieser Ablauf: Das Skript läuft, die Datei wird erstellt und kann innerhalb dieses Agentenkontexts weiterverwendet oder ausgegeben werden.
Beim Aufruf desselben Agenten aus einem Workflow entsteht jedoch eine zusätzliche Grenze zwischen mehreren Ausführungskontexten. Das Python-Skript läuft in der isolierten Agenten-Sandbox. Diese Sandbox ist ein temporärer Arbeitsbereich mit einem eigenen lokalen Dateisystem. Ein dort erzeugter Dateipfad verweist deshalb nicht auf eine allgemein erreichbare Datei in SharePoint, OneDrive oder im Dateisystem des Workflows.
Beim direkten Chat-Aufruf bleiben die Unterhaltung, der Agent und seine Sandbox zunächst Teil desselben Verarbeitungskontexts. Der Agent kann dadurch eine erzeugte Datei als Ergebnis bereitstellen oder sie innerhalb dieses Ablaufs an ein konfiguriertes Tool übergeben.
Ein Workflow-Aufruf besitzt dagegen einen klar definierten Ein- und Ausgang. Der Workflow sendet eine Nachricht an den Agenten und erhält anschließend die konfigurierte Text- oder Datenstruktur zurück. Ein lokaler Pfad aus der Sandbox ist jedoch keine übertragbare Datei. Wenn dieser Pfad an einen SharePoint-Connector weitergegeben wird, kann der Connector nicht auf das isolierte Dateisystem zugreifen. Im ungünstigsten Fall wurde die temporäre Sandbox zu diesem Zeitpunkt bereits beendet.
Das Ergebnis kann zunächst wie ein erfolgreicher Ablauf aussehen: Der Agentenknoten wird als abgeschlossen angezeigt und in SharePoint wird möglicherweise sogar eine Datei angelegt. Der gespeicherte Inhalt ist jedoch keine gültige PDF-Datei, weil statt des eigentlichen Binärinhalts lediglich ein interner Pfad oder eine ungeeignete Textdarstellung übergeben wurde.
Wichtig ist außerdem, dass das Python-Skript aus der Sandbox heraus nicht direkt auf SharePoint oder eine beliebige externe API zugreifen kann. Die Sandbox besitzt keinen freien ausgehenden Netzwerkzugriff. Externe Aktionen müssen über ausdrücklich konfigurierte Tools, Connectoren oder andere kontrollierte Integrationswege erfolgen.
Warum base64 nicht automatisch die Lösung ist
Eine denkbare Alternative besteht darin, die erzeugte PDF-Datei innerhalb des Python-Skripts in eine base64-Zeichenkette umzuwandeln und diese als Teil der Agentenantwort zurückzugeben. Für kleine Inhalte kann dieses Prinzip grundsätzlich funktionieren. Für eine komplette PDF-Datei ist es im beschriebenen Szenario jedoch keine zuverlässige Lösung.
Durch die base64-Codierung wird die Datenmenge größer. Gleichzeitig muss der Inhalt mehrere Grenzen zwischen Sandbox, Agent, Agentenknoten und Workflow passieren. Hinzu kommt, dass der SharePoint-Connector für die Dateierstellung einen Binärinhalt und nicht einfach einen langen Text erwartet. Schon eine zusätzliche Kennzeichnung, eine gekürzte Antwort oder eine fehlerhafte Umwandlung kann dazu führen, dass die hochgeladene Datei beschädigt ist.
base64 sollte deshalb nur verwendet werden, wenn alle beteiligten Schritte die Größe und das Format ausdrücklich unterstützen und die Zeichenkette vor der Dateierstellung zuverlässig in Binärdaten zurückverwandelt wird.
Die passende Lösung: Aufgaben sauber trennen
Für einen stabilen Workflow wird die PDF-Erzeugung aus dem Skill entfernt. Der Agent konzentriert sich anschließend auf seine eigentliche Stärke: Er versteht den E-Mail-Text, verwendet seine Wissensquellen, berechnet die benötigten Werte und gibt alle Informationen strukturiert zurück.
Die dokumentbezogenen Schritte werden anschließend direkt im Workflow ausgeführt:
- Eine E-Mail mit einem Urlaubsantrag geht im gemeinsamen Postfach ein.
- Der Workflow wird durch den Connector-Trigger gestartet.
- Der E-Mail-Inhalt wird an den veröffentlichten Agenten übergeben.
- Der Agent extrahiert und berechnet die benötigten Daten.
- Die Werte werden als strukturierte Ausgabe an den Workflow zurückgegeben.
- Der Workflow lädt die PDF-Vorlage aus einer SharePoint-Bibliothek.
- Ein geeigneter PDF-Connector füllt die Formularfelder mit den Agentendaten.
- Der erzeugte Binärinhalt wird als neue PDF-Datei in SharePoint gespeichert.
- Weitere Bedingungen können Benachrichtigungen oder Prüfprozesse starten.
Im Beispiel enthält die PDF-Vorlage Formularfelder für Name, Abteilung, ersten und letzten Urlaubstag, Dauer und Vorgesetzten. Der Workflow ordnet jedes Feld einer passenden Eigenschaft aus der strukturierten Agentenantwort zu. Der vom PDF-Dienst zurückgegebene Dateiinhalt kann anschließend unmittelbar von der SharePoint-Aktion „Datei erstellen“ verarbeitet werden.
Netzwerkkonfiguration und Sandbox-Grenzen sind zwei unterschiedliche Themen
Für den allgemeinen Betrieb von Microsoft Copilot müssen die erforderlichen Microsoft-365- und Copilot-Endpunkte im Unternehmensnetzwerk erreichbar sein. Proxyserver, Firewalls, TLS-Inspektion oder blockierte WebSocket-Verbindungen können die Nutzung von Copilot-Funktionen beeinträchtigen.
Eine entsprechende Freigabe dieser Endpunkte hebt die Isolation der Agent-Sandbox jedoch nicht auf. Die Sandbox-Beschränkung ist Teil des Sicherheits- und Governance-Modells der Plattform. Sie lässt sich nicht dadurch umgehen, dass ein Administrator weitere Internetadressen in der Unternehmensfirewall freigibt.
Für Zugriffe auf SharePoint, APIs oder andere Systeme sollten daher immer die vorgesehenen Connectoren, Tools oder kontrollierte externe Dienste verwendet werden.
Vorteile dieser Architektur
Die Trennung zwischen intelligenter Datenanalyse und technischer Prozessausführung macht die Lösung nicht nur stabiler, sondern auch leichter verständlich und wartbar:
- Der Agent liefert klar definierte Geschäftsdaten statt temporärer Dateien.
- Der Workflow bleibt für Trigger, Bedingungen und externe Aktionen verantwortlich.
- Dateien werden in einem Kontext erzeugt, der ihren Binärinhalt direkt weiterverarbeiten kann.
- Fehler lassen sich leichter einem bestimmten Prozessschritt zuordnen.
- Die strukturierte Ausgabe kann auch für Genehmigungen, Listen, Datenbanken oder Benachrichtigungen genutzt werden.
- Der Agent kann unabhängig von der konkreten PDF-Lösung wiederverwendet werden.
Zusammenfassung
Copilot-Studio-Workflows ermöglichen es, veröffentlichte Agents als intelligente Schritte in automatisierte Prozesse einzubinden. Ein eingehendes Ereignis – etwa eine E-Mail – startet den Workflow. Der Agent analysiert den unstrukturierten Inhalt und gibt die Ergebnisse als klar definierte Felder zurück. Anschließend übernimmt der Workflow die verlässliche Weiterverarbeitung.
Das Beispiel zeigt zugleich eine wichtige Grenze: Eine in einem Skill erzeugte Datei befindet sich zunächst nur im temporären und isolierten Dateisystem der Agenten-Sandbox. Ein direkter Chat-Aufruf und ein Workflow-Aufruf besitzen unterschiedliche Verarbeitungskontexte. Ein interner Sandbox-Dateipfad kann daher nicht einfach als Datei an einen nachfolgenden Workflow-Schritt übergeben werden.
Die praxistaugliche Lösung besteht darin, den Agenten auf das Verstehen, Extrahieren und Strukturieren der Daten zu konzentrieren. Die PDF-Erzeugung, die Speicherung in SharePoint und weitere Prozessaktionen werden anschließend im Workflow umgesetzt. So ergänzen sich Agent und Workflow optimal: Der Agent liefert die Intelligenz, der Workflow sorgt für einen kontrollierten und nachvollziehbaren Ablauf.
Kommentare