3단계. Power Automate를 사용하여 계약을 처리하는 흐름을 만듭니다.
계약 관리 채널을 만들고 SharePoint 문서 라이브러리를 연결했습니다. 다음 단계는 Syntex 모델이 식별하고 분류하는 계약을 처리하는 Power Automate 흐름을 만드는 것입니다. SharePoint 문서 라이브러리에서 Power Automate 흐름을 만들어 이 단계를 수행할 수 있습니다.
계약 관리 솔루션의 경우 Power Automate 흐름을 만들어 다음 작업을 수행하려고 합니다.
- Syntex 모델에서 계약을 분류한 후 계약 상태를 검토 중으로 변경합니다.
- 그런 다음 계약을 검토하고 승인되거나 거부됩니다.
- 승인된 계약의 경우 계약 정보는 결제 처리를 위한 탭에 게시됩니다.
- 거부된 계약의 경우 팀은 추가 분석을 위해 알림을 받습니다.
다음 다이어그램은 계약 관리 솔루션에 대한 Power Automate 흐름을 보여줍니다.
검토를 위해 계약 준비
비정형 문서 처리 모델에서 계약을 식별하고 분류하면 Power Automate 흐름이 먼저 상태를 검토 중으로 변경합니다.
파일을 체크 아웃한 후 상태 값을 검토 중으로 변경합니다.
다음 단계는 계약이 검토를 기다리고 있으며 계약 관리 채널에 게시하고 있음을 나타내는 적응형 카드를 만드는 것입니다.
다음 코드는 Power Automate 흐름에서 이 단계에 사용되는 JSON입니다.
{
"$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"
}
}
]
}
조건부 컨텍스트
흐름에서 다음으로 계약이 승인 되거나 거부되는 조건을 만들어야 합니다.
계약이 승인된 경우
계약이 승인되면 다음과 같은 상황이 발생합니다.
계약 탭에서 계약 카드의 상태가 승인됨으로 변경됩니다.
흐름에서 상태가 승인됨으로 변경됩니다.
이 솔루션에서는 지급을 관리할 수 있도록 계약 데이터가 지급 탭 에 추가됩니다. 이 프로세스를 확장하여 흐름이 타사 금융 애플리케이션(예: Dynamics CRM)의 결제 계약을 제출할 수 있도록 할 수 있습니다.
흐름에서 승인된 계약을 지급 탭 으로 이동하는 다음 항목을 만듭니다.
Teams 카드에서 필요한 정보에 대한 식을 얻으려면 다음 표에 표시된 값을 사용합니다.
이름 Expression 승인 상태 body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['submitActionId'] 승인자 body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['responder'] ['displayName'] 승인 날짜 body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['responseTime'] Comment body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['data']? ['acComments'] 다음 예제에서는 Power Automate의 수식 상자를 사용하여 식을 작성하는 방법을 보여줍니다.
계약이 승인되었음을 나타내는 적응형 카드가 만들어지고 계약 관리 채널에 게시됩니다.
다음 코드는 Power Automate 흐름에서 이 단계에 사용되는 JSON입니다.
{
"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."
}
계약이 거부된 경우
계약이 거부되면 다음과 같은 상황이 발생합니다.
계약 탭에서 계약 카드의 상태가 거부됨으로 변경됩니다.
흐름에서 계약 파일을 체크 아웃하고 상태를 거부됨으로 변경한 다음 파일을 다시 체크 인합니다.
흐름에서 계약이 거부되었음을 나타내는 적응형 카드를 만듭니다.
다음 코드는 Power Automate 흐름에서 이 단계에 사용되는 JSON입니다.
{
"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."
}
카드는 계약 관리 채널에 게시됩니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기