皆さんこんにちは!
業務ハックLabのよ~よんです。
本日はPower Automateを利用した承認機能について検証をしましたので記事にしていきたいと思います。
この前、アキラさん主催の情シス飲み会に参加した時に、試験機能であるカードデザイナー内で変数値を参照するところで躓いたんですよ。
その飲み会の中では解決しなかったのですがその日のうちにアキラさんが解決方法をブログで上げていました。
アキラさんのブログはこちら
ちなみにその時検証していたので承認機能だったので僕も改めて検証をしてみました。
Power Automateで承認フローってあまり使ったことがなかったんですけど思ったより便利でした。
ってことで検証した結果を書いていきたいと思います。
Power Automateの承認機能の種類
Power Automateで承認フローを作成する際には承認コネクタを使うパターンとTeamsコネクタの「アダプティブ カードを Teams ユーザーに投稿して応答を待機」アクションを使って承認を行う2パターンがあります。(もっとあるかも?でも僕が知ってるのはこの2つ・・・)
ちなみに承認コネクタはこんなやつ。
このコネクタには
- 開始して承認を待機
- 承認を作成
- 承認を待機
と3つのアクションがあります。
そしてTeamsコネクタの方はこんな感じのアクションです。
どちらも承認フローに使えるのですが使い分け方としては前者の承認コネクタは承認の証跡などを簡単に残したい場合、後者のTeamsコネクタのアクションの方は承認依頼時に投稿するカードを自分仕様にカスタマイズしたい場合に使います。
ちなみにこの前、変数値を入れ込むところで躓いたのは後者の方です。
では早速、同じ承認の流れを作ってどのような違いがあるのか見ていきましょう。
検証する承認の流れ
今回、承認を流す内容は下記のような感じ。
タイトル:備品購入申請
商品:Surface duo
個数:1個
価格:180,000
申請理由:欲しいから
「備品購入申請でSurface duoってありえないだろ!」というツッコミは受け付けません(笑)
本当だったらPower Appsで申請用アプリ作ったり、Formsで申請フォーム作ったりするのですが今回はあくまで検証なので変数に上記の項目を入れてフローを作ります。
こんな感じです。
変数名 | 内容 |
User | 担当者のメールアドレス |
Goods | Surface duo |
Qty | 1 |
Price | 180,000 |
Reason | 欲しいから |
承認コネクタ編
フローのコアとなる部分はこのようになってます。
承認コネクタの「承認を作成」アクションで承認依頼を投げる内容を作成。
その後、その内容をTeamsのチャットで承認者へ投稿。
「承認を待機」アクションで承認者のアクションを取る形になっています。
承認アクション完了後、は承認者の選択によって分岐となっています。
棄却の場合のみ承認者のコメントを拾うようにしており、最後のアダプティブカードを飛ばすアクションの中に下記の式を入れています。
では実際にどんな感じで飛んでいるかというとこんな感じ。
上はTeamsに届いたもの(Teamsに送るアクション入れてるので)で、Outlookにも同時に届きます。
どっちかの画面で承認なり、拒否なりをするともう片方の画面も処理済みになります。
ちなみに承認履歴はTeams上の承認アプリから確認が可能です。
証跡を残すにはこの機能があるととても便利ですよね。
ちなみに承認処理完了後はこんなAdaptive cardsが届くようになってます。
却下理由もちゃんと取得できています。
では次はTeamsコネクタの「アダプティブ カードを Teams ユーザーに投稿して応答を待機」アクションを使って承認をしてみましょう。
Teamsコネクタ
「アダプティブ カードを Teams ユーザーに投稿して応答を待機」アクション編
フローのコア部分はここだけ。
「アダプティブカードの編集」をクリックするとJSON形式で記述するのではなくUI上で直接アダプティブカードを作ることができます。
ちなみにこの機能は「試験的機能」なので挙動が少し安定していません。
使用するときは自己判断でお願いしますね。
ちなみにアクションの下記の部分で記述した物をアダプティブカードの編集画面で変数として使用できます。
詳しくはアキラさんのブログを確認して頂ければと思います!
あとのフロー部分はほぼ変わりませんがこちらの方では却下理由を取得する方法としてTeamsの応答の内容を式を入れて取得しています。
こちらの式も最後のアダプティブカードを飛ばすアクションの中に入れてます。
実際に申請を飛ばすとこんな感じです。
こちらの方は自分である程度カスタマイズを加えられます。
例えば画像を入れたりも可能です。
またTeamsにしか申請が飛ばないのでOutlookの「未読」が増えないのもいいですね。
ここで承認、棄却を選択すると上記の画面が下記のような表示に変更されます。
ちなみに下記では「回答済み」と表記されてる部分がありますがこちらの文面も変更可能です。
ただこの承認フローの場合、証跡が自動的には残らないので、証跡を格納するDBか何かを用意した上で、履歴を残していくことをおすすめします。
どちらの方法も良い面、悪い面がありますがそこはお好みで使用してもらえればと思います。
番外編
ちなみに今回、もう一つこっそりと検証をしていました。
それはこちら!
比べてみていただけるとわかると思いますが、よ~く見てみるとそうです!
メールアドレスが表示されなくなったんです。
左側のアダプティブカードは新たに追加された「チャットやチャネルにアダプティブカードを投稿する」アクションで投稿したもの、右側は「独自のアダプティブカードをフローボットとしてユーザーに投稿する」アクションで投稿したものです。
細かい仕様ですが結構嬉しかったりします。
先日Microsoft MVPのHiroさんがブログで紹介されていたので今回の検証で使ってみました。
このアクションでは「投稿者」の部分でUserが投稿するのかFlow botが投稿するのかを選べるようになっています。
Hiroさんの記事はこちら
だーっと書いてきましたがPower Automateの承認フローはアプリやSharePointなどと組み合わせると非常に汎用性の高いものになります。
皆さんも是非業務で使用してみてください。
それでは皆さん良い業務ハックライフを~