Dela via


Steg 3. Använda Power Automate för att skapa flödet för att bearbeta dina kontrakt

Du har skapat din contract management-kanal och har kopplat ditt SharePoint-dokumentbibliotek. Nästa steg är att skapa ett Power Automate-flöde för att bearbeta dina kontrakt som Din Syntex-modell identifierar och klassificerar. Du kan göra det här steget genom att skapa ett Power Automate-flöde i SharePoint-dokumentbiblioteket.

För din avtalshanteringslösning vill du skapa ett Power Automate-flöde för att utföra följande åtgärder:

  • När ett kontrakt har klassificerats av din Syntex-modell ändrar du kontraktsstatusen till I granskning.
  • Kontraktet granskas sedan och godkänns eller avvisas.
  • För godkända kontrakt publiceras kontraktsinformationen på en flik för betalningsbearbetning.
  • För avvisade kontrakt meddelas teamet för ytterligare analys.

Följande diagram visar Power Automate-flödet för kontraktshanteringslösningen.

Flödesdiagram som visar hela lösningen.

Förbereda ditt kontrakt för granskning

När ett kontrakt identifieras och klassificeras av din ostrukturerade dokumentbearbetningsmodell ändrar Power Automate-flödet först statusen till I granskning.

Uppdateringsstatus.

När du har checkat ut filen ändrar du statusvärdet till I granskning.

I granskningsstatus.

Nästa steg är att skapa ett adaptivt kort som anger att kontraktet väntar på granskning och publicerar det på contract management-kanalen.

Kontraktsgranskningspost.

Skapa ett adaptivt kort för granskning.

Följande kod är den JSON som används för det här steget i Power Automate-flödet.

{
"$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"
    }
    }
]
}

Villkorsstyrd kontext

I ditt flöde måste du sedan skapa ett villkor där ditt kontrakt antingen godkänns eller avvisas.

Villkorsstyrd.

Om kontraktet godkänns

När ett kontrakt har godkänts sker följande:

  • På fliken Kontrakt ändras statusen på kontraktskortet till Godkänd.

    Kortstatus godkänd.

  • I ditt flöde ändras statusen till Godkänd.

    Flödesstatus godkänd.

  • I den här lösningen läggs kontraktsdata till på fliken För utbetalning så att utbetalningarna kan hanteras. Den här processen kan utökas så att flödet kan skicka kontrakten för betalning av ett finansiellt program från tredje part (till exempel Dynamics CRM).

    Kontraktet flyttades till Betala ut.

  • I flödet skapar du följande objekt för att flytta godkända kontrakt till fliken För utbetalning .

    Flödesobjekt som ska flyttas till Betala ut.

    Om du vill hämta uttrycken för den information som behövs från Teams-kortet använder du värdena som visas i följande tabell.

    Namn Expression
    Godkännandetillstånd body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['submitActionId']
    Godkänd av body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['responder'] ['displayName']
    Godkännandedatum 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']

    I följande exempel visas hur du använder formelrutan i Power Automate för att skriva ett uttryck.

    Skärmbild i Power Automate som visar en uttrycksformel.

  • Ett adaptivt kort som anger att kontraktet har godkänts skapas och publiceras på contract management-kanalen.

    Kontraktgodkännande har publicerats.

    Adaptivt kortgodkännande.

    Följande kod är den JSON som används för det här steget i Power Automate-flödet.

{ 
    "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."
}

Om kontraktet avvisas

När ett kontrakt har avvisats sker följande:

  • På fliken Kontrakt ändras statusen i kontraktskortet till Avvisad.

    Kortstatusen avvisades.

  • I ditt flöde checkar du ut kontraktsfilen, ändrar statusen till Avvisad och checkar sedan in filen igen.

    Flödesstatusen avvisades i kontraktsfilen.

  • I ditt flöde skapar du ett adaptivt kort som anger att kontraktet har avvisats.

    Flödesstatusen visas avvisad på adaptivt kort.

Följande kod är den JSON som används för det här steget i Power Automate-flödet.

{ 
    "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."
}
  • Kortet publiceras i kontraktshanteringskanalen.

    Flödesanpassat kort att avvisa.