Power Automateで毎週月~金に実行されるフローが、祝日には実行されないようにするには

Power Automateの「スケジュール済みクラウドフロー」では、指定したタイミングや頻度でフローを実行することが可能です。

この時、「繰り返し間隔」の設定で毎週月~金に実行するようにした場合、フローは祝日にも実行されてしまいます。

フローを祝日には実行されないようにするには、どうすればいいでしょうか。

様々な方法があるかと思いますが、Outlookの自分の予定表に新しく「日本の祝日」の予定表を追加して活用することによる、簡単なフローをご紹介します。

フローの概要

本記事では、祝日に実行させたくないフローのデモとして、平日のみの特定の時間・特定のTeamsチャネルに投稿を行うフローを作成しました。

前述の通り、「繰り返し間隔」の設定により、Power Automateで毎週月~金のみフローが実行されるようにすることはできますが、祝日も実行されないように設定することはできません。

そのため、何らかのデータソースを設定して祝日情報の判定を行い、フローの実行を制御する必要があります。

しかし、毎年手動で祝日情報判定のためのデータソースを作成するのも手間なので、今回はOutlookに標準で用意されている予定表「日本の休日」を使用します。

事前準備

事前準備として、Outlook on the webの予定表にて「日本の休日」を追加します。

[イベントのカレンダービューの取得(V3)]アクションにて最初から候補として表示される場合もありますが、表示されていない場合は本章で紹介する操作が必要です。

今回は、Outlook on the webでの操作手順を記載します。

  1. Outlook on the webを開きます。(https://outlook.office.com/mail/)
  2. [予定表]にて[予定表を追加]をクリックします。
  3. 予定表を追加ウィンドウの左側のメニューから[祝日]をクリックし、[日本]のチェックボックスをオンにします。
  4. 予定表に「日本の祝日」予定表が追加されたことを確認します。
    (日髙:キャプチャ追加しました。)

フローの作成

  1.  Power Automate にサインインします。(https://make.powerautomate.com/
  2.  左側のナビゲーションから[作成]を選択します。
  3.  [スケジュール済みクラウドフロー]を選択し、下記項目に任意の内容を入力します。
    • フロー名
    • 開始日
    • 繰り返し間隔

  4. [現在の時刻]アクションを追加します。
  5. [変数を初期化する]アクションを追加し、下記のように設定します。
    • 名前:Day
    • 種類:アレイ
    • 値:空白のまま

  6. Office 365 Outlookの[イベントのカレンダービューの取得(V3)]アクションを追加し、下記のように設定します。
    • カレンダーID:日本 の休日
    • 開始時刻:動的なコンテンツ[現在の時刻]
    • 終了時刻:動的なコンテンツ[現在の時刻]

  7. [条件]アクションを追加し、下記のように設定します。
    • 左側:イベントのカレンダービューの取得(V3)の動的なコンテンツ[Value]
    • 真ん中:次の値に等しい
    • 右側:変数の動的なコンテンツ[Day]

  8. 「はい」の中に[チャットまたはチャネルでメッセージを投稿する]アクションを追加し、下記項目に任意の値を入力します。
        ※「いいえ」へのアクションの追加は不要です。
    • 投稿者
    • 投稿先
    • Team
    • Channel
    • Message

動作確認

今回作成したフローは「平日のみ」実行されるフローであるため、トリガーを設定して任意のタイミングでの動作確認は困難です。

そのため、[イベントのカレンダービューの取得(V3)]アクションにて予定表IDを任意の予定表に変更し、予定がある場合とない場合それぞれでフローのテストを行い、実行可否を確認します。

※フローは、[イベントのカレンダービューの取得(V3)]アクションの出力にて、Valueが「空白」の場合(=予定がない場合)のみ実行されます。
※「日本の休日」にはユーザーによる予定の追加はできないため、必ず予定表IDを変更してお試しください。

▼TEST用の予定作成例

▼TEST用の[イベントのカレンダービューの取得(V3)]アクション設定例

▼予定がない場合の実行結果

▼予定がある場合の実行結果

まとめ

本記事では、Power Automateで毎週月~金に実行されるフローが祝日には実行されないようにするために、[イベントのカレンダービューの取得(V3)]アクションにてOutlookの標準機能で追加できる「日本の休日」を使用する方法を紹介しました。

毎年の祝日判定のためのデータソースの作成という作業がなくなるため、使いやすい&汎用性の高いフローになり、とても満足です。

執筆担当者プロフィール
日髙 菜々子

日髙 菜々子(日本ビジネスシステムズ株式会社)

PS本部でサービスデスク業務をしています。 Power Platformを中心に発信していきたいと思っています。

担当記事一覧