⌚ 2022/4/11 (Mon) 🔄 2024/3/20 (Wed)
Power Automate有効期限切れで無効化されたフローを自動起動させる
Microsoft 365環境でPower Automateを使用したフローを運用していると、勝手に無効化されているフローが存在していることはありませんか。 調べてみると一定期間使われていないフローは有効期限切れとなり停止するとのことでした。 今回はそんなフローを自動起動させる方法を説明したいと思います。
まずは、フローの有効期限について、サイト( https://docs.microsoft.com/ja-jp/power-automate/limits-and-config?WT.mc_id=BA-MVP-5003233#expiration-limits )に以下の説明がありました。
90日間トリガーされないフローは30日後に停止するとのこと。
有効期限が切れたときは作成者に電子メールで通知されるます。電子メールを調べてみると、確かに「警告!フローが実行されていません」というメールとその30日後に「警告!実行していないためフローを無効化しました」というメールが届いているではありませんか。
今回の無効化されたフローの自動起動は、このメール通知をトリガーに対象のフローを起動させます。
フローの説明
さてフローの説明です。
①メール通知をトリガーにするので「新しいメールが届いたとき(V3)」を選択します。
「警告!実行していないためフローを無効化しました」のメール件名で設定しても大丈夫ですが、今回は「警告!フローが実行されていません」でも本フローが起動するように複数条件を設定するため、右上の「...」から設定を選択します。
⑥対象フローが共有アイテムの場合は③で配列へ格納した文字列に「shared」という文字列が含まれます。今回は共有アイテムのみ自動起動の対象としますので「条件」を使用してフローを条件分岐させます。
③で設定した変数「フロー名を分割」を選択し、「次の値を含む」、「shared」と設定します。
⑦自動起動対象のフローの情報を取得するため「フローの取得」を選択します。 環境は④で設定した変数を指定し、Flowには⑤で設定した変数を指定します。
⑧いよいよ対象フローの自動起動です。対象フローは無効化=オフの状態となっているため「フローの更新」を使用して状態をオン(Started)にします。
環境には④で設定した変数を、Flowには⑤で設定した変数を、フローの表示名とフロー定義には⑦の「フローの取得」から取得した値を指定します。
そしてフローの状態を「Started」にします。
以上で完了です。
動作確認は90日+30日=120日後に。。。というわけにはいかないと思いますので、
テスト用のフローをオフにして、件名を「警告! フローが実行されていません」として本文にテスト用のフローのURLを記載したメールを送信してみましょう。
テスト用のフローが無事オンになるでしょう。
参考
参考までに、何も知らないうちにフローが自動起動されたというのもすっきりしないため、無効化されたフローが自動起動された際に、私はSlackに通知するようにしています。
⑧の「フローの更新」の後にSlackの「メッセージの投稿(V2)」を設定します。
いかがだったでしょうか。少しでも役に立てれば幸いです。
=背番号7=