DEXPRO AWF Externe Genehmigungen — Einrichtungshandbuch
Zielgruppe: Kunden und Administratoren, die das Feature installieren und konfigurieren.
Power-Automate-Flow selbst warten? Siehe
POWERAUTOMATE-DEV-GUIDE.de-DE.md(DEXPRO-Entwickler / erfahrene Administratoren).Eine Nicht-Teams-Integration auf Basis der SharePoint-Liste aufbauen? Siehe
SHAREPOINT-CONTRACT.de-DE.md.Ein benutzerdefiniertes Portal oder eine App, die BC direkt aufruft? Siehe
API-INTEGRATION-GUIDE.de-DE.md— kein SharePoint-Setup erforderlich.
Übersicht
Das Feature Externe Genehmigungen des DEXPRO Advanced Workflow (AWF) ermöglicht es Genehmigern, Genehmigungseinträge direkt in Microsoft Teams — oder über jedes andere System, das eine SharePoint-Liste lesen und schreiben kann — zu bearbeiten, ohne jemals den Business-Central-Web-Client zu öffnen. Damit können Organisationen Manager, Abteilungsleiter oder weitere Beteiligte aus den ihnen vertrauten Werkzeugen heraus in Genehmigungsworkflows einbinden.
Lizenzierung — Verantwortung des Kunden/Partners: Das Bearbeiten von Business-Central-Daten erfordert weiterhin für jeden Genehmiger eine geeignete kostenpflichtige Business-Central-Benutzerlizenz; eine Microsoft-365-Lizenz allein genügt nicht. DEXPRO gibt keine lizenzrechtliche Zusicherung — der Kunde und sein Microsoft-Lizenzierungspartner sind dafür verantwortlich, die genaue Anforderung mit Microsoft zu klären. Siehe Voraussetzungen und den Lizenzhinweis in
API-INTEGRATION-GUIDE.de-DE.md.
Integration eines Nicht-Teams-Systems? Die SharePoint-Liste ist der Vertrag. Siehe
SHAREPOINT-CONTRACT.de-DE.mdfür die vollständige Integrationsreferenz, Spaltendefinitionen, den Statusautomaten und Beispiel-Payloads. Dieses Einrichtungshandbuch konzentriert sich auf die Teams-/Power-Automate-Referenzimplementierung.Direkt in SharePoint genehmigen: Die Liste verwendet typisierte Spalten —
ApprovalStatusist ein Dropdown,ResponseDateTimehat eine native Datumsauswahl,ResponseCommentist ein mehrzeiliges Textfeld. Ein Genehmiger mit SharePoint-Zugriff kann ein ausstehendes Element öffnen und es direkt im Bearbeitungsformular der Liste genehmigen, ohne Teams oder Power Automate. Die BC-Aufgabenwarteschlange liest die Änderung beim nächsten Abfragezyklus.
Funktionsweise
Wenn ein Genehmigungseintrag einem externen Genehmiger zugewiesen wird, schreibt Business Central die Genehmigungsanfrage über die Microsoft Graph API in eine SharePoint-Liste. Ein Power-Automate-Flow erkennt das neue Listenelement und sendet dem Genehmiger eine reichhaltige Adaptive Card in Microsoft Teams. Der Genehmiger tippt direkt in Teams auf Genehmigen oder Ablehnen, und Power Automate aktualisiert das SharePoint-Listenelement mit der Antwort. Eine Aufgabenwarteschlange in Business Central fragt die SharePoint-Liste ab und verarbeitet die Entscheidungen durch die Workflow-Engine.
Architektur
BC erstellt Genehmigungseintrag (externer Genehmiger)
│
│ BC-seitig (Graph API)
▼
SharePoint-Liste: Neues Element erstellt
│
│ Power-Automate-Trigger (Standard-Connector — kostenlos)
▼
„Wenn ein Element erstellt wird" wird ausgelöst
│
▼
Power Automate sendet Adaptive Card an Teams
│
▼
Genehmiger tippt in Teams auf „Genehmigen" / „Ablehnen"
│
│ Power Automate (Standard-Connector)
▼
SharePoint-Listenelement mit Antwort aktualisiert
│
│ BC-Aufgabenwarteschlange fragt SharePoint-Liste ab (Graph API)
▼
BC verarbeitet Antwort → Workflow schreitet voran
Lizenzvorteil: Sowohl der SharePoint- als auch der Teams-Connector sind Standard-Connectors (kostenlos) in Power Automate, in allen Microsoft-365-Business-Lizenzen enthalten. Keine Power-Automate-Premium-Lizenz erforderlich.
Voraussetzungen
| Anforderung | Details |
|---|---|
| Business Central | DEXPRO-AWF-Erweiterung installiert, BC 25 oder höher |
| BC-Lizenz des externen Genehmigers | Jeder externe Genehmiger benötigt eine geeignete kostenpflichtige Business-Central-Benutzerlizenz — das Bearbeiten von BC-Daten (direkt oder über die SharePoint-Weiterleitung) ist durch eine Microsoft-365-Lizenz allein nicht abgedeckt (Microsoft-Multiplexing-Bedingungen). Eine Team-Member-Lizenz kann für reine Genehmigungsnutzung ausreichen, ist jedoch für benutzerdefinierte/externe Szenarien nicht garantiert. DEXPRO gibt keine lizenzrechtliche Zusicherung — der Kunde/Partner muss die Anforderung mit Microsoft klären |
| Microsoft 365 | Externe Genehmiger benötigen zusätzlich eine Teams-fähige M365-Lizenz (Business Basic oder höher) für die Teams-Karte |
| Power Automate | Standard-Lizenz (in M365 enthalten) — keine Premium-Lizenz erforderlich |
| SharePoint-Website | Eine SharePoint-Website für die Genehmigungsliste (bestehend oder neu) |
| Entra-App-Registrierung | Erforderlich, damit BC die SharePoint-Liste über die Graph API lesen/schreiben kann. Wird auch für die Entra-ID-Gruppenauflösung verwendet |
| BC-Dienstkonto | Ein BC-lizenzierter Benutzer mit dem Berechtigungssatz DXP AWF Admin. Dieser Benutzer führt die Aufgabenwarteschlangenposten aus, die SharePoint abfragen |
Schritt 1: Entra-ID-App-Registrierung erstellen
Business Central kommuniziert mit SharePoint und Microsoft Graph über OAuth2-Clientanmeldeinformationen. Sie benötigen eine App-Registrierung in Microsoft Entra ID (ehemals Azure AD).
Tipp: Wenn Sie bereits eine DXP-bezogene App-Registrierung haben (z. B. von DXP Core), können Sie diese wiederverwenden — fügen Sie einfach die erforderlichen Berechtigungen hinzu.
1.1 Anwendung registrieren
- Öffnen Sie das Microsoft Entra Admin Center
- Navigieren Sie zu Identität → Anwendungen → App-Registrierungen
- Klicken Sie auf Neue Registrierung
- Name:
DEXPRO AWF Graph API(oder ein beliebiger beschreibender Name) - Unterstützte Kontotypen:
Nur Konten in diesem Organisationsverzeichnis(einzelner Mandant) - Umleitungs-URI: Leer lassen (für Clientanmeldeinformationen nicht erforderlich)
- Name:
- Klicken Sie auf Registrieren
- Kopieren Sie auf der Übersichtsseite der App:
- Anwendungs-ID (Client-ID) — wird später benötigt
- Verzeichnis-ID (Mandanten-ID) — wird später benötigt
1.2 API-Berechtigungen hinzufügen
| Berechtigung | Typ | Zweck |
|---|---|---|
Sites.ReadWrite.All | Anwendung | Erforderlich. Listenelemente lesen/schreiben, Anhänge hochladen, Freigabelinks erstellen. |
Sites.Manage.All | Anwendung | Erforderlich. Genehmigungsliste und Spalten erstellen (inkl. typisierter Spalten wie AmountRaw / DueDateRaw). Ohne diese Berechtigung schlägt die Ersteinrichtung mit 403 accessDenied fehl. |
GroupMember.Read.All | Anwendung | (Optional) Mitglieder von Entra-ID-Sicherheitsgruppen auflösen |
Group.Read.All | Anwendung | (Optional) Verfügbare Entra-Gruppen für die Suche auflisten |
- Klicken Sie auf Berechtigungen hinzufügen
- Klicken Sie auf Administratorzustimmung erteilen für [Ihre Organisation] und bestätigen Sie
Sowohl
Sites.ReadWrite.Allals auchSites.Manage.Allsind erforderlich — Letzteres wird benötigt, um die Genehmigungsliste und ihre Spalten zu erstellen. Wenn nurSites.ReadWrite.Allgewährt wird, schlägt der SharePoint-Schritt des Assistenten beim ersten Ausführen mit403 accessDeniedfehl.Die Berechtigungen
GroupMember.Read.AllundGroup.Read.Allwerden nur benötigt, wenn Sie Entra-ID-Sicherheitsgruppen als externe Genehmigergruppen verwenden möchten. Für manuelle Gruppen oder Einzelgenehmiger können Sie diese überspringen.
1.3 Geheimen Clientschlüssel erstellen
Schritt 2: Einrichtungsassistenten in Business Central ausführen
Der Einrichtungsassistent übernimmt alles — OAuth2-Konfiguration, SharePoint-Verbindung, Listenerstellung und Aufgabenwarteschlangeneinrichtung — in einem einzigen geführten Ablauf. Keine manuelle OAuth2- oder Feldkonfiguration erforderlich.
2.1 AWF-Einrichtung öffnen
- Suchen Sie in Business Central nach AWF Einrichtung (Alt+Q) und öffnen Sie die Seite
- Klicken Sie in der Aktionsleiste auf Externe Genehmigungen einrichten, um den Assistenten zu starten
2.2 Schritte des Assistenten
Der Assistent führt Sie durch sechs Schritte:
| Schritt | Was passiert |
|---|---|
| 1. Willkommen | Übersicht über Voraussetzungen und was der Assistent konfiguriert |
| 2. Einrichtungstyp | Wählen Sie, was konfiguriert werden soll: Entra-Gruppensynchronisierung (Entra-Gruppen zu Mitgliedern auflösen für Gruppengenehmigungen), SharePoint-Genehmigungen (Teams-Benachrichtigungen über Power Automate — erfordert eine SharePoint-Website) oder Beides. Bei nur Entra-Gruppensynchronisierung wird der Schritt SharePoint-Website übersprungen. |
| 3. Anmeldeinformationen | Geben Sie Mandanten-ID, Client-ID und Geheimen Clientschlüssel aus der Entra-App-Registrierung (Schritt 1) ein — oder aktivieren Sie Bestehende OAuth2-Einrichtung wiederverwenden und wählen einen vorhandenen DXP-OAuth2-Einrichtungscode (z. B. einen bereits für DXP Core erstellten). Der Assistent erstellt den DXP-OAuth2-Einrichtungsdatensatz automatisch. Bei einem erneuten Lauf ist die Wiederverwendung voreingestellt. |
| 4. Verbindungstest | Der Assistent testet die OAuth2-Anmeldeinformationen durch Anforderung eines Zugriffstokens. Wenn der Test fehlschlägt, können Sie die Anmeldeinformationen korrigieren und erneut versuchen. |
| 5. SharePoint-Website | Geben Sie Ihre SharePoint-Website-URL ein (z. B. https://ihrunternehmen.sharepoint.com/sites/genehmigungen) und optional einen benutzerdefinierten Genehmigungslistennamen (Standard: DXP AWF Approvals). Der Assistent löst die Website auf, erstellt die Liste falls nicht vorhanden, oder verwendet eine bestehende Liste mit diesem Namen und fügt fehlende Spalten hinzu, löst das Dokumentbibliothek-Laufwerk auf und speichert alle internen IDs. |
| 6. Fertig | Zusammenfassung der konfigurierten Einstellungen. Klicken Sie auf Fertig stellen, um das Feature zu aktivieren und die Aufgabenwarteschlangenposten zu erstellen. |
Nach Abschluss erstellt der Assistent:
- Einen DXP-OAuth2-Einrichtungsdatensatz mit Code
AWF(Anmeldeinformationen sicher im isolierten Speicher gespeichert) - Die SharePoint-Liste „DXP AWF Approvals" (neu oder wiederverwendet) mit allen erforderlichen Spalten
- Den Anhangsordner auf „AWF-Attachments" (verwendet wenn „Anhänge hochladen" aktiviert ist)
- Aufgabenwarteschlangenposten für:
- Externe Genehmigungsabfrage — fragt die SharePoint-Liste nach Antworten ab (alle 2 Minuten)
- Entra-Gruppensynchronisierung — aktualisiert Entra-ID-Gruppenmitgliedschaften regelmäßig (alle 4 Stunden)
- Schaltet SharePoint-Genehmigungen aktiviert auf „Ja"
Assistenten erneut ausführen: Sie können den Assistenten jederzeit erneut ausführen. Er lädt vorhandene Anmeldeinformationen und aktualisiert die Konfiguration. Die SharePoint-Liste wird nicht dupliziert — der Assistent findet die vorhandene Liste anhand des Namens und fügt bei veraltetem Schema fehlende Spalten hinzu (kein Datenverlust).
2.2.1 Diagnose / Integritätsprüfung
Nach der Ersteinrichtung stellt die Seite AWF Einrichtung die Aktion SharePoint-Genehmigungen diagnostizieren bereit. Sie führt eine nicht-destruktive End-to-End-Prüfung durch: OAuth2-Token-Abruf, Erreichbarkeit von SharePoint-Website/Laufwerk/Liste, Spaltenschema, Aufgabenwarteschlangenstatus und eine Übersicht über fehlerhafte oder über sieben Tage alte Einträge. Führen Sie diese Aktion aus, wenn ein Benutzer ein Problem meldet — die Ausgabe zeigt genau, welcher Schritt fehlerhaft ist.
2.3 Umschalter „Anhänge hochladen"
Nach Abschluss des Assistenten zeigt die Seite AWF Einrichtung im Abschnitt „Externe Genehmigungen" den Umschalter Anhänge hochladen. Wenn aktiviert (Standard), werden Dokumentanhänge aus dem Quelldatensatz nach SharePoint hochgeladen und ein Freigabelink in die Adaptive Card in Teams eingebunden. Deaktivieren Sie diese Option, wenn Sie keine Anhänge mit externen Genehmigern teilen möchten.
2.4 Manuelle Aufgabenwarteschlangen-Einrichtung (Alternative)
Wenn Sie die Aufgabenwarteschlangenintervalle anpassen oder diese lieber manuell erstellen möchten:
- Suchen Sie nach Aufgabenwarteschlangenposten und öffnen Sie die Seite
- Erstellen Sie einen neuen Posten:
- Auszuführende Objektart: Codeunit
- Auszuführende Objekt-ID:
70954832(DXP AWF Ext. Approval Poller) - Wiederkehrender Auftrag: Ja
- Anzahl Minuten zwischen Ausführungen:
2(oder Ihr bevorzugtes Abfrageintervall) - Status: Bereit
- (Optional) Erstellen Sie einen zweiten Posten für die Entra-Gruppensynchronisierung:
- Auszuführende Objektart: Codeunit
- Auszuführende Objekt-ID:
70954833(DXP AWF Entra Group Sync) - Wiederkehrender Auftrag: Ja
- Anzahl Minuten zwischen Ausführungen:
240(4 Stunden) - Status: Bereit
Schritt 3: Externe Genehmiger erstellen
Externe Genehmiger sind Personen, die an Genehmigungsworkflows aus Teams oder einem anderen System statt aus dem Business-Central-Web-Client teilnehmen. Jeder Genehmiger benötigt eine geeignete kostenpflichtige Business-Central-Benutzerlizenz (eine Microsoft-365-Lizenz allein genügt nicht; der Kunde/Partner ist dafür verantwortlich, die genaue Anforderung mit Microsoft zu klären) sowie ein Microsoft-365-Konto mit Teams-Zugang.
3.1 Externe Genehmiger öffnen
Klicken Sie auf der Seite AWF Einrichtung in der Aktionsleiste auf Externe Genehmiger. Alternativ suchen Sie in der BC-Suchleiste nach Externe Genehmiger.
3.2 Einzelnen externen Genehmiger erstellen
- Klicken Sie auf der Listenseite Externe Genehmiger auf Neu
- Die Externe-Genehmiger-Karte öffnet sich. Füllen Sie aus:
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Code | Eindeutige Kennung (Code[20]) | EXT-HANS |
| Anzeigename | Vollständiger Name | Hans Müller |
| Die Microsoft-365-E-Mail oder der Benutzerprinzipalname (UPN) der Person. Muss exakt mit der Teams-Identität übereinstimmen. | hans.mueller@unternehmen.de | |
| Sprachcode | (Optional) Sprache für die Teams-Karten-Beschriftungen. Wenn leer, wird die Standardsprache der BC-Umgebung verwendet. | DEU für Deutsch, ENU für Englisch |
| Entra-Objekt-ID | (Optional) Wird automatisch ausgefüllt, wenn aus einer Entra-Gruppe synchronisiert. Für die manuelle Einrichtung nicht erforderlich. |
3.3 Externe Genehmigergruppe erstellen
Gruppen ermöglichen anspruchsbasierte Genehmigungen — die Genehmigungsanfrage wird an alle Mitglieder gesendet, und das erste Mitglied, das antwortet, gewinnt.
- Klicken Sie auf der Seite AWF Einrichtung in der Aktionsleiste auf Externe Genehmigergruppen
- Klicken Sie auf Neu
- Die Externe-Genehmigergruppe-Karte öffnet sich. Füllen Sie aus:
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Code | Eindeutige Kennung | FINANZ-GRUPPE |
| Beschreibung | Gruppenbeschreibung | Finanzgenehmiger |
- Fügen Sie in der Mitglieder-Unterseite unten jedes Mitglied hinzu:
- Code des externen Genehmigers — Suche, um einen vorhandenen externen Genehmiger auszuwählen
- E-Mail — E-Mail des Mitglieds (wird aus dem Genehmigerdatensatz übernommen)
- Anzeigename — Name des Mitglieds
Wenn ein Workflow diese Gruppe zuweist, erhält jedes Mitglied seinen eigenen externen Genehmigungseintrag. Das erste Mitglied, das genehmigt oder ablehnt, bestimmt das Ergebnis.
3.4 Entra-ID-gruppenbasierte Genehmigergruppe erstellen
Anstatt Mitglieder manuell zu verwalten, können Sie eine Gruppe mit einer Microsoft-Entra-ID-Sicherheitsgruppe verknüpfen. Das System löst Mitglieder direkt aus Entra über die Graph API auf.
Warum nicht BC's integrierte Sicherheitsgruppen verwenden? Das BC-Sicherheitsgruppensystem gibt nur Benutzer zurück, die bereits als BC-Benutzer existieren. Externe Genehmiger haben per Definition keine BC-Konten, daher muss die Entra-Gruppenauflösung direkt über die Graph API erfolgen.
- Erstellen Sie eine neue Externe Genehmigergruppe (siehe 3.3)
- Verwenden Sie im Abschnitt Entra-ID-Synchronisierung die Assist-Schaltfläche (⋯) am Feld Entra-Gruppenname. Dies ruft die Graph API auf und zeigt eine Auswahl der sicherheitsaktivierten Entra-Gruppen; nach der Auswahl füllt BC die (ausgeblendete) Entra-Gruppen-ID automatisch und führt eine erste Synchronisierung aus.
- Zum späteren Aktualisieren klicken Sie in der Aktionsleiste auf Aus Entra ID synchronisieren
- Das System ruft die Graph API auf und befüllt die Mitglieder-Liste mit allen direkten Mitgliedern der Entra-Gruppe
- Der Zeitstempel Letzte Entra-Synchronisierung wird aktualisiert
- Überprüfen Sie die Mitgliederliste, um sicherzustellen, dass die richtigen Personen gefunden wurden
Hinweis: Gruppenmitglieder werden auch live zur Laufzeit aufgelöst, wenn Genehmigungseinträge für eine Entra-verknüpfte Gruppe erstellt werden. Die persistierte Mitgliederliste dient hauptsächlich der Überprüfung. Ein automatischer Entra-Gruppensynchronisierungsauftrag (falls in Schritt 2.2 konfiguriert) hält die Mitgliederliste regelmäßig aktuell.
Schritt 4: Externe Genehmiger Workflow-Schritten zuweisen
- Öffnen Sie eine AWF-Workflowvorlage (suchen Sie nach „AWF Workflowvorlagen")
- Öffnen oder erstellen Sie einen Schritt
- Setzen Sie das Feld Art des Zuständigen auf eine der folgenden Optionen:
- Externer Genehmiger — weist einer einzelnen externen Person zu
- Externe Genehmigergruppe — weist einer Gruppe zu (jedes Mitglied erhält seinen eigenen Eintrag)
- Suchen und wählen Sie im Feld Zuständigencode den externen Genehmiger oder die Gruppe
Wichtig: Schritte mit externen Genehmigern müssen Ablehnungsgruppen aktiviert haben (Validierung wird durchgesetzt). Wenn das Feature „Verknüpfte Genehmigungen" für einen Schritt aktiviert ist, muss auch die Einstellung der zugehörigen Ablehnungsgruppe aktiviert sein.
Schritt 5: Power-Automate-Lösungspaket installieren
Die Teams-Genehmigungsautomatisierung wird als Power-Platform-Lösungspaket geliefert — eine .zip-Datei, die einmalig importiert wird. Während des Imports binden Sie die beiden Verbindungsreferenzen der Lösung an die SharePoint- und Teams-Verbindungen Ihres Mandanten und konfigurieren die Umgebungsvariablen, um den Flow auf die SharePoint-Website und -Liste zu zeigen, die der Assistent erstellt hat. Gesamtdauer: 5–10 Minuten.
Den Flow lieber manuell aufbauen (z. B. zur Anpassung oder um Schritt für Schritt zu sehen, was er macht)? Siehe
POWERAUTOMATE-DEV-GUIDE.de-DE.md. Der hier beschriebene Paketimport ist der Weg, den die meisten Kunden verwenden; das Entwicklerhandbuch ist für DEXPRO-Betreuer und erfahrene Administratoren.
Der Flow verwendet nur Standard-Connectors (SharePoint + Teams) — keine Power-Automate-Premium-Lizenz erforderlich.
5.1 Lösung importieren
- Öffnen Sie <https://make.powerapps.com> und wechseln Sie zu der Umgebung, in der der Flow ausgeführt werden soll (Umgebungsauswahl oben rechts).
- Linke Navigation → Lösungen → Lösung importieren.
- Durchsuchen und wählen Sie das Paket
DEXPROApprovalFlow_x.x.x.x.zip, das mit dieser Version geliefert wird. Klicken Sie auf Weiter. - Power Apps zeigt eine Zusammenfassung des Lösungsinhalts (ein Cloud-Flow, zwei Verbindungsreferenzen). Klicken Sie auf Weiter.
- Verbindungsreferenzen — binden Sie jede an eine Verbindung in Ihrem Mandanten:
- SharePoint DEXPROApprovalFlow-… → wählen (oder erstellen) Sie eine SharePoint-Verbindung, authentifiziert als Benutzer, der die Genehmigungsliste lesen/schreiben kann.
- Microsoft Teams DEXPROApprovalFlow-… → wählen (oder erstellen) Sie eine Teams-Verbindung, authentifiziert als Benutzer, der Flow-Bot-Nachrichten senden kann.
- Umgebungsvariablen — setzen Sie jede auf Ihre SharePoint-Liste:
- Sharepoint Site Address — die vollständige URL Ihrer SharePoint-Website (z. B.
https://ihrunternehmen.sharepoint.com/sites/genehmigungen). Dies ist dieselbe Website-URL, die Sie im Assistenten eingegeben haben. - Sharepoint List Name — der Name der vom Assistenten erstellten Liste (Standard:
DXP AWF Approvals).
- Sharepoint Site Address — die vollständige URL Ihrer SharePoint-Website (z. B.
- Klicken Sie auf Importieren. Warten Sie auf „Lösung erfolgreich importiert" (dauert typischerweise unter einer Minute).
5.2 Umgebungsvariablen aktualisieren (falls erforderlich)
Die beim Import gesetzten Umgebungsvariablen zeigen standardmäßig auf die DEXPRO-Sandbox-Website. Wenn Sie sie im Importassistenten gesetzt haben (Schritt 5.1, Schritt 6), ist dieser Schritt bereits erledigt.
Falls Sie die Werte nach dem Import ändern müssen:
- Öffnen Sie die importierte Lösung → Umgebungsvariablen.
- Klicken Sie auf Sharepoint Site Address → bearbeiten Sie den Aktuellen Wert mit Ihrer SharePoint-Website-URL.
- Klicken Sie auf Sharepoint List Name → bearbeiten Sie den Aktuellen Wert mit Ihrem Listennamen.
Der Flow verwendet diese Variablen in allen SharePoint-Aktionen — kein manuelles Umbinden einzelner Aktionen erforderlich.
5.3 Flow einschalten
- Öffnen Sie in der Lösungsansicht Cloud-Flows → DEXPRO AWF Externe Genehmigung.
- Der Status des Flows sollte nach dem Import Ein lauten. Falls Aus, klicken Sie auf ⋯ → Einschalten.
Hinweis: Der Flow heißt
DEXPRO AWF Externe Genehmigungin der Lösung. Unter diesem Namen erscheint er in Ihrer Power-Automate-Umgebung.
5.4 Was der Genehmiger sieht
Wenn BC einen externen Genehmigungseintrag erstellt, erhält der Genehmiger eine Adaptive Card vom Flow-Bot in seiner Teams-Chat-Ansicht. Die Karte zeigt:
- Den lokalisierten Titel der Genehmigungsanfrage und den zugehörigen Workflow-Schritt.
- Eine Faktentabelle mit Beschreibung, Betrag, Fälligkeitsdatum und Anforderer.
- Einen Details-Abschnitt mit den wichtigsten Feldern des Quelldatensatzes (z. B. für eine Einkaufszeile: Art, Nr., Beschreibung, Menge, Einkaufspreis, Zeilenbetrag).
- Eine mehrzeilige Kommentar-Eingabe (wenn der Genehmiger entscheiden kann).
- Aktionsschaltflächen:
- Genehmigen / Ablehnen — für Einzelgenehmiger und Gruppen mit einem Mitglied (BC übernimmt diese automatisch bei der Eintragserstellung).
- Übernehmen — nur bei Gruppengenehmigungs-Anfragen mit mehreren Mitgliedern, die noch nicht übernommen wurden. Durch Klicken auf „Übernehmen" werden die Karten der anderen Gruppenmitglieder storniert (PA schreibt „Abgebrochen" in deren SP-Elemente) und eine zweite Karte mit „Genehmigen" / „Ablehnen" wird an den Übernehmer gesendet.
- Genehmigungsdokumente — öffnet den SharePoint-Freigabelink zu angehängten Dokumenten (nur sichtbar, wenn Anhänge vorhanden sind).
- In Business Central öffnen — Direktlink zum Quelldatensatz (nur sichtbar für Tabellen, für die BC eine registrierte Kartenseite hat; nützlich für lizenzierte Genehmiger).
Alle Schaltflächenbeschriftungen und Platzhaltertexte sind basierend auf dem Feld Sprachcode des externen Genehmigers vorübersetzt. Informationen zur Sprachzuweisung finden Sie in Schritt 3.
Karten-Layout anpassen — das Karten-JSON (sowohl die Erstkarte als auch die Karte nach der Übernahme) befindet sich in den Adaptive Card senden und auf eine Antwort warten-Aktionen des Flows. Um Branding, Felder oder Layout zu ändern, siehe
POWERAUTOMATE-DEV-GUIDE.de-DE.md→ Referenz: Karten-JSONs.
Schritt 6: End-to-End-Flow testen
- Öffnen oder erstellen Sie in Business Central eine AWF-Workflowvorlage
- Fügen Sie einen Schritt hinzu oder ändern Sie ihn:
- Art des Zuständigen:
Externer GenehmigeroderExterne Genehmigergruppe - Zuständigencode: Wählen Sie den erstellten externen Genehmiger aus
- Art des Zuständigen:
- Lösen Sie den Workflow für ein Testdokument aus (z. B. erstellen Sie eine Einkaufsbestellung und senden Sie sie zur Genehmigung)
- Überprüfen Sie Schritt für Schritt:
| Schritt | Was zu prüfen ist |
|---|---|
| SharePoint-Liste | Innerhalb von Sekunden sollte ein neues Element erscheinen. Öffnen Sie die Liste in Ihrem Browser und überprüfen Sie, ob das Element die korrekten Daten enthält (Titel, ApproverEmail, Status = Pending, übersetzte Beschriftungen). |
| Power Automate | Gehen Sie zu Power Automate → Meine Flows → klicken Sie auf Ihren Flow → Ausführungsverlauf. Eine neue Ausführung sollte erscheinen. Klicken Sie darauf, um die Eingaben und Ausgaben jedes Schritts zu überprüfen. |
| Teams | Der externe Genehmiger sollte in seinem Teams-Chat mit dem Flow-Bot eine Adaptive Card erhalten. Überprüfen Sie, ob Datensatzbeschreibung, Betrag, Fälligkeitsdatum und übersetzte Beschriftungen korrekt sind. |
| Genehmigen/Ablehnen | Lassen Sie den Genehmiger auf Genehmigen oder Ablehnen tippen (oder bei einer nicht übernommenen Gruppe mit mehreren Mitgliedern erst auf Übernehmen → zweite Karte → Genehmigen / Ablehnen). Optional einen Kommentar eingeben. Die Karte sollte sich nach der Übermittlung aktualisieren. |
| SharePoint (nach Antwort) | Die Spalte ApprovalStatus des Listenelements sollte Approved oder Rejected anzeigen. Die Spalten ResponseComment und ResponseDateTime sollten befüllt sein. Bei Gruppengenehmigungs-Anfragen enthält ClaimedBy die E-Mail-Adresse desjenigen, der auf „Übernehmen" geklickt hat (oder des automatischen Übernehmers bei einer Gruppe mit einem Mitglied). |
| BC-Aufgabenwarteschlange | Warten Sie auf den nächsten Abfragezyklus (Standard: alle 2 Minuten). Die Aufgabenwarteschlange verarbeitet die Antwort. Auf der Seite Externe Genehmigungseinträge bleibt der Status des Eintrags auf der Entscheidung des Genehmigers (Genehmigt / Abgelehnt) und die Spalte Verarbeitet wechselt auf Ja mit einem Verarbeitungszeitstempel. |
| BC-Genehmigungsposten | Überprüfen Sie, ob der entsprechende BC-Standard-Genehmigungsposten aktualisiert wurde (Genehmigt/Abgelehnt) und der Workflow zum nächsten Schritt vorgeschritten oder abgeschlossen wurde. |
Mehrere Unternehmen
Wenn Sie dennoch Unternehmenstrennung bevorzugen, führen Sie den Einrichtungsassistenten in jedem Unternehmen mit einem anderen Listennamen aus (Schritt 2.2 erlaubt die Benennung der Liste).
SharePoint-Listenreferenz
Datenspalten
Spaltennamen: Die
Spaltenname-Werte sind die technischen internen Namen — sie sind immer Englisch, unabhängig davon, in welcher Sprache BC die Liste erstellt. Wenn BC die Liste aus einer deutschen Umgebung erstellt, zeigt SharePoint in der Spaltenüberschrift den deutschen Anzeigenamen (Spalte rechts). Für Power-Automate-Ausdrücke und Graph-API-Abfragen werden immer die englischen internen Namen verwendet.
| Spaltenname | Typ | Anzeigename (Deutsch) | Beschreibung |
|---|---|---|---|
SchemaVersion | Text | Schemaversion | Vertragsversion der Integration, von BC geschrieben. Aktuell 1. |
BCCompanyName | Text | BC-Mandant | BC-Unternehmen, das den Eintrag besitzt. Wird vom Abfragedienst verwendet, um Unternehmen zu trennen, die eine Liste teilen. |
Title | Einzelne Textzeile | (integrierte SP-Spalte) | Datensatzbeschreibung (integrierte SharePoint-Spalte) |
BCEntryNo | Text | BC Eintragsnummer | BC-Nummer des externen Genehmigungseintrags (eindeutig innerhalb von BCCompanyName, nicht global) |
BCApprovalEntryNo | Text | BC-Genehmigungseintrag Nr. | BC-Standard-Genehmigungspostennummer, an die diese externe Genehmigung gebunden ist. Zusammen mit BCInstanceID und GroupCode identifiziert es eindeutig die Menge der Peer-Elemente, die der PA-Flow stornieren soll, wenn ein Mitglied übernimmt. |
BCInstanceID | Text | BC Instanz-ID | BC-Workflow-Instanz-ID (GUID, global eindeutig) |
Description | Text | Beschreibung | Dokumentbeschreibung (Kreditor-/Debitorenname usw.) |
ApproverEmail | Text | Genehmiger-E-Mail | E-Mail-Adresse / UPN des Zielgenehmigers |
ApproverDisplayName | Text | Genehmiger-Anzeigename | Anzeigename des Zielgenehmigers |
ApprovalStatus | Auswahlfeld | Genehmigungsstatus | Dropdown in SharePoint. Werte: Pending, Notified, Approved, Rejected, Claimed, Processed, Error, Cancelled. Standard: Pending. |
ResponseComment | Mehrzeiliger Text | Antwortkommentar | Vom Genehmiger eingegebener Kommentar (mehrzeiliger Bereich in SharePoint). |
ResponseDateTime | Datum/Uhrzeit | Antwort am | Native SharePoint-Datumsauswahl; BC verwendet die aktuelle Uhrzeit, wenn leer gelassen. |
ClaimedBy | Text | Übernommen von | E-Mail des Gruppenmitglieds, das den Eintrag übernommen hat |
AttachmentsUrl | Text | Anlagen-URL | SharePoint-Freigabelink für Dokumentanhänge |
BCDocumentUrl | Text | BC-Dokument-URL | Direktlink zum Quelldatensatz in Business Central. Leer, wenn BC keine Kartenseite für die Tabelle des Datensatzes bestimmen konnte. |
RecordDetails | Mehrzeiliger Text | Datensatzdetails | Markdown-Darstellung der wichtigsten Felder des genehmigten Datensatzes — was die Adaptive Card unterhalb der Faktentabelle anzeigt, damit ein Teams-Genehmiger die Dokument-/Zeilenebenen-Daten sehen kann. |
Processed | Ja/Nein | Verarbeitet | Ob BC diese Antwort verarbeitet hat |
IsGroupApproval | Ja/Nein | Ist Gruppengenehmigung | Ob dies eine Gruppengenehmigungs-Anfrage (übernahmebasiert) ist |
GroupCode | Text | Gruppencode | Genehmigergruppen-Code |
Amount | Text | Betrag | Formatierter Genehmigungsbetrag |
AmountRaw | Zahl | Betrag (Roh) | Maschinenlesbarer Betrag — hierfür für Filter und Berechnungen verwenden |
SenderName | Text | Absendername | BC-Benutzer, der die Genehmigung angefordert hat |
DueDate | Text | Fälligkeitsdatum | Formatiertes Fälligkeitsdatum |
DueDateRaw | Datum/Uhrzeit | Fälligkeitsdatum (Roh) | ISO-8601-UTC-Fälligkeitsdatum — hierfür für Filter verwenden |
CreatedRaw | Datum/Uhrzeit | Erstellt (Roh) | ISO-8601-UTC-Erstellungszeitstempel |
StageName | Text | Schrittname | Beschreibung des Workflow-Schritts |
Vorübersetzte Beschriftungsspalten
Diese Spalten enthalten in die Sprache des Genehmigers übersetzte UI-Beschriftungen. Sie werden von BC beim Erstellen des Listenelements gesetzt und von der Adaptive Card in Teams verwendet.
| Spaltenname | Standard (Englisch) | Beschreibung |
|---|---|---|
LblTitle | Approval Request | Kartentitel |
LblApprove | Approve | Schaltflächentext „Genehmigen" |
LblReject | Reject | Schaltflächentext „Ablehnen" |
LblComment | Comment | Beschriftung des Kommentarfelds |
LblClaim | Claim | Schaltflächentext „Übernehmen" (Gruppengenehmigungs-Anfragen) |
LblRelease | Release | Schaltflächentext „Freigeben" |
LblAmount | Amount | Faktenbeschriftung „Betrag" |
LblSender | Requested by | Faktenbeschriftung „Angefordert von" |
LblDueDate | Due Date | Faktenbeschriftung „Fälligkeitsdatum" |
LblStage | Stage | Faktenbeschriftung „Schritt" |
LblDescription | Description | Faktenbeschriftung „Beschreibung" |
LblAttachments | Approval Documents | Schaltflächentext „Genehmigungsdokumente" |
LblOpenInBC | Open in Business Central | Text des Tiefenlink-Buttons |
LblDetails | Details | Abschnittsüberschrift über den dargestellten Datensatzdetails |
LblAlreadyClaimedByMsg | This approval ({title}) has already been claimed by {claimer}. You can safely ignore this card. | Vorlage für die Teams-Nachricht „Bereits übernommen". Platzhalter {title} und {claimer} werden vom PA-Flow zur Laufzeit ersetzt. |
LblAlreadyHandledMsg | This approval ({title}) has already been handled by another approver or cancelled in Business Central. You can safely ignore the earlier card. | Vorlage für die Teams-Nachricht des Stale-Card-Scopes. Platzhalter {title} wird vom PA-Flow zur Laufzeit ersetzt. |
LblClaimedSuccessMsg | The approval entry "{title}" has been successfully processed. | Bestätigung, die angezeigt wird, nachdem der Übernehmer seine Entscheidung auf Karte B übermittelt hat (ersetzt die Karte im Teams-Chat). Platzhalter {title} wird vom PA-Flow zur Laufzeit ersetzt. |
Entra-ID-Gruppenauflösung
Wann zu verwenden
- Sie haben ein Team potenzieller Genehmiger, die als Entra-ID-Sicherheitsgruppe verwaltet werden
- Sie möchten, dass die Gruppenmitgliedschaft automatisch synchronisiert wird, anstatt eine manuelle Liste zu pflegen
- Externe Genehmiger werden in Entra hinzugefügt/entfernt, und Sie möchten, dass BC diese Änderungen widerspiegelt
Einrichtung
- Stellen Sie sicher, dass die App-Registrierung über
GroupMember.Read.AllundGroup.Read.AllAnwendungsberechtigungen mit Administratorzustimmung verfügt (siehe Schritt 1.2) - Erstellen Sie eine Externe Genehmigergruppe in BC (siehe Schritt 3.4)
- Geben Sie die Entra-Gruppen-ID ein und klicken Sie auf Aus Entra ID synchronisieren
Synchronisierungsverhalten
| Kontext | Wann Mitglieder aufgelöst werden |
|---|---|
| Manuelle Synchronisierung | Klicken Sie auf „Aus Entra ID synchronisieren" auf der Gruppenkartenseite |
| Entra-Gruppensynchronisierung | Der Aufgabenwarteschlangenposten für die Entra-Gruppensynchronisierung wird regelmäßig ausgeführt (falls konfiguriert) |
| Laufzeit | Wenn ein Workflow Genehmigungseinträge für eine Entra-verknüpfte Gruppe erstellt, werden Mitglieder live über die Graph API aufgelöst, um die aktuellste Mitgliedschaft sicherzustellen |
Es werden nur direkte Mitglieder der Sicherheitsgruppe aufgelöst. Verschachtelte Gruppen werden nicht expandiert.
Problembehandlung
| Problem | Mögliche Ursache | Lösung |
|---|---|---|
| SharePoint-Element wird nicht erstellt | OAuth2-Einrichtung fehlerhaft oder fehlende Berechtigungen | Überprüfen Sie, ob der Einrichtungsassistent erfolgreich abgeschlossen wurde. Die App-Registrierung benötigt Sites.ReadWrite.All und Sites.Manage.All (Anwendung) mit Administratorzustimmung. Führen Sie den Assistenten über AWF Einrichtung → Externe Genehmigungen einrichten erneut aus. |
403 accessDenied beim Assistenten / bei „SharePoint-Genehmigungen diagnostizieren" | Sites.Manage.All nicht gewährt oder keine Administratorzustimmung | Öffnen Sie die App-Registrierung, bestätigen Sie, dass sowohl Sites.ReadWrite.All als auch Sites.Manage.All Anwendungsberechtigungen aufgeführt sind, und klicken Sie dann auf Administratorzustimmung erteilen. Führen Sie den Assistenten erneut aus. |
| Flow wird nicht ausgelöst | SharePoint-Trigger falsch konfiguriert | Überprüfen Sie, ob der Trigger auf die korrekte Website und Liste zeigt. Öffnen Sie die Liste in SharePoint, um zu bestätigen, dass Elemente erstellt werden. |
| Aufgabenwarteschlange verarbeitet keine Antworten | Aufgabenwarteschlange läuft nicht | Überprüfen Sie, ob der Aufgabenwarteschlangenposten für Codeunit 70954832 Wiederkehrender Auftrag = Ja und Status = Bereit hat. Prüfen Sie die Aufgabenwarteschlangen-Protokollposten auf Fehler. |
| Adaptive Card erscheint nicht in Teams | E-Mail-Adresse stimmt nicht überein | Die ApproverEmail auf dem SharePoint-Element muss exakt mit dem UPN oder der primären E-Mail-Adresse des Benutzers in Microsoft 365 übereinstimmen. Prüfen Sie im Entra Admin Center → Benutzer. |
| Karte zeigt „Diese Karte ist ungültig" | JSON-Syntaxfehler | Importieren Sie das Power-Platform-Lösungspaket erneut oder vergleichen Sie das Karten-JSON mit der Referenz in POWERAUTOMATE-DEV-GUIDE.md. Überprüfen Sie, ob alle @{...}-Ausdrücke intakt sind. Testen Sie das statische JSON im Adaptive Card Designer. |
| Beschriftungen erscheinen auf Englisch statt der erwarteten Sprache | Sprachcode am Genehmiger nicht gesetzt | Setzen Sie das Feld Sprachcode im Datensatz des externen Genehmigers (z. B. DEU für Deutsch). BC verwendet diesen Code, um alle Beschriftungen vor dem Schreiben nach SharePoint zu übersetzen. |
| „401 Nicht autorisiert" im Aufgabenwarteschlangenprotokoll | OAuth2-Anmeldeinformationen abgelaufen oder fehlerhaft | Führen Sie den Einrichtungsassistenten aus, um Anmeldeinformationen zu überprüfen. Wenn der geheime Clientschlüssel abgelaufen ist, erstellen Sie einen neuen im Entra Admin Center und geben Sie ihn im Assistenten erneut ein. |
| Doppelte Karten gesendet | Mehrere Flow-Ausführungen für dasselbe Element | Dies sollte normalerweise nicht passieren — jede BC-Genehmigung erstellt genau ein SharePoint-Element. Falls Duplikate auftreten, überprüfen Sie den Power Automate-Ausführungsverlauf auf gleichzeitige Trigger und fügen Sie einen Triggerbedingungsausdruck am Trigger hinzu: @equals(triggerOutputs()?['body/ApprovalStatus'], 'Pending') |
| Entra-Gruppe zeigt 0 Mitglieder | Gruppe leer, verschachtelte Gruppen oder Berechtigungsfehler | Der Graph-API-Endpunkt /members gibt nur direkte Mitglieder zurück. Stellen Sie sicher, dass Benutzer direkte Mitglieder der Sicherheitsgruppe sind. Überprüfen Sie, ob die Berechtigung GroupMember.Read.All mit Administratorzustimmung erteilt wurde. |
| Genehmiger hat geantwortet, aber BC zeigt „Ausstehend" | Aufgabenwarteschlangenabfrage noch nicht ausgeführt | Warten Sie auf den nächsten Abfragezyklus. Prüfen Sie, ob der Aufgabenwarteschlangenposten ausgeführt wird (Status Bereit, nicht Zurückgestellt). Reduzieren Sie das Abfrageintervall, wenn eine schnellere Verarbeitung erforderlich ist. |
| „Zugriff verweigert" beim Ausführen der Aufgabenwarteschlange | Dienstkonto fehlt Berechtigungssatz | Weisen Sie dem BC-Benutzer, der die Aufgabenwarteschlangenposten ausführt, den Berechtigungssatz DXP AWF Admin zu. |
| SharePoint-Listenspalten fehlen | Liste manuell mit falschen Spaltennamen erstellt | Spaltennamen sind Groß-/Kleinschreibung sensitiv und müssen exakt übereinstimmen (z. B. BCEntryNo, nicht bcEntryNo). Die einfachste Lösung: Löschen Sie die Liste und lassen Sie den Einrichtungsassistenten sie neu erstellen. |
| Anhangslink fehlt in der Karte | Keine Dokumentanhänge am Quelldatensatz oder „Anhänge hochladen" deaktiviert | Überprüfen Sie, ob das Quelldokument vor dem Auslösen des Workflows mindestens einen Dokumentanhang hat. Prüfen Sie, ob Anhänge hochladen in der AWF-Einrichtung aktiviert ist. |
Anhang: Von BC erstellte SharePoint-Listenspalten
Wenn Sie den Assistenten Externe Genehmigungen einrichten oder die Prozedur CreateApprovalList verwenden, erstellt BC die SharePoint-Liste über die Graph API mit allen vorkalibrierten Spalten. Die Liste verwendet eine genericList-Vorlage mit einer Mischung aus typisierten Spalten: Text (die meisten Spalten), Boolesch (Processed, IsGroupApproval), Zahl (AmountRaw), Datum/Uhrzeit (ResponseDateTime, DueDateRaw, CreatedRaw), Mehrzeiliger Text (ResponseComment, RecordDetails, Nachrichtenvorlagenspalten) und Auswahlfeld (ApprovalStatus — Dropdown, das bekannte Statuswerte erzwingt).
Sie müssen die Liste oder ihre Spalten nicht manuell erstellen, es sei denn, Sie haben einen bestimmten Grund, die Listenstruktur anzupassen.
No comments to display
No comments to display