##概要
Power Automateで処理をする場合、毎月xx日からxx日迄(毎日xx時からxx時迄)動作をするフローを作成したいことがあります。
フローの中でxx日なら処理をしないという分岐を書くことも出来ますが、無駄にフローを起動しないために一定期間はフローを停止するような処理を実現する方法です。
##実現方法
Power Automateのフローは画面上でオンにする/オフにする事が出来ます。
今回はこのオン(有効化)/オフ(無効化)を自動的に行うフローを書くことで実現します。
オンと言うのはフローを直ぐに起動するのではなく、オンにした以降フローのトリガー(ファイルが作成されたとかメールが来たとか)にしたがって動くと言う事です。
##Power Automate 管理コネクタ
ここで使われるのが"Power Automate管理コネクタです。アクションの選択画面でAutomateと検索すると2つほど似ているコネクタが見つかります。
ここで迷いました。今回使うのは右のPower Automate 管理です。(左のはPower Automate for Adminsです。紛らわしい)
アクションの「フローを有効にする」「フローを無効にする」を使います。
##実際のフロー
例として毎月20日午前9時に特定のフローをオンにするフローは以下のように書きます。
繰り返しの時間のタイムゾーンを含めた書き方が分かり難いのですが以下の記事を参考にしました。
[PowerAutomate]スケジュール実行が指定時間通りに起動しない場合(タイムゾーンが機能しない場合)
Flowで実際に有効化(オンに)したいフローを指定します。無効化(オフ)も同様なのでフローは2つ作ることになります。(20日に有効化、月末に無効化など)
##フローの有効化/無効化の結果を通知する
フローの有効化/無効化の書き方はここまでなのですが、実際にフローが有効化された事や有効化に失敗した事を通知したい事があります。
今回は社内の経理担当が特定のOneDriveフォルダに請求書が書き込まれた場合通知が欲しいとの要望から始まったのですがフローの有効化に失敗して、請求書の処理が行われなかったとかの問題が発生すると行けないので結果はTeamsに通知する事にしました。
成功したときと失敗したときのメッセージを変えるため条件分岐を考えたのですが簡単な方法が思いつかなかった為以下のように実現しました。
左は成功した場合、右は失敗の場合で並行分岐としてアクションを追加しています。
条件分岐なしにどのように成功、失敗を分けているかはアクションの...メニューにある実行条件の構成に秘密があります。
このようにすることで簡単に有効化の状態を通知出来ました。