Power Automateで承認フローを作成する際、「承認」というアクションを使用します。
今回は承認アクションの概要と各アクションの使い方についてご紹介します。
承認の種類
Power Automateには、使用できる承認タイプが4種類あります。
- 承認/拒否 - 全員の承認が必須:
- オプションが「承認」「拒否」の2つに決められているタイプです。
- 承認者に設定された全てのユーザーからの応答が必須になります。
- 承認/拒否 - 最初に応答:
- オプションが「承認」「拒否」の2つに決められているタイプです。
- 承認者に設定されたユーザーのうち、最初に応答したユーザーの回答が結果として返されます。
- カスタム応答 - すべての応答を待つ:
- オプションを自由に定義することができるタイプです。
- 承認者に設定された全てのユーザーからの応答が必須になります。
- カスタム応答 - 1 つの応答を待つ:
- オプションを自由に定義することができるタイプです。
- 最初に応答した承認者の回答が結果として返されます。
これらのタイプは、後ほど紹介するアクションの中で選択することができます。
承認アクションの種類
承認アクションには、2023/08/16現在で以下の4種類のアクションがあります。
- 承認を作成
- 承認を待機
- 開始して承認を待機
- 開始してテキストの承認を待機
※これらは変更がある可能性もあるため、最新のものは以下の公式のドキュメントからご確認ください。
( 承認 - Connectors | Microsoft Learn )
実際にフローの編集画面で検索すると以下のように出てきます。
これを選択すると、以下のようにアクションが表示されます。
では、各アクションについて詳しく見ていきましょう。
承認を作成
このアクションでは、その名の通り承認を作成することができますが、注意しなければならないのは承認者の応答を待機しないという点です。
実際にフローを作成し検証してみます。
まずアクションを追加すると、先程紹介した承認の種類を選択する画面が表示されます。
今回は「承認/拒否 - すべてのユーザーの承認が必須」を選択してみます。
すると、承認の詳細な内容を設定する画面が表示されます。
承認のタイトルと担当者(これが承認者になります)が必須項目となっており、必要に応じて詳細やリンクなどを追加することができます。
今回は必須項目のみを入力しました。
担当者の項目は、セミコロン区切りで複数のメールアドレスを入力することができます。
このフローを実行すると、承認者に設定されたユーザーが特に承認操作をしなくても実行が完了してしまいました。
また、返された値は以下のようになりました。
承認者の情報、応答リンク、Teamsのアダプティブカード、承認IDといった内容が新たに作成されていることがわかります。
このように、「承認を作成」アクションでは承認を作成することはできますが、承認者からの応答を待機することをしません。
そのため、承認者の回答結果を確認したり、結果をもとに条件分岐を作成するといったことができない仕様となっています。
通常このアクションを使用する場合には、次に紹介する「承認を待機」アクションとセットで使用することが想定されます。
ちなみにこのアクションが実行されると、承認者のTeamsとOutlookに対し以下のような承認要求が送信されます。
また、これまで受信・送信した承認はPower Automateの承認タブから確認することができます。
受信した承認への応答も可能です。
承認を待機
このアクションでは、指定された承認が完了するのを待機することができます。
先程も触れた通り、承認を作成アクションとセットで使うことが多いと思われます。
こちらも実際に検証していきましょう。
今回は先程作成した承認を作成アクションの後に追加してみました。
追加すると、承認IDを指定する画面になります。
承認IDは承認を作成アクションの動的なコンテンツから参照することができるので、今回はその方法で入力します。
編集画面での操作はこれだけになるので、フローを動かしてみます。
今度は応答があるまで承認を待機するようになりました。
試しに承認者に指定したユーザーで「承認」と応答してみると、以下のような実行結果になります。
応答の概要には承認者とそれぞれの応答結果や日付などが入っています。
結果にApproveという応答結果が入っているので、これを利用して条件分岐など作ることができそうです。
また、応答が完了した承認要求に関しては、TeamsとOutlookでそれぞれ以下のような表示になります。
このように、承認を作成アクションを使って承認を作成した場合には、承認を待機アクションを使うことで応答結果などを取得する必要があります。
開始して承認を待機
このアクションは簡単に言えば、承認を作成アクションと承認を待機アクションを組み合わせたものになります。
このアクションを使えば承認を作成し待機まで行うことができます。
アクション追加後の流れ自体は承認を作成アクションと全く同じですので、細かい説明は省略します。
今度は「承認/拒否 - 最初に応答」を選択し、以下のように設定してみました。
これを実行します。
承認を待機アクションで取得できるものと同じ項目が取得できました。
ちなみに、今回承認者を複数設定しましたが、最初に応答した承認者の回答が結果となるので、結果に入る値は1つとなっています。
また、最初に応答したユーザー以外の承認者の画面ではTeamsとOutlookの表示は以下のようになり、他のユーザーは回答が出来なくなります。
開始してテキストの承認を待機
このアクションでは承認を作成することができますが、これまで紹介したものとは違い承認タイプを選択しません。
アクションを追加すると以下の画面になります。
開始して承認を待機アクションと異なるのは、「提案されたテキスト」という項目です。
試しに以下のように入力して実行してみます。
Teamsに届いた承認要求は以下の通りです。
しかし、ここで承認ボタンを押すと以下のようにエラーが発生してしまいました。
何度か更新したり拒否を押してみたりしましたが、同じ画面が表示されてしまいます。
追加されて間もないアクションのため公式にもドキュメントが少なく、エラーの原因まで調査することができませんでした。
こちらに関しては原因がわかり次第追記させて頂きます。
OutlookやPower Automateの承認タブでは以下のように表示されました。
どちらも提案されたテキストを編集できるようになっており、こちらが正常の動きのようです。
Outlookから、テキストを「テスト 確認完了」に変更して承認してみます。
承認ボタンを押すとコメント入力欄と送信ボタンが表示されました。
送信ボタンを押すと無事承認済みとなりました。
実行結果は以下の通りです。
「承諾されたテキスト」という項目で、承認時に変更したテキストが取得できました。
ちなみにこのアクションでは承認タイプを選択できなかったので、複数の承認者がいる場合の挙動を調査したところ、最初に応答した承認者の結果が採用されることがわかりました。
まとめ
今回4つのアクションをご紹介しましたが、結論としては最も汎用性が高いのは「開始して承認を待機」アクションであると言えます。
「承認を作成」「承認を待機」の2つが用意されていますが、この2つの機能は「開始して承認を待機」だけで実行できるものになりますので、2つに分けて使う場面は正直あまりないかと思います。
また「開始してテキストの承認を待機」に関しても、追加されたばかりでまだ情報が少ないこともあり、今のところ活用する場面はあまりないように感じました。
追加で情報があればまた共有させて頂きます。