Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Community-Interessensgruppen sind jetzt von Yammer zu Microsoft Viva Engage gewechselt. Um an einer Viva Engage Community teilzunehmen und an den neuesten Diskussionen teilzunehmen, füllen Sie den Zugriff auf Finance and Operations Viva Engage Communityformular aus, und wählen Sie die Community aus, der Sie beitreten möchten.
[Dieser Artikel ist die Vorabveröffentlichungsdokumentation; Änderungen sind vorbehalten.]
In diesem Artikel wird erläutert, wie Systemadministratoren den Lieferantenkommunikations-Agent einrichten und konfigurieren können.
Videoanweisungen
Videoanweisungen zum Einrichten des Lieferantenkommunikations-Agents finden Sie unter Supplier Communications Agent: Einrichten und Konfigurieren | Dynamics 365 Bits (Video).
Die restlichen Abschnitte in diesem Artikel enthalten die gleichen Anweisungen in einem textbasierten Format.
Voraussetzungen
Bevor Sie den Lieferantenkommunikations-Agent verwenden können, muss Ihr System die folgenden Anforderungen erfüllen:
Sie müssen Microsoft Dynamics 365 Supply Chain Management Version 10.0.44 oder höher mit allen verfügbaren Qualitätsupdates ausführen.
Die folgenden Features müssen in der Featureverwaltung aktiviert sein. Wählen Sie "Nach Updates suchen " aus, wenn die Features nicht auf Ihrem System angezeigt werden.
- (Produktionsbereite Vorschau) Immersive Startseite
- (Produktionsbereite Vorschau) Agentverwaltung
- (Produktionsbereite Vorschau) Lieferantenkommunikations-Agent
- Optional: Wenn der Agent E-Mails automatisch senden soll, aktivieren Sie das Feature (Vorschau) Senden von Nachverfolgungs-E-Mails an Lieferanten mit Lieferantenkommunikations-Agent – automatisches Senden von E-Mails. Wir empfehlen, dieses Feature für Sandkastenumgebungen zu deaktivieren. Der Grund dafür ist, dass Daten (z. B. Bestellungen) möglicherweise nicht auf dem neuesten Stand sind oder E-Mail-Adressen von Lieferanten fehlen.
Tipp
Wenn Sie die Agent-Verwaltungsfunktionen nicht aktivieren können, stellen Sie sicher, dass alle Voraussetzungen erfüllt sind, wie z. B. Versionsanforderungen und die Aktivierung der Copilot Studio-Abrechnung.
Stellen Sie im Power Platform Admin Center sicher, dass Sie die folgenden Versionen der folgenden Dynamics 365 Apps in Ihrer Supply Chain Management Umgebung ausführen. Es ist wichtig, dass Sie sie in der folgenden Reihenfolge installieren oder aktualisieren:
- Installieren Sie zunächst Copilot für Finanz- und Betriebs-Apps Version 1.0.03048.2 oder höher. Wenn sie bereits installiert ist, aktualisieren Sie sie auf die neueste Version.
- Installieren Sie dann Copilot in Microsoft Dynamics 365 Supply Chain Management Version 1.1.03071.1 oder höher. Wenn sie bereits installiert ist, aktualisieren Sie sie auf die neueste Version.
Normalerweise werden die Microsoft Copilot Studio Agents, die für die Ausführung des Lieferantenkommunikations-Agents erforderlich sind, automatisch veröffentlicht. Es kann jedoch Richtlinien zur Verhinderung von Datenverlust (Data Loss Prevention, DLP) in Ihrer Umgebung geben, die die Veröffentlichung dieser Agents verhindern. Um zu überprüfen, ob die Agents erfolgreich veröffentlicht wurden, gehen Sie zu Copilot Studio und finden Sie Ihre Umgebung. Stellen Sie sicher, dass die folgenden Microsoft Copilot Studio Agents in dieser Umgebung veröffentlicht werden:
- Agent für eingehende Lieferantenkommunikation
- Lieferantenkommunikations-Agent - ausgehend.
Wenn die beiden Agents nicht veröffentlicht werden, können Sie Unterstützung unter Problemlösung bei der Durchsetzung von Datenrichtlinien für Copilot Studio finden.
Einrichten einer Agentidentität
Der Lieferantenkommunikations-Agent interagiert mit Dataverse und Microsoft Copilot Studio, um seine Arbeit zu erledigen. Wählen Sie die Identität aus, die der Agent für diese Interaktionen verwendet, und erstellen Sie die erforderlichen Verbindungen.
Tipp
Verwenden Sie für sicherheit und einfache Wartung eine dedizierte Identität für den Agenten.
Agent-Identität-Benutzer einrichten und Sicherheitsrollen zuweisen
Verwenden Sie die Benutzerverwaltungsfeatures für Ihren Mandanten, um einen Agent-Identitätsbenutzer zu erstellen. Weisen Sie dann den benutzern die in den folgenden Unterabschnitten beschriebenen Lizenzen und Sicherheitsrollen zu.
Lizenzanforderungen
Der Agent für Lieferantenkommunikation verwendet Premium-Tier-Konnektoren, sodass der Agent-Identitätsbenutzer über eine Lizenz verfügen muss, die diese Konnektoren zulässt. Weitere Informationen finden Sie in den häufig gestellten Fragen zur Power Platform-Lizenzierung , oder laden Sie das Lizenzierungshandbuch herunter.
Beispiele für ausreichende Lizenzen sind Power Apps Premium, Power Automate Premium oder Dynamics 365 Supply Chain Management.
Verwenden Sie das Microsoft 365 Admin Center, um die erforderlichen Lizenzen zuzuweisen.
Erforderliche Sicherheitsrollen
Fügen Sie den Agentidentitätsbenutzer sowohl zur Dataverse-Umgebung als auch zum Supply Chain Management hinzu. Weisen Sie dem Agentidentitätsbenutzer die Sicherheitsrollen zu, die in den folgenden Listen angezeigt werden.
Erforderliche Dataverse-Benutzerrollen:
- Basisbenutzer für Finanzen und Betrieb
- Lieferantenkommunikations-Agent
- Umgebungsersteller
Erforderliche Supply Chain Management Benutzerrollen:
- (Vorschau) Lieferantenkommunikations-Agent
- Systembenutzer
Die erforderlichen Verbindungen erstellen
Führen Sie die folgenden Schritte aus, um die erforderlichen Verbindungen zu erstellen:
Öffnen Sie das Power Apps Maker-Portal und melden Sie sich als Umgebungsadministratorbenutzer an.
Verwenden Sie die Dropdownliste "Umgebung" im Seitenkopf, um die Umgebung auszuwählen, die Ihren Finanz- und Betriebs-Apps zugeordnet ist.
Wählen Sie im linken Navigator "Verbindungen" aus.
Wählen Sie am oberen Seitenrand Neue Verbindung aus.
Verwenden Sie das Feld Search rechts auf der Seite, um die Verbindung mit einem Name von Microsoft Dataverse zu finden (wenn zwei angezeigt werden, verwenden Sie das feld mit dem grünen Symbol). Wählen Sie "Erstellen " für diese Zeile aus, und folgen Sie den Anweisungen auf dem Bildschirm. Melden Sie sich mit dem beabsichtigten Agent-Identitätsbenutzer an, wenn Sie dazu aufgefordert werden.
Sie kehren zur Liste "Verbindungen" zurück. Der neue Konnektor wird am Ende der Liste angezeigt und ist nach der Agent-Identität benannt, mit der Sie sich beim Erstellen angemeldet haben.
Wählen Sie am oberen Seitenrand Neue Verbindung aus.
Suchen Sie die Verbindung mit einem Name von Microsoft Copilot Studio. Wählen Sie "Erstellen " für diese Zeile aus, und folgen Sie den Anweisungen auf dem Bildschirm. Melden Sie sich bei Aufforderung als die gewünschte Agent-Identität an.
Sie kehren zur Liste "Verbindungen" zurück. Der neue Konnektor wird am Ende der Liste angezeigt und ist nach der Agent-Identität benannt, mit der Sie sich beim Erstellen angemeldet haben.
Aktivieren der auslösenden Power Automate Flüsse
Hinweis
In diesem Abschnitt wird eine von zwei Möglichkeiten zum Aktivieren der auszulösenden Power Automate-Flows beschrieben. Die andere Möglichkeit besteht darin, ein PowerShell-Skript zu verwenden, das im Abschnitt Das Auslösen von Power-Automate-Flows mit einem PowerShell-Skript aktivieren später in diesem Artikel beschrieben wird. Sie müssen nicht beide Methoden ausführen. Wählen Sie die bevorzugte Methode aus.
Um die Identität des Agenten einzurichten, müssen Sie die auslösenden Power Automate-Flows aktivieren. Führen Sie die folgenden Schritte aus, um eine Canvas-App zu verwenden und das Setup abzuschließen.
- Melden Sie sich beim Power Apps Maker-Portal als Umgebungsadministratorbenutzer an.
- Wählen Sie Ihre Umgebung in der Dropdownliste "Umgebung " im Seitenkopf aus.
- Wählen Sie im linken Bereich "Lösungen" aus.
- Öffnen Sie die Registerkarte "Verwaltet" .
- Suchen und öffnen Sie die Lösung mit einem Display-Namen von Copilot in Supply Chain Management Lösung.
- Wählen Sie im Bereich "Objekte" die Option "Apps" aus.
- Wählen Sie die App mit dem Anzeigenamen(Produktionsvorschau) aus, um lieferantenkommunikations-Agent einzurichten.
- Wenn "Wiedergeben" auf der Befehlsleiste deaktiviert ist, wählen Sie "Freigeben" aus, fügen Sie Ihren Namen hinzu, und wählen Sie "Freigeben" aus.
- Wählen Sie erneut die Setup Supplier Communications Agent App (Produktionsbereit-Vorschau) aus, und wählen Sie dann in der Befehlsleiste Starten.
- Wählen Sie unter Connections die Verbindungen aus, die Sie im vorherigen Abschnitt für Microsoft Dataverse und Microsoft Copilot Studio erstellt haben.
- Wählen Sie unten rechts auf der Seite "Übernehmen" aus, und warten Sie, bis alle unter Status der Agent-Trigger-Flows aufgeführten Abläufe in den Status Aktiviert wechseln.
Zuweisen von Berechtigungen für Benutzer, die mit dem Agent arbeiten
Alle Dynamics 365 Supply Chain Management Benutzer, die mit dem Agent arbeiten, müssen auch als Dataverse-Benutzer erstellt werden (sofern sie noch nicht vorhanden sind). Informationen dazu finden Sie unter " Benutzer erstellen".
Weisen Sie außerdem die in den folgenden Unterabschnitten beschriebenen Rollen zu.
Berechtigungen für Benutzer, die die Agentkonfiguration verwalten
Erforderliche Dataverse-Benutzerrollen:
- Basic-Benutzer
- Finanz- und Betriebsagent-Konfigurationsmanager
- Finanz- und Betriebsgrundbenutzer
Erforderliche Supply Chain Management Benutzerrollen:
- Systembenutzer
- Einkaufsleiter und/oder Einkaufsmitarbeiter
Berechtigungen für Benutzer, die Agentergebnisse überprüfen
Erforderliche Dataverse-Benutzerrollen:
- Basic-Benutzer
- Finanz- und Betriebsgrundbenutzer
Erforderliche Supply Chain Management Benutzerrollen:
- Systembenutzer
- Einkaufsmitarbeiter
Synchronisieren von Postfächern mit Dataverse
Um die E-Mail-Analyse- und Zustellungsfunktionen des Lieferantenkommunikations-Agents zu aktivieren, müssen Sie gezielte Postfächer einrichten, damit sie auf Serverebene mit Dataverse synchronisiert werden.
Privates Postfach
Von Bedeutung
Nur der Besitzer eines privaten Postfachs kann eine Agentkonfiguration erstellen und agent-Ergebnisse im Zusammenhang damit überprüfen. Der Besitzer muss über Berechtigungen zum Verwalten der Agentkonfiguration und zum Überprüfen der Agentergebnisse verfügen.
Führen Sie die folgenden Schritte aus, um ein privates Postfach einzurichten:
- Melden Sie sich beim Power Platform Admin Center als Benutzer mit der Sicherheitsrolle des Systemadministrators an. (Obwohl Benutzer ohne Administratorrolle die Synchronisierung für ihre eigenen Postfächer aktivieren können, kann die Administratorgenehmigung erforderlich sein.)
- Wählen Sie die Umgebung aus, die Sie einrichten möchten.
- Wählen Sie in der Befehlsleiste Einstellungen aus.
- Wählen Sie auf der Seite "Einstellungen" unter "E-Mail" "Postfächer" aus.
- Wählen Sie im Dropdownmenü " Ansicht auswählen " oben auf der Seite " Aktive Postfächer" aus.
- Aktivieren Sie das Kontrollkästchen für jedes Postfach, das Sie mit dem Lieferantenkommunikations-Agent verwenden möchten.
- Wählen Sie auf der Befehlsleiste " Testen" und "Postfach aktivieren " aus, um die Synchronisierung für die ausgewählten Postfächer zu aktivieren.
Nachdem Sie ein privates Postfach eingerichtet haben, muss der Benutzer, der es besitzt, die Personalisierungseinstellungen aktualisieren, um anzugeben, dass alle E-Mails nachverfolgt werden sollen.
Führen Sie die folgenden Schritte aus, um die Nachverfolgung aller E-Mails für ein privates Postfach zu aktivieren, das Sie besitzen:
- Wählen Sie auf der Seite "Aktive Postfächer " die Schaltfläche " Einstellungen" (Zahnradsymbol) oben rechts und dann " Personalisierungseinstellungen" aus.
- Wählen Sie im Dialogfeld " Persönliche Optionen festlegen " auf der Registerkarte " E-Mail " im Feld " Nachverfolgen " die Option "Alle E-Mail-Nachrichten" aus.
- Wählen Sie OK aus.
Freigegebenes Postfach
Wenn Sie ein freigegebenes Postfach verwenden, führen Sie die folgenden Schritte aus:
Melden Sie sich beim Power Platform Admin Center als Benutzer an, der über eine Sicherheitsrolle für Systemadministratoren verfügt.
Wählen Sie die Umgebung aus, die Sie einrichten möchten.
Wählen Sie in der Befehlsleiste Einstellungen aus.
Wählen Sie auf der Seite "Einstellungen" unter "Benutzer + Berechtigungen" "Teams" aus.
Wählen Sie auf der Befehlsleiste " Team erstellen" aus.
Geben Sie im Dialogfeld "Neues Team " einen Namen (z. B. "Mein E-Mail-Team"), eine Geschäftseinheit und einen Administrator nach Bedarf an. Legen Sie das Feld "Teamtyp " auf "Besitzer" fest.
Wählen Sie Weiteraus.
Fügen Sie im Dialogfeld " Teammitglieder hinzufügen " alle Benutzer hinzu, die Zugriff auf das freigegebene Postfach haben sollen.
Von Bedeutung
Fügen Sie alle Benutzer hinzu, die eine Agentkonfiguration erstellen, und überprüfen Sie die Agentergebnisse, die mit diesem Postfach verbunden sind, als Teammitglieder.
Wählen Sie Weiteraus.
Wählen Sie im Dialogfeld "Sicherheitsrollen verwalten " die Option "Basisbenutzer und Finanzen und Operationen Basisbenutzer" und dann " Speichern" aus.
Sie kehren zur Liste der Teams zurück. Suchen Sie das neu erstellte Team, und öffnen Sie es.
Suchen Sie in der oberen rechten Ecke die dem Team zugeordnete Standardwarteschlange , und öffnen Sie sie. Die Warteschlange hat denselben Namen wie das Team, das in spitzen Klammern festgelegt ist (z. B. <„Mein E-Mail-Team“>).
Ein Postfach sollte im Abschnitt " E-Mail-Einstellungen" angezeigt werden. Wählen Sie den Postfachnamen aus.
Wählen Sie auf der Seite "Postfachdetails" auf der Befehlsleiste "Aktivieren" und dann im Dialogfeld "Aktivieren" aus.
Geben Sie im Abschnitt "Postfachinformationen" die freigegebene E-Mail-Adresse ein, und speichern Sie sie.
Wählen Sie auf der Befehlsleiste " Testen" und "Postfächer aktivieren" aus.
Tipp
Wenn dieser Vorgang fehlschlägt, überprüfen Sie den Abschnitt "Warnungen " für das Postfach. Wenn sie eine Fehlermeldung enthält, die besagt, dass die Genehmigung erforderlich ist, müssen Sie Ihren globalen oder Exchange-Administrator bitten, das Postfach zu genehmigen. Weitere Informationen finden Sie unter "E-Mail genehmigen".
Stellen Sie sicher, dass keine anderen Postfächer mit derselben E-Mail-Adresse eingerichtet und aktiv sind.
- Kehren Sie zur Seite "Einstellungen" für Ihre Umgebung zurück.
- Wählen Sie unter "E-Mail" "Postfächer" aus.
- Wählen Sie im Dropdownmenü " Ansicht auswählen " oben auf der Seite " Aktive Postfächer" aus.
- Wenn andere Postfächer dieselbe E-Mail-Adresse wie die E-Mail-Adresse des freigegebenen Postfachs haben, deaktivieren Sie sie.
Ausführliche Anweisungen finden Sie in der Einrichtung der serverseitigen Synchronisierung von E-Mails.
Problembehandlung
Probleme beim Einrichten des Lieferantenkommunikations-Agents
Hilfe zu Problemen, die beim Einrichten des Lieferantenkommunikations-Agents auftreten können, finden Sie in den häufig gestellten Fragen und beheben Sie typische Probleme beim Einrichten und Konfigurieren des Lieferantenkommunikations-Agents.
Probleme mit der serverseitigen Synchronisierung
Erfahren Sie, wie Sie häufige Probleme beheben, die mit der serverseitigen Synchronisierung in der Problembehandlung und -überwachung zusammenhängen.
Aktualisieren von Daten (optional)
Nachdem Sie den Lieferantenkommunikations-Agent in einer Sandkastenumgebung aktiviert haben, empfehlen wir, dass Sie eine Datenaktualisierung durchführen. Auf diese Weise können Sie beim Testen in der Sandkastenumgebung dieselben Daten wie in der Produktionsumgebung verwenden. Erfahren Sie, wie Sie eine Datenbankaktualisierung in der Aktualisierungsdatenbank ausführen.
Festlegen Ihrer E-Mail-Adresse als Anbieterkontakt zum Testen
Wenn Sie die Änderungen von Bestellungen überprüfen und anwenden, die in Lieferanten-E-Mails empfangen wurden Funktion verwenden, liest der Agent nur E-Mails von Lieferantendomänen. Diese Einschränkung bedeutet, dass Sie, wenn Sie das System testen und Lieferanten-E-Mails von Ihrem eigenen E-Mail-Konto senden oder weiterleiten möchten, Ihre E-Mail-Adresse als Anbieterkontakt hinzufügen müssen. Gehen Sie folgendermaßen vor, um Ihre E-Mail-Adresse hinzuzufügen:
- Wechseln Sie zu Beschaffung und Bezugsquellen>Anbieter>Alle Lieferanten.
- Erstellen oder Auswählen eines Anbieters.
- Fügen Sie auf der FastTab-Registerkarte "Kontaktinformationen " eine Zeile mit Ihrer eigenen E-Mail-Adresse hinzu (von der Sie Testnachrichten senden oder weiterleiten werden).
Aktivieren der auslösenden Power Automate Flows mithilfe eines PowerShell-Skripts
Hinweis
In diesem Abschnitt wird eine von zwei Möglichkeiten zum Aktivieren der auszulösenden Power Automate-Flows beschrieben. Die andere Möglichkeit besteht darin, eine Canvas-App zu verwenden, die weiter oben in diesem Artikel im Abschnitt Aktivieren der auslösenden Power Automate-Flows beschrieben wird. Sie müssen nicht beide Methoden verwenden. wählen Sie die bevorzugte Methode aus.
Dieses PowerShell-Beispielskript beendet Einrichten der Agentidentität indem die Verbindungsverweise für den Agent aktualisiert und die auslösenden Power Automate Flüsse aktiviert werden.
Führen Sie die folgenden Schritte aus, um das PowerShell-Beispielskript zu verwenden:
Kopieren Sie das Skript, und speichern Sie es als
.ps1Datei.Geben Sie vor dem Ausführen des Skripts Werte für die folgenden vier Parameter oben ein:
-
environmentId– Geben Sie die ID Ihrer Dataverse-Umgebung an. Sie finden die ID im Power Platform Admin Center. -
dataverseUrl– Geben Sie die URL Ihrer Dataverse-Umgebung an. Sie finden die URL im Power Platform Admin Center. Fügen Sie https:// in die URL ein. -
DVConnectionName– Geben Sie den Namen des zu verwendenden Dataverse-Konnektors an. Der Anschluss wird nach der Agentidentität benannt, als die Sie sich angemeldet haben, als Sie ihn erstellt haben. Sie finden den Namen auf der Seite Connections in Power Apps. -
MCSConnectionName– Geben Sie den Namen des zu verwendenden Copilot Studio-Connectors an. Der Anschluss wird nach der Agentidentität benannt, als die Sie sich angemeldet haben, als Sie ihn erstellt haben. Sie finden den Namen auf der Seite Connections in Power Apps.
-
Passen Sie das Skript nach Bedarf an.
Führen Sie das Skript über eine beliebige PowerShell-Konsole oder Visual Studio Code aus. Befolgen Sie bei Bedarf die Anweisungen, um Ihre installierte PowerShell auf Version 7 zu aktualisieren. Wenn Sie aufgefordert werden, sich anzumelden, melden Sie sich als Umgebungsadmin an.
Hier ist das Skript:
Param(
[Parameter(Mandatory=$true, HelpMessage="Dataverse environment id")]
[string]$environmentId = "",
[Parameter(Mandatory=$true, HelpMessage="Dataverse environment URL")]
[string]$dataverseUrl = "",
[Parameter(Mandatory=$true, HelpMessage="Microsoft Dataverse connection name")]
[string]$DVConnectionName = "",
[Parameter(Mandatory=$true, HelpMessage="Microsoft Copilot Studio connection name")]
[string]$MCSConnectionName = ""
)
# Check PS version
if ($PSVersionTable.PSVersion.Major -lt 7) {
Write-Error 'This script requires at least PowerShell version 7' -ErrorAction Stop
}
# Install the required modules if not already installed
if (-not (Get-Module -ListAvailable -Name Microsoft.PowerApps.PowerShell)) {
Write-Warning -Message 'Installing module Microsoft.PowerApps.PowerShell'
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber -Scope CurrentUser
}
# Install the required modules if not already installed
if (-not (Get-Module -ListAvailable -Name Az.Accounts | Where-Object Version -ge 2.17)) {
Write-Warning -Message 'Installing required version of module Az.Accounts'
Install-Module -Name Az.Accounts -AllowClobber -Scope CurrentUser -Force -MinimumVersion 2.17
}
# Import required modules
Import-Module Az.Accounts -MinimumVersion 2.17
Import-Module Microsoft.PowerApps.PowerShell
function Get-AccessToken {
# Retrieve the access token for the Dataverse environment
$accessToken = Get-AzAccessToken -ResourceUrl "$dataverseUrl" -AsSecureString
$token = $accessToken.Token
$userId = $accessToken.UserId
Write-Host "Access token for $userId retrieved successfully." -ForegroundColor Green
return $token
}
function Get-ConnectionId {
param (
[string]$userProvidedName,
[string]$providerName
)
$matchedConnectionId = $null
$connections = Get-PowerAppConnection -EnvironmentName $environmentId -ConnectorNameFilter $providerName
foreach ($con in $connections) {
if (($con.ConnectionName -eq $userProvidedName) -or ($con.DisplayName -eq $userProvidedName))
{
$matchedConnectionId = $con.ConnectionName
break
}
}
if ($null -eq $matchedConnectionId)
{
Write-Error -Message "Unable to find connection $userProvidedName ($providerName)" -ErrorAction Stop
}
Write-Host "Found connection id $matchedConnectionId for connection $userProvidedName"
return $matchedConnectionId
}
function Get-ConnectionReferenceId {
param(
[string]$connectionReferenceLogicalName,
[securestring]$accessToken
)
$uri = "$dataverseUrl/api/data/v9.2/connectionreferences?`$filter=connectionreferencelogicalname eq '$connectionReferenceLogicalName'"
$response = Invoke-RestMethod -Method Get `
-Uri $uri `
-Authentication Bearer -Token $accessToken `
-ContentType 'application/json'
if ($null -eq $response) {
Write-Error -Message "Connection reference not found for logical name $connectionReferenceLogicalName" -ErrorAction Stop
}
$connectionReferenceDisplayName = $response.value[0].connectionreferencedisplayname
$connectionReferenceId = $response.value[0].connectionreferenceid
Write-Host "Found connection reference id $connectionReferenceId for $connectionReferenceDisplayName ($connectionReferenceLogicalName)"
return $connectionReferenceId
}
function Set-ConnectionReferenceConnection {
param (
[string]$connectionReferenceLogicalName,
[string]$userProvidedConnectionName,
[string]$providerName,
[securestring]$accessToken
)
Write-Host "Updating connection reference ${connectionReferenceLogicalName}..."
$connectionReferenceId = Get-ConnectionReferenceId -connectionReferenceLogicalName $connectionReferenceLogicalName -accessToken $accessToken
$connectionId = Get-ConnectionId -userProvidedName $userProvidedConnectionName -providerName $providerName
$body = @{
"connectionid" = "$connectionId"
} | ConvertTo-Json -Depth 1
$uri = "$dataverseUrl/api/data/v9.2/connectionreferences($connectionReferenceId)"
Write-Host "Updating connection reference URI: $uri with connection id $connectionId"
Invoke-RestMethod -Method Patch `
-Uri $uri `
-Authentication Bearer -Token $accessToken `
-ContentType 'application/json' `
-Body $body
Write-Host "Connection reference updated successfully." -ForegroundColor Green
Write-Host
}
function ValidateUserEnvironment {
param (
[string]$environmentId
)
$env = Get-PowerAppEnvironment -EnvironmentName $environmentId
if ($null -eq $env) {
Write-Error -Message "Environment $environmentId was not found" -ErrorAction Stop
}
$displayName = $env.DisplayName
Write-Host "Connected to environment: $displayName ($environmentId)"
}
function Enable-TriggerFlow {
param (
[string]$flowId,
[securestring]$accessToken
)
$flowUri = "$dataverseUrl/api/data/v9.2/workflows($flowId)"
$flow = $null
Write-Host "Enabling flow $flowId with uri $flowUri"
try {
$flow = Invoke-RestMethod -Method Get `
-Uri $flowUri `
-Authentication Bearer -Token $accessToken `
-ContentType 'application/json'
}
catch {
Write-Error -Message $_.Exception -ErrorAction Stop
}
$displayName = $flow.name
Write-Host "Activating flow $displayName for id $flowId"
$body = @{
"statecode" = 1 # Activated
"statuscode" = 2 # Activated
} | ConvertTo-Json -Depth 1 -Compress
try {
Invoke-RestMethod -Method Patch `
-Uri $flowUri `
-Authentication Bearer -Token $accessToken `
-ContentType 'application/json' `
-Body $body
}
catch {
Write-Error -Message $_.Exception -ErrorAction Stop
}
Write-Host "Activated flow $displayName" -ForegroundColor Green
Write-Host
}
# Actual script body
Write-Host
Write-Host "Authenticating interactively..."
Write-Host
Connect-AzAccount -UseDeviceAuthentication
$accessToken = Get-AccessToken
ValidateUserEnvironment -environmentId $environmentId
Write-Host
Write-Host 'Setting up connection references...'
Write-Host
Set-ConnectionReferenceConnection `
-userProvidedConnectionName $DVConnectionName `
-providerName "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" `
-connectionReferenceLogicalName "new_sharedcommondataserviceforapps_6ae5d" `
-accessToken $accessToken
Set-ConnectionReferenceConnection `
-userProvidedConnectionName $MCSConnectionName `
-providerName "/providers/Microsoft.PowerApps/apis/shared_microsoftcopilotstudio" `
-connectionReferenceLogicalName "msdyn_sharedmicrosoftcopilotstudio_0be09" `
-accessToken $accessToken
Write-Host
Write-Host 'Activating flows...'
Write-Host
Enable-TriggerFlow -flowId 'c1061034-ff20-f011-9989-002248095ade' -accessToken $accessToken # (Self Heal) Speed up updates in purchase orders with Supplier Communications Agent
Enable-TriggerFlow -flowId '1db577aa-83fe-ef11-bae1-000d3a34a571' -accessToken $accessToken # Speed up updates in purchase orders with Supplier Communications Agent
Enable-TriggerFlow -flowId 'acd7bb36-07a1-ef11-a72d-6045bd0390ae' -accessToken $accessToken # Send follow-up emails to vendors with Supplier Communications Agent
Write-Host
Write-Host 'Supplier communications agent is ready for use' -ForegroundColor Green