Stap 3. Power Automate gebruiken om de stroom te maken voor het verwerken van uw contracten
U hebt uw contractbeheerkanaal gemaakt en uw SharePoint-documentbibliotheek gekoppeld. De volgende stap is het maken van een Power Automate-stroom voor het verwerken van uw contracten die uw Syntex-model identificeert en classificeert. U kunt deze stap uitvoeren door een Power Automate-stroom te maken in uw SharePoint-documentbibliotheek.
Voor uw oplossing voor contractbeheer wilt u een Power Automate-stroom maken om de volgende acties uit te voeren:
- Nadat een contract is geclassificeerd door uw Syntex-model, wijzigt u de contractstatus in In revisie.
- Het contract wordt vervolgens beoordeeld en goedgekeurd of afgekeurd.
- Voor goedgekeurde contracten worden de contractgegevens op een tabblad geplaatst voor betalingsverwerking.
- Voor geweigerde contracten wordt het team op de hoogte gesteld voor verdere analyse.
In het volgende diagram ziet u de Power Automate-stroom voor de oplossing voor contractbeheer.
Uw contract voorbereiden voor beoordeling
Wanneer een contract wordt geïdentificeerd en geclassificeerd door uw ongestructureerde documentverwerkingsmodel, wijzigt de Power Automate-stroom eerst de status in In revisie.
Nadat u het bestand hebt uitgecheckt, wijzigt u de statuswaarde in In revisie.
De volgende stap is het maken van een adaptieve kaart waarin wordt aangegeven dat het contract wacht op beoordeling en het op het contractbeheerkanaal wordt geplaatst.
De volgende code is de JSON die wordt gebruikt voor deze stap in de Power Automate-stroom.
{
"$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"
}
}
]
}
Voorwaardelijke context
Vervolgens moet u in uw stroom een voorwaarde maken waarin uw contract wordt goedgekeurd of geweigerd.
Als het contract is goedgekeurd
Wanneer een contract is goedgekeurd, gebeurt het volgende:
Op het tabblad Contracten verandert de status op de contractkaart in Goedgekeurd.
In uw stroom wordt de status gewijzigd in Goedgekeurd.
In deze oplossing worden de contractgegevens toegevoegd aan het tabblad Voor uitbetaling , zodat de uitbetalingen kunnen worden beheerd. Dit proces kan worden uitgebreid, zodat de stroom de contracten voor betaling kan indienen door een financiële toepassing van derden (bijvoorbeeld Dynamics CRM).
In de stroom maakt u het volgende item om goedgekeurde contracten te verplaatsen naar het tabblad Voor uitbetaling .
Gebruik de waarden die in de volgende tabel worden weergegeven om de expressies voor de benodigde informatie op te halen uit de Teams-kaart.
Naam Expression Goedkeuringsstatus body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['submitActionId'] Goedgekeurd door body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['responder'] ['displayName'] Goedkeuringsdatum body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['responseTime'] Opmerking body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['gegevens']? ['acComments'] In het volgende voorbeeld ziet u hoe u het formulevak in Power Automate gebruikt om een expressie te schrijven.
Er wordt een adaptieve kaart gemaakt waarin wordt aangegeven dat het contract is goedgekeurd en in het contractbeheerkanaal geplaatst.
De volgende code is de JSON die wordt gebruikt voor deze stap in de Power Automate-stroom.
{
"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."
}
Als het contract wordt geweigerd
Wanneer een contract is geweigerd, gebeurt het volgende:
Op het tabblad Contracten verandert de status op de contractkaart in Geweigerd.
In uw stroom checkt u het contractbestand uit, wijzigt u de status in Geweigerd en checkt u het bestand vervolgens weer in.
In uw stroom maakt u een adaptieve kaart waarin staat dat het contract is geweigerd.
De volgende code is de JSON die wordt gebruikt voor deze stap in de Power Automate-stroom.
{
"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."
}
De kaart wordt gepost in het kanaal Contractbeheer.