概要
PowerAutomateを使った承認フローを少しいじってみようと思います。
Start an approval(開始して承認を待機)
この記事を書いているのが2020/12/24なのですが、1ヶ月?ぐらい前に作っていた承認フローは、
Start an approval
という英語表記だったのに
今日は検索にヒットしない。。。
まさかと思い、検索ボックスに承認
と入力するとこのようにヒットしました。
日本語としてどうなんだろうとは思いますが、Start an approval
→開始して承認を待機
アクションに日本語対応されたようです。
まだまだ英語表記のものが多いですが、徐々に日本語対応されていくようですね。
承認の種類
承認の種類は4つ
承認の種類 | 概要 |
---|---|
カスタム応答 - 1つの応答を待機 | いずれかの承認者が応答することによりプロセスが完了します。 |
カスタム応答 - すべての応答を待機 | プロセスを完了するには、すべての承認者が応答する必要があります。 |
承認/拒否 - すべてのユーザーの承認が必須 | 要求を完了するには、すべて の承認者の承認または却下が必要となります。 すべて の承認者が承認、またはいずれかの承認者が拒否した後に実行される 開始して承認を待つ アクションに続くアクション。 |
承認/拒否 - 最初に応答 | 要求を完了するには、いずれかの承認者が承認または却下する必要があります。 開始して承認を待つ アクションに続くアクションは、承認者のいずれかが決定した後に実行されます。 |
ざっくりと、カスタム応答は、相手からの応答内容(選択肢)をカスタマイズできます。
承認 or 拒否という選択肢ではなく、2つ以上の何らかの選択肢を設けて、一問一答のアンケートのようなことができるのがカスタム応答の特徴です。
承認/拒否のアクションは、選択肢が2つのみで承認 or 拒否しか選べないアクションです。
カスタム応答 - 1つの応答を待機 を試す
以下のように、カスタム応答の承認アクションを作成し、テスト実行します。
テスト実行すると、誰かが承認するまで、承認アクションで停滞した感じになります。
とりあえず、承認を依頼された hoge-taro で承認してみます。
承認依頼はメールアドレスを指定するため、対象者のメールに届いています。
メールを開くと以下のような表示になっています。
カスタム応答の選択肢として指定した3つ(認める
,認めない
,認めたくない
)が選択肢として表示されていることが確認できます。
ここでは認めたくない
を選択します。
すると、テスト中だったフローがご利用のフローが正常に実行されました。
というグリーン表示に変わり、開始して承認を待機
の出力内容(承認の応答内容)が確認できます。
カスタム応答 - 1つの応答を待機を試す
では、2人に承認依頼を出したうち、1人が回答したため、承認アクションが次のアクションに進んでいきました。
想定通りの動きです。
カスタム応答 - すべての応答を待機 を試す
ここではすべての応答を待機する承認フローを検証します。
ほげ太郎とほげ次郎に対して承認フローを実行するため、2人が回答するまで待機するのかを確認します。
2人に承認フローを依頼し、すべての応答を待機するため、ほげ次郎だけが回答した状態だと、承認アクションはまだ待機状態になっています。
では残っているほげ太郎にも承認してもらいましょう。
ほげ太郎が承認すると、無事承認アクションが先に進み、今回のフローが完了します。
承認アクションの出力としては、複数人の承認結果がまとまっている状態です。
後続のアクションで、何らかの対応をする場合には、複数人分の応答内容が1つになっている状態を把握したうえで、利用する必要がありそうです。
すべての応答を待機しているときの問題点
今回の例では、ほげ太郎とほげ次郎に対して承認(応答)を依頼しています。
私自身がテスターなので、全てのアカウントを操作している都合上、ほげ次郎が応答したという事実を知っています。
私としては、複数人に同時に承認を依頼し、その承認を全員が応答するまで待つ場合、誰が未回答(未応答)で、誰が回答済(応答済)なのか、途中の状態が気になって仕方ありません。
あまり気にならない人もいるのかもしれませんが、全員が応答するまでこのアクションはずーっと待機状態となるため、え?誰が応答してないの?応答してない人いるなら催促する??ということを考えることはあるでしょう。
いろいろいじってみたものの、結局承認状態の途中経過を確認する機能を見つけることができませんでした。
これだと、使い勝手が少し悪い気がするのは私だけでしょうか・・・?
承認/拒否 - 最初に応答 を試す
カスタム応答とは違い、選択肢を自由にカスタマイズする項目はありません。
承認するとアクションが進み、フローが完了します。
今回は全員の応答をまたないアクションなので、一人が承認するだけでOKです。
承認/拒否 - すべてのユーザーの承認が必須 を試す
一人が承認した状態で、あと一人承認してない(応答していない)人がいる状態でも、誰が承認していないのか知る方法はなさそうですね。
ユーザーの設定によるのか、承認/拒否
というボタンで表示される人もいれば、Approve/Reject
というボタン表示になる人もいるようですね。
補足:Approval Detailsで利用可能なMarkdown
承認アクションで、詳細なメッセージの内容を記述できる部分があります。
ここではMarkdownが利用できるみたいなので、利用可能なMarkdown記法の参考情報を記載しておきます。
https://docs.microsoft.com/en-us/power-automate/approvals-markdown-support
最後に
色々と検証をしてみましたが、承認/拒否などをAさん→Bさん→Cさんというふうに、ワークフローのようなイメージで構築する分には活用できそうな気がしますが、1度の承認アクションで複数人への承認依頼を投げる場合、誰が回答して誰が回答していないのかがわからない仕組みだと非常に使いづらいなと思いました。
SharePointのドキュメントに何らかのファイルをアップしたら、全員でレビューして、かならず何か反応する。というような処理をしたい場合、誰がみてないの?ということを確認する術が無いのは困ったものです。。。
(実際にはそんなに面倒なフローは業務で存在しないんですがw)