はじめに
2023年7月13日に「SharePointを活用したMicrosoft Power Platformデータ連携 ~Power AppsとAutomateによる開発実践~」ウェビナーを開催しました。
ウェビナーでは、Microsoft Power Platformの概要やSharePointを活用したデータ連携と開発実演を紹介。開発実演では、Power AutomateとPower Appsの2つに焦点を当て、Power Automateを使ったフロー作成やPower Appsで申請業務の画面作成を解説しました。そのウェビナーで紹介した開発実演から、①フロー作成を中心とした「Power Automate編」、②画面作成を中心とした「Power Apps編」の2回に分けて紹介します。
この「Power Automate編」「Power Apps編」で紹介する開発例は、SharePointに格納してあるデータをPower Appsで表示して、承認対象のデータをPower Automateで承認者に承認依頼する処理となります。具体的には、お客様が商品を購入した際に指定した配達希望日に配送してもよいかどうかを決裁する処理となります。
今回の記事「Power Automate編」では、Power Automateを活用したワークフローの作成方法を紹介します。(※図1の赤枠の部分です)「Power Apps編」で作成する画面から「Power Automate編」で作成したフローを呼び出すため、最初にフローの作成を行います。
図1:処理全体のアプリケーションの流れ
事前準備
今回はSharePointのリストに格納してあるデータを利用するので、以下のサイトおよびリストを用意します。
・SharePointのサイト名:HAISO_SPO
・SharePointリスト名:Haiso_Table
図2:Haiso_Tableの定義
Power Automateでフローを作成
Power Appsのボタンがクリックされたことを起点として、実行されるワークフローを以下の流れで作成します。
図3:概略フロー
1.Power Automateのコンソール画面を開き、左側の【作成】をクリックします。
図4:サイドメニュー
2.【作成】をクリックすると、右側の画面でフローの種類を選択できる画面が表示されます。今回は、Power Appsのボタンをクリックした際に実行するフローを作成するので【インスタントクラウドフロー】をクリックします。
図5:フロー選択画面
3.インスタントクラウドフローを選択すると、「何を起点に実行するか」を選択するためのトリガーを選択する画面がポップアップで表示されます。
※Power Appsのボタンクリックをトリガーにするので、【Power Apps(V2)】を選択します。同時に、フロー名もわかりやすい名前をつけるために【配送承認フロー】と入力します。
トリガーの選択とフロー名の入力が完了したら【作成】ボタンをクリックします。
図6:トリガー選択画面
4.【Power Apps(V2)】のトリガーが選択されると、以下の画面が表示されます。まず、【新しいステップ】をクリックし、次に表示される画面でPower Appsから渡されるパラメータを指定します。
パラメーターは以下を指定します。
・【申請者アカウント】<入力の種類[メール]>:誰が申請したのかという情報
・【配送データID】<入力の種類[数]>:申請するデータを特定する情報
次に【新しいステップ】をクリックします。
図7:トリガーのパラメータ指定
5.承認者に通知する際に表示するHaiso_Tableの項目を取得するために、SharePointに格納されているデータ(項目)を選択します。
【操作を選択してください】画面の検索欄に「sharepoint」と入力すると、SharePointに関連するアクションが表示されます。その中から【項目の取得】を選択します。
図8:操作選択画面
6.SharePointから項目を取得するための指定画面が表示されます。
各項目を以下のように設定します。また、作成したフローを見た際にわかりやすいようにタイトルも変更します。設定が完了したら、【新しいステップ】をクリックします。
・サイトのアドレス:Haiso_Tableが存在するサイトのURL
・リスト名:Haiso_Table
・ID:[PowerApps(V2)] 配送データID ※【動的なコンテンツの追加】をクリックすると選択できます
・タイトル:配送リストから配送情報を取得
図9:SharePoint項目取得指定画面
7.承認者に通知する際のメッセージを設定します。
【項目を選択してください】画面の検索欄に「承認」と入力すると、承認に関連するアクションが表示されます。その中から【開始して承認を待機】を選択します。
図10:操作選択画面
以下のように設定します。
・承認の種類:承認/拒否・最初に応答 ※リストから選んでください
・タイトル:配送許可の申請依頼
・担当者:承認者のアカウント ※今回は、執筆者のアカウントを固定で指定しました
・詳細:任意のメッセージを設定してください。
・要求元:[PowerApps(V2)] 申請者アカウント ※【動的なコンテンツの追加】をクリックすると選択できます
・タイトル:配送許可の承認依頼
6.のステップでHaiso_Tableの項目を取得する設定をしているので、Haiso_Tableの項目を含めることも可能です。今回は、配送日、配送先お客様名、配送商品をHaiso_Tableから取得しています。
図11:承認者への通知メッセージ指定画面
8.承認者がメッセージを受け取り、承認・拒否をした際のアクションを設定します。
まず、【項目を選択してください】画面の検索欄に「条件」と入力すると、条件に関連するアクションが表示されます。その中から【条件】を選択します。
図12:操作選択画面
条件を選択すると、判断条件とはい(承認)、いいえ(拒否)を設定する枠が表示されます。
判断条件には、承認された=はい(承認)、承認された=いいえ(拒否)とするための条件を以下の画面のように設定します。
図13:条件指定画面
はい(承認)、いいえ(拒否)の枠の中にある【アクションの追加】をクリックしてそれぞれの処理を設定します。
図14:分岐処理指定画面
9.はい(承認)時の処理を設定します。
承認時の処理として、Haiso_Tableの項目を更新するので、【操作を選択してください】画面の検索欄に「項目の更新」を入力して、【項目の更新】アクションを選択します。
図15:操作選択画面
各項目を以下のように設定します。また、作成したフローを見た際にわかりやすいようにタイトルも変更します。これで、承認時の処理の設定は完了です。
・サイトのアドレス:Haiso_Tableが存在するサイトのURL
・リスト名:Haiso_Table
・ID:[配送リストから配送情報を取得] ID ※【動的なコンテンツの追加】をクリックすると選択できます
・申請フラグ:空白 ※デフォルト値(いいえ)を空白にします
・承認者:[配送許可の承認依頼] 回答数 承認者名 ※【動的なコンテンツの追加】をクリックすると選択できます
・承認日時:[配送許可の承認依頼] 完了日 ※【動的なコンテンツの追加】をクリックすると選択できます
・タイトル:配送テーブルに承認結果を更新
図16:承認時の処理指定画面
10.いいえ(拒否)時の処理を設定します。
拒否時の処理として、Haiso_Tableの項目を更新するので、【操作を選択してください】画面の検索欄に「項目の更新」を入力して、【項目の更新】アクションを選択します。
図17:操作選択画面
各項目を以下のように設定します。また、作成したフローを見た際にわかりやすいようにタイトルも変更します。これで、拒否時の処理の設定は完了です。
・サイトのアドレス:Haiso_Tableが存在するサイトのURL
・リスト名:Haiso_Table
・ID:[配送リストから配送情報を取得] ID ※【動的なコンテンツの追加】をクリックすると選択できます
・申請フラグ:デフォルト値(いいえ)
・タイトル:配送テーブルに承認結果を更新
図18:否認時の処理指定画面
11.以上で、以下のようなフローが作成されます。最後に【保存】ボタンをクリックして終了です。
図19:完成フロー
おわりに
今回は、Power Appsのボタンがクリックされたことを起点として、Power Automateによって実行されるワークフローの手順「Power Automate編」をご紹介しました。次回は、Power Appsで申請画面の作成手順と今回作成したフローを連携する手順を紹介します。
最後に、tdiはローコード開発に力を入れていますので、こちらにお気軽にお問い合わせ下さい。
執筆者プロフィール
-
RPA関連の開発および運用を経験。
最近は、Microsoft Power Platform製品のPower AppsやPower Automateをメインに、開発及び教育を担当。
Microsoft 365 Copilotに期待と興味があります。
この執筆者の最新記事
- ローコード開発2024.09.09Power Automateのプレミアムコネクタを使ってRest API連携してみた
- ローコード開発2024.01.19画面と承認フローを連携してみた~Power Apps編~
- ローコード開発2023.11.08承認フローを作ってみた~Power Automate編~
- RPA2022.08.26DX推進を加速させる人材育成 ~RPAを”利用する”から”活用する”へ~