今回はOffice 365に含まれているPowerAutomateというサービスとSharePoint Onlineを組み合わせて承認ワークフローを作成してみます。
作成する承認ワークフロー
今回はSharePoint Onlineのリストに申請アイテムを投稿し、それをトリガーとしてFlowを動かします。
承認者は「承認」と「却下」が可能で、それぞれでステータスを変化させます。あとオマケで申請者に通知メールを飛ばしてみましょう。
作業
SharePoint側のリスト作成
まずは申請データを保管しておく場所としてリストを作成します。
列としては以下の列があればいいでしょうか。
- タイトル
- 本文
- ステータス
- 承認者コメント
Flowの作成
まずはPowerAutomateでフローを新規で作成します。今回は「一から作成」でやっていきます。
トリガーとして SharePoint を選択します。
「アイテムが作成または変更されたとき」というトリガーを選択します。
メモ申請者がアイテムを投稿した時に動くのは狙った動きですが、変更時にも動いてしまいます。その辺は注意しましょう。
また、今回は例としてこのトリガーを使用していますが、このままでは申請者が自発的に承認依頼を行うことはできません。この辺りも考慮する必要があります。
トリガーの設定画面が開くので、以下の2点を設定し「+新しいステップ」ボタンを押下します。
サイトのアドレス:先ほどリストを作成したサイトのURL
リスト名:作成したリストの名称
※どちらもドロップダウンから選択可能
次に承認アクションを設定します。これはApprovalsというコネクタを利用しましょう。
検索ボックスに「approvals」と入力して検索し、結果のアクションタブから「Start and wait for an approval(V2)」を選択します。
Approval type、Tittle、Assigned toの3項目を入力します。それぞれ承認タイプ、タイトル、承認依頼先です。
次に条件式的なコネクタを追加し、承認されたときはこの処理、否認されたときはあの処理という分岐を作ります。コネクタ名は「条件」です。
条件コネクタの「値の選択」をクリックし、「Responses Approver response」を選択します。
「条件」をクリックして展開します。
「次の値に等しい」を選択し、「Approve」と入力します。
「はい」の場合と「いいえ」の場合、それぞれで行う処理を設定する枠が表示されるので、SharePointのコネクタから「項目の更新」を追加して以下の様に設定します。
ID、タイトル、本文は動的なコンテンツの「アイテムが作成または変更されたとき」から持ってきましょう。要はトリガーとなったアイテムの情報です。
最後にメール通知を追加します。先ほど「はい」「いいえ」でアクションを追加した下にアクションを追加します。
追加するのは Office 365 Outlook のメールの送信。勿論他のコネクタでもOK。
宛先には申請者(アイテム登録者)、件名にはアイテムのタイトル + :申請処理結果通知 の文字列、本文に承認処理の結果サマリをセットしました。
あとは保存して完了です。
動作確認
では早速、実際に動かしてみましょう。
アイテム作成するだけで動いてくれるはずです。
アイテム作成
ステータスと承認者コメントは入力しません。運用時には隠すなどしませう。できたアイテムは↓こちら
PowerAutomate
しばらく時間を置いてPowerAutomateの実行履歴を見ると実行中となっています。
メールボックスを確認するとちゃんと承認依頼のメールが届いています。承認と拒否のボタンもついていますね。
承認ボタンを押してコメントを入力、最後にSubmitボタンを押下してみます。
ボタンを押すとすぐに通知メールが送信されます。今回は申請者と承認者が同じアカウントの為、同じところに届いてます。。
おまけ
また暫くしてPowerAutomateのほうを見てみると再度実行中となっています。
これはどういうことかというと、PowerAutomateの処理でアイテム更新を行った為、それをトリガーとして動いてしまったという訳です。
今回省きましたが、ステータスチェックなどの処理を入れて処理を抜けてやる必要がありそうです。運用に際しては色々と考慮しなければなりませんね(´・ω・`)
コメント