Power AutomateとOutlookで祝日を考慮したフロー作ってみた

Power AutomateとOutlookで祝日を考慮したフロー作ってみた

Power Automateでは、フローの実行タイミングを曜日単位で設定できますが、祝日にも実行されて困ったことはありませんか?日本の祝日は年によって曜日が異なることが多く、対応には工夫が必要です。Outlookカレンダーの「日本の休日」を利用することで、祝日に応じた条件分岐ができました。本記事では、エンジニア経験のないスタッフ職がどのように設定を行ったかをご紹介します。Microsoft 365を導入している企業はぜひご覧ください。

前提条件、必要なライセンス

  • Power AutomateおよびOutlookが利用できるMicrosoft 365のライセンス

YouTube動画でご覧いただけます

実際の画面や操作方法について動画でまとめておりますので、本記事と合わせてご覧ください。

Outlookの設定確認

まずはOutlookにログインします。個人用の予定表に「日本の休日」が既に表示されている場合は、Outlookで設定する項目は特にありません。表示されていない場合の手順は下記のとおりです。

Outlookに日本の祝日を設定する方法

  1. 左のメニューから「予定表を追加」をクリックします
  2. ポップアップが表示されたら「祝日」をクリックします。
  3. 国が表示されるので「日本」にチェックを入れます。
  4. ポップアップの右上の×ボタンをクリックして閉じます。
  5. カレンダーに「日本の休日」が表示されました。

Power Automateの設定

次にPower Automateでフローを作成していきます。

1.フローの作成

  1. まずは、Power Automateにログインします。
  2. 左メニューから「作成」をクリックします。
  3. 「スケジュール済みのクラウドフロー」をクリックします。
  4. フロー名、開始日時を適当に入力します。
  5. 繰り返し間隔の「分」のプルダウンを「週間」に変更します。
  6. 設定曜日が表示されたら、日と土をクリックし、フローの実行を平日のみに指定します。
  7. 「作成」ボタンをクリックします。

2.現在の時刻の取得、タイムゾーンの変換

  1. Recurrenceをクリックします。
  2. タイムゾーンのプルダウンをクリックし、「大阪、札幌、東京」をクリックします。
  3. プラスボタンをクリックし、「アクションやコネクタを検索する」のフィールドに「時刻」と入力します。選択肢から「現在の時刻」をクリックします。
  4. プラスボタンをクリックし、「アクションやコネクタを検索する」のフィールドに「時刻」と入力します。選択肢から「タイムゾーンの変換」をクリックします。
  5. Base timeに「現在の時刻」をクリックしますSource time zoneをクリックし「(UTC)Coordinated Universal Time」を選択します。Destination time zoneをクリックし「(UTC+09:00)Osaka, Sapporo, Tokyo」を選択します。

3.変数の設定、Outlookカレンダーの連携

  1. プラスボタンをクリックします。「アクションやコネクタを検索する」のフィールドに「変数」と入力し、選択肢から「変数を初期化する」をクリックします。
  2. 名前の箇所に適当な名称を入力し、タイプは「文字列」を選択します。
  3. プラスボタンをクリックします。「アクションやコネクタを検索する」のフィールドに「outlook」と入力し、「詳しく見る」をクリックします。一覧から「イベントのカレンダー ビューの取得 (V3)」をクリックします。
  4. Calendar IDのプルダウンをクリックし、「日本の休日」をクリックします。
  5. 開始時刻のプルダウンをクリックし、タイムゾーン変換後の現在の時刻を選択します。終了時刻のプルダウンも同様にタイムゾーン変換後の現在の時刻を選択します。
  6. プラスボタンをクリックし、「アクションやコネクタを検索する」のフィールドに「変数」と入力します。一覧から「文字列変数に追加」をクリックします。
  7. Nameのプルダウンから先ほど設定した変数を選びます。Valueの欄には「Subject」をクリックします。

4.祝日と平日のアクション設定

  1. プラスボタンをクリックします。「コントロール」をクリックし、「条件」をクリックします。
  2. 値の箇所に変数の「祝日」を選択し、プルダウンは「含む」にし、値を選択の箇所に「日」といれます。

祝日だった場合のアクション

  1. Trueのプラスボタンをクリックします。ここでは祝日だった場合、どのようなアクションを実行するかを設定します。本来は祝日だった場合は「何もアクションしない」ことが望ましいのですが、今回は正しく分岐できたことを確認するために、Microsoft Teamsのチャットでその日の祝日の名前を送るようにします。
  2. 「アクションやコネクタを検索する」のフィールドに「teams」と入力し、「詳しく見る」をクリックします。一覧から「チャットまたはチャネルでメッセージを投稿する」をクリックします。
  3. 投稿先は「フローボットとチャットする」をクリックし、Recipientの項目に通知したいユーザーのメールアドレスを入力します。メッセージに通知したい内容を入力します。

平日だった場合のアクション

  1. Falseのプラスボタンをクリックします。ここでは平日の場合アクションしたいことを登録します。今回は、Microsoft Teamsのチャットで平日であることをメッセージで送るようにします。
  2. 「アクションやコネクタを検索する」のフィールドに「teams」と入力し、「詳しく見る」をクリックします。一覧から「チャットまたはチャネルでメッセージを投稿する」をクリックします。
  3. 投稿先は「フローボットとチャットする」をクリックし、Recipientの項目に通知したいユーザーのメールアドレスを入力します。メッセージに通知したい内容を入力します。

5.フローの保存・テスト

  1. 「保存」、「テスト」をクリックします。
  2. 「手動」をクリックし「テスト」をクリックします。「フローの実行」をクリックします。「完了」をクリックします。
  3. テストしたところ、平日には平日のメッセージが送信され、祝日には祝日のメッセージが送信されることを確認しました。

まとめ

本記事では、Outlookの日本の休日を活用し、Power Automateで土日や祝日を考慮したフローを作ってみた内容をご紹介しました。Power Automateのフローのアクションでユーザーにチャットやメールで通知をする場合、祝日には通知を送りたくない場合という配慮で利用できそうです。

Microsoft製品の導入や導入後の運用企業をお探しであれば、JBサービス株式会社にご相談ください。導入実績などについては下記ページをご覧ください。

関連記事

JBサービス株式会社のここがすごい!
JBサービス株式会社のここがすごい!

JBサービス株式会社のここがすごい!

Microsoftソリューションの導入・構築・運用は、JBサービス株式会社にお任せください。これまでの導入実績や保有資格、ご支援内容についてご紹介します。

JBサービス株式会社のここがすごい!へ