Schritt 3. Verwenden von Power Automate zum Erstellen des Flows zum Verarbeiten Ihrer Verträge

Sie haben Ihren Vertragsverwaltungskanal erstellt und Ihre SharePoint-Dokumentbibliothek angefügt. Der nächste Schritt besteht darin, einen Power Automate-Flow zu erstellen, um Ihre Verträge zu verarbeiten, die Ihr Syntex-Modell identifiziert und klassifiziert. Sie können diesen Schritt ausführen, indem Sie einen Power Automate-Flow in Ihrer SharePoint-Dokumentbibliothek erstellen.

Für Ihre Vertragsverwaltungslösung möchten Sie einen Power Automate-Flow erstellen, um die folgenden Aktionen auszuführen:

  • Nachdem ein Vertrag von Ihrem Syntex-Modell klassifiziert wurde, ändern Sie den Vertragsstatus in In Überprüfung.
  • Der Vertrag wird dann überprüft und entweder genehmigt oder abgelehnt.
  • Bei genehmigten Verträgen werden die Vertragsinformationen zur Zahlungsabwicklung auf einer Registerkarte angezeigt.
  • Bei abgelehnten Verträgen wird das Team zur weiteren Analyse benachrichtigt.

Das folgende Diagramm zeigt den Power Automate-Fluss für die Vertragsverwaltungslösung.

Flussdiagramm, das die gesamte Lösung zeigt.

Bereiten Sie Ihren Vertrag auf die Überprüfung vor

Wenn ein Vertrag von Ihrem unstrukturierten Dokumentverarbeitungsmodell identifiziert und klassifiziert wird, ändert der Power Automate-Fluss zuerst den Status in In Überprüfung.

Updatestatus.

Ändern Sie nach dem Auschecken der Datei den Statuswert in In Überprüfung.

Im Überprüfungsstatus.

Der nächste Schritt besteht darin, eine adaptive Karte zu erstellen, die angibt, dass der Vertrag auf die Überprüfung wartet, und sie im Vertragsverwaltungskanal zu veröffentlichen.

Vertragsüberprüfungsbeitrag.

Erstellen Sie eine adaptive Karte zur Überprüfung.

Der folgende Code ist der JSON-Code, der für diesen Schritt im Power Automate-Flow verwendet wird.

{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.0",
"body": [
    {
    "type": "TextBlock",
    "text": "Contract approval request",
    "size": "large",
    "weight": "bolder",
     "wrap": true
    },
        {
            "type": "Container",
            "items": [
                {
                    "type": "FactSet",
                    "spacing": "Large",
                    "facts": [
                        {
                            "title": "Client",
                            "value": "@{triggerOutputs()?['body/Client']}"
                        },
                        {
                            "title": "Contractor",
                            "value": "@{triggerOutputs()?['body/Contractor']}"
                        },
                        {
                            "title": "Fee amount",
                            "value": "@{triggerOutputs()?['body/FeeAmount']}"
                        },
                        {
                            "title": "Date created",
                            "value": "@{triggerOutputs()?['body/Modified']} "
                        },
                        {
                            "title": "Link",
                            "value": "[@{triggerOutputs()?['body/{FilenameWithExtension}']}](@{triggerOutputs()?['body/{Link}']})"
                        }
                    ]
                }
            ]
         },
    {
    "type": "TextBlock",
    "text": "Comment:"
    },
        {
            "type": "Input.Text",
            "placeholder": "Enter comments",
            "id": "acComments"
        }
],
"actions": [
    {
    "type": "Action.Submit",
    "title": "Approve",
    "data": {
        "x": "Approve"
    }
    },
    {
    "type": "Action.Submit",
    "title": "Reject",
    "data": {
        "x": "Reject"
    }
    }
]
}

Bedingter Kontext

Als Nächstes müssen Sie in Ihrem Flow eine Bedingung erstellen, in der Ihr Vertrag entweder genehmigt oder abgelehnt wird.

Bedingte.

Wenn der Vertrag genehmigt wurde

Wenn ein Vertrag genehmigt wurde, geschieht Folgendes:

  • Auf der Registerkarte Verträge ändert sich der Status auf der Vertragskarte in Genehmigt.

    Kartenstatus genehmigt.

  • In Ihrem Flow wird der Status in Genehmigt geändert.

    Flowstatus genehmigt.

  • In dieser Lösung werden die Vertragsdaten der Registerkarte Für Auszahlung hinzugefügt, damit die Auszahlungen verwaltet werden können. Dieser Prozess kann erweitert werden, damit der Flow die Verträge für die Zahlung über eine Finanzanwendung eines Drittanbieters (z. B. Dynamics CRM) übermitteln kann.

    Der Vertrag wurde in Auszahlung verschoben.

  • Im Flow erstellen Sie das folgende Element, um genehmigte Verträge auf die Registerkarte Für Auszahlung zu verschieben.

    Flowelement, das zu

    Um die Ausdrücke für die benötigten Informationen von der Teams-Karte abzurufen, verwenden Sie die in der folgenden Tabelle gezeigten Werte.

    Name Expression
    Genehmigungsstatus body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['submitActionId']
    Genehmigt von body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['Responder'] ['displayName']
    Genehmigungsdatum body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['responseTime']
    Kommentar body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['data']? ['acComments']

    Das folgende Beispiel zeigt, wie Sie das Formelfeld in Power Automate verwenden, um einen Ausdruck zu schreiben.

    Screenshot in Power Automate mit einer Ausdrucksformel

  • Eine adaptive Karte, die angibt, dass der Vertrag genehmigt wurde, wird erstellt und im Vertragsverwaltungskanal veröffentlicht.

    Die Vertragsgenehmigung wurde gebucht.

    Adaptive Kartengenehmigung.

    Der folgende Code ist der JSON-Code, der für diesen Schritt im Power Automate-Flow verwendet wird.

{ 
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "Container",
            "style": "emphasis",
            "items": [
                {
                    "type": "ColumnSet",
                    "columns": [
                        {
                            "type": "Column",
                            "items": [
                                {
                                    "type": "TextBlock",
                                    "size": "Large",
                                    "weight": "Bolder",
                                    "text": "CONTRACT APPROVED"
                                }
                            ],
                            "width": "stretch"
                        }
                    ]
                }
            ],
            "bleed": true
        },
        {
            "type": "Container",
            "items": [
                {
                    "type": "FactSet",
                    "spacing": "Large",
                    "facts": [
                        {
                            "title": "Client",
                            "value": "@{triggerOutputs()?['body/Client']}"
                        },
                        {
                            "title": "Contractor",
                            "value": "@{triggerOutputs()?['body/Contractor']}"
                        },
                        {
                            "title": "Fee amount",
                            "value": "@{triggerOutputs()?['body/FeeAmount']}"
                        },
                        {
                            "title": "Approval by",
                            "value": "@{body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')?['responder']['displayName']}"
                        },
                        {
                            "title": "Approved date",
                            "value": "@{body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')?['responseTime']}"
                        },
                        {
                            "title": "Approval comment",
                            "value": "@{body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')?['data']?['acComments']}"
                        },
                        {
                            "title": " ",
                            "value": " "
                        },
                        {
                            "title": "Status",
                            "value": "Ready for payout"
                        }
                    ]
                }
            ]
        }
    ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.2",
    "fallbackText": "This card requires Adaptive Cards v1.2 support to be rendered properly."
}

Wenn der Vertrag abgelehnt wird

Wenn ein Vertrag abgelehnt wurde, geschieht Folgendes:

  • Auf der Registerkarte Verträge ändert sich der Status auf der Vertragskarte in Abgelehnt.

    Kartenstatus abgelehnt.

  • In Ihrem Flow checken Sie die Vertragsdatei aus, ändern den Status in Abgelehnt, und checken sie dann wieder ein.

    Flowstatus in vertragsdatei abgelehnt.

  • In Ihrem Flow erstellen Sie eine adaptive Karte, die angibt, dass der Vertrag abgelehnt wurde.

    Der Flowstatus wird auf adaptiver Karte abgelehnt angezeigt.

Der folgende Code ist der JSON-Code, der für diesen Schritt im Power Automate-Flow verwendet wird.

{ 
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "Container",
            "style": "attention",
            "items": [
                {
                    "type": "ColumnSet",
                    "columns": [
                        {
                            "type": "Column",
                            "items": [
                                {
                                    "type": "TextBlock",
                                    "size": "Large",
                                    "weight": "Bolder",
                                    "text": "CONTRACT REJECTED"
                                }
                            ],
                            "width": "stretch"
                        }
                    ]
                }
            ],
            "bleed": true
        },
        {
            "type": "Container",
            "items": [
                {
                    "type": "FactSet",
                    "spacing": "Large",
                    "facts": [
                        {
                            "title": "Client",
                            "value": "@{triggerOutputs()?['body/Client']}"
                        },
                        {
                            "title": "Contractor",
                            "value": "@{triggerOutputs()?['body/Contractor']}"
                        },
                        {
                            "title": "Fee amount",
                            "value": "@{triggerOutputs()?['body/FeeAmount']}"
                        },
                        {
                            "title": "Rejected by",
                            "value": "@{body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')?['responder']['displayName']}"
                        },
                        {
                            "title": "Rejected date",
                            "value": "@{body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')?['responseTime']}"
                        },
                        {
                            "title": "Comment",
                            "value": "@{body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')?['data']?['acComments']}"
                        },
                        {
                            "title": " ",
                            "value": " "
                        },
                        {
                            "title": "Status",
                            "value": "Needs review"
                        }
                    ]
                }
            ]
        }
    ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.2",
    "fallbackText": "This card requires Adaptive Cards v1.2 support to be rendered properly."
}
  • Die Karte wird im Vertragsverwaltungskanal bereitgestellt.

    Flow adaptive Karte, die abgelehnt werden soll.