気ままに勉強会 で承認ワークフローの作成デモを行ったときに「承認者へ届くメールやTeamsへの承認依頼についても詳しく聞きたい」という質問がありましたので、記事にしてみます。
承認コネクタを利用した際に[通知を有効にする]を「はい」にすると、メール通知がされます。
Teamsの承認アプリが有効の場合は、Teamsにも通知されます。
以下の図は、承認コネクタを利用して承認依頼した際のメール例です。
赤枠で囲んだ「差出人」と本文中に記載されている「要求者」「作成日」は、システム側で自動的に付与している情報のため、変更することができません。
「要求者」はこの承認依頼を行った人ということです。
ただし、この要求者はトリガーの種類や「承認」コネクタのアクションの設定によって若干変わってきます。
動作について検証した結果をまとめてみました。
※ フローの所有者は、「たな」です。
※ フローの実行者は、「ぱんだ子」さんです。
※ [要求元]に設定するのは、「ぱんだ郎」さんです。
「承認」コネクタのアクション[要求元]の設定
[要求元]という欄に何も設定していない場合は、「要求者」がメール内に表示されます。
[要求元]という欄にユーザーのメールアドレスを設定している場合は、「要求者」が表示されなくなり、「作成者」と「要求元対象者」が表示されます。
プッシュトリガー(手動実行)の場合
「プッシュトリガー」は手動で実行するトリガーです。
「プッシュトリガー」のフローの場合、[実行のみのユーザー]の[使用する接続]の設定でもメール内容が変化します。
「プッシュトリガー」については、以下にまとめましたので、それなに?という方は以下の記事にまとめてみましたのでご覧ください。
Power Automateのトリガー種別と注意事項について | たなの覚え書き (tana-techlog.net)
プッシュトリガーの場合、フローの詳細画面に[実行のみのユーザー]という設定があります。
この設定により動作が変わってきます。
この設定については以下にまとめましたので、動作についてご存じない方はご覧ください。
プッシュトリガー(手動実行)の実行のみのユーザーの設定について | たなの覚え書き (tana-techlog.net)
① [要求元]が未設定、かつ、使用する接続が「実行専用のユーザーによって提供されました」の場合
「要求者(Requested by)」に、フローの実行者が表示されます。
Teamsのアクティビティでは、「要求したユーザー」として「要求者」が表示されます。
② [要求元]が設定されている、かつ、使用する接続が「実行専用のユーザーによって提供されました」の場合
「作成者(Created by) 」に、フローの実行者が表示されます。
「要求対象者(Requested for)」に、[要求元]に指定したユーザーが表示されます。
Teamsのアクティビティでは、「要求したユーザー」として「要求対象者」が表示されます。
実際に実行したユーザーと異なるユーザーが承認依頼を要求したように見えます。
③ [要求元]が未設定、かつ、使用する接続が「この接続「xxxxxx@xxxxxx.xx」(Approlvals)を使用する」の場合
「要求者(Requested by)」にフローで指定した接続アカウント名(アクションに設定されている接続アカウント名)が表示されます。
実際に実行したユーザーと異なるユーザーが承認依頼を要求したように見えます。
Teamsのアクティビティでは、「要求したユーザー」として「要求者」が表示されます。
④[要求元]が設定されている、かつ、使用する接続が「この接続「xxxxxx@xxxxxx.xx」(Approlvals)を使用する」の場合
「作成者(Created by) 」に、フローの実行者が表示されます。
「要求対象者(Requested for)」に、フローで指定した接続アカウント名(アクションに設定されている接続アカウント名)が表示されます。
実際に実行したユーザーと異なるユーザーが承認依頼を要求したように見えます。
ポーリングトリガー(自動実行)の場合
「ポーリングトリガー」については、以下にまとめましたので、それなに?という方は以下の記事にまとめてみましたのでご覧ください。
Power Automateのトリガー種別と注意事項について | たなの覚え書き (tana-techlog.net)
ここで一点注意があります。
「ポーリングトリガー」のフローの場合は、アクションに設定されている接続のユーザーがフローの実行者となります。
基本的には、フローの作成者の接続になるので、フローの作成者で実行されるということになります。
(あくまで「基本的に」はです)
① [要求元]が未設定の場合
「要求者(Requested by)」に、フローで指定した接続アカウント名(アクションに設定されている接続アカウント名)が表示されます。
実際に実行したユーザーと異なるユーザーが承認依頼を要求したように見えます。
Teamsのアクティビティでは、「要求したユーザー」として「要求者」が表示されます。
② [要求元]が設定されている場合
「作成者(Created by)」に、フローで指定した接続アカウント名(アクションに設定されている接続アカウント名)が表示されます。
「要求対象者(Requested for)」に、[要求元]に指定したユーザーが表示されます。
Teamsのアクティビティでは、「要求したユーザー」として「要求対象者」が表示されます。
実際に実行したユーザーと異なるユーザーが承認依頼を要求したように見えます。
まとめ
長々と書きましたが、まとめると以下のようになります。
- [要求元]を設定すると、メールでは「作成者」が承認依頼したユーザーに該当する
- Teamsでは、[要求元]に設定されたユーザーが承認依頼したユーザーとして見える
- トリガーの種類とアクションの接続を誰に指定するかによっては、実際の承認依頼したユーザーとならないこともある
なんのトリガーを使っているか、どういう設定をしているかで挙動が変わります。
プッシュトリガーとポーリングトリガーの動きや接続の設定の動きを理解するとなぜ上記のようになるのかが理解できるかと思います。
おまけ
自分にどれだけの承認依頼が来ているか確認するには、Power Automateポータル画面の[実施項目]-[承認]で表示される画面の[受信済み]で確認することができます。
承認を依頼してきたユーザーは「依頼者」の列で確認できます。
Teamsの場合は[承認]アプリの[受信済み]で確認できます。
承認を依頼してきたユーザーは「送信者」の列で確認できます。
(同じ情報を表示しているのだから、Power AutomateでもTeamsでもできれば同じ表現で表示して欲しいところです)
コメント