【Power Automate】「私用があるので残業(休日出勤)しません!」という無言の意思表示を半自動化してみた。
2022年12月13日(火)、Microsoft Power Automate Advent Calendar 2022(カレンダー2)用
最近はConnpassを中心に展開されているコミュニティイベントに参加したり、ありがたいことに登壇の機会を頂いたりしております。
どうもyukioです。
私はブログ執筆当時、会社からそこそこ離れたところに住んでいて、自家用車で通勤していました。(現在はもうちょっと近いところに引っ越しました。)
そのうえ、帰り道は車が多くて渋滞するんですよね。
ちょっと残業になって会社出発が18時台になってしまうと、帰宅は平気で19時超え。
なので、平日の夜(19:00とか19:30とか)に開催されるイベントに参加しようと思うと、なるべく定時で帰りたいところ。
あとは、土日にもイベントがあるので、それに参加する場合は休日出勤したくないですよね。
私の現在の予定は、
・私用を管理しているGoogleカレンダー(無料のGoogleアカウント)
・仕事の予定を管理しているOutlook(会社支給のMS365アカウント)
を別々で管理しています。
今までは
「この時間は私用が入っているので残業できません」
「この日は私用が入っているので休日出勤できません」
という無言の意思表示をするために、
仕事用のOutlookに「私用」という名前の予定を手動で追加していました。
でも
・私用Googleカレンダーに予定を入れる
・仕事用Outlookに予定を入れる
という二重の作業になって非常に面倒なんですよね。
でも、ある日ふと
「Power Automateでフロー組んだら、Googleに入れるだけでOutlookに自動で入れられるんじゃね?」
と思い立ち、フローを作ってみたところ、
思いのほか簡単にちゃちゃっと半自動化が実現できました!
ですので、その方法をまとめようと思います。
フロー全容
フローの全容はこんな感じです。
単純に
「Googleカレンダーに予定が追加された」
ことをトリガーとして、
いろいろ処理をして、
その予定をMS365のOutlookにも入れる
だけですね。
ぶっちゃけ、この程度の仕組みだったら、いろんな方が作られていますので、
「何番煎じなんだよ!」
な話ですが、ちょっとした「自分なりのこだわり」も入ってますし、自分のアウトプットとしての記事なので紹介させてください。
(1)トリガー:イベントがカレンダーに追加されたとき
トリガーはこちらです。
Microsoftなのに、Googleなどの外部のサービスと連携することができる。
ほんと開発者さんに感謝ですね。
(2)タイムゾーンの変換
取ってきたイベントの「開始時刻」と「終了時刻」を取ってきて、タイムゾーンを日本時間に変更しておきます。
これは別にしなくても問題ありません。
入れなかった場合と入れた場合でどういう違いが出るのか?は後述します。
(3)イベントの時間を延ばす
ここが私のこだわりです。
さっきタイムゾーン変換した開始時刻を「1時間前」に、終了時刻を「1時間後」にして、私用としての「尺」を長く見せる処理をしています。
これで「●時(開始の1時間前)までに帰る!」という無言の主張になり、余裕をもってコミュニティイベントに臨めるということですね。
(4)Outlookに予定を入れる
あとは、こうして出来上がった情報を、Outlookに入れていくだけです。
「件名」に、Googleカレンダーからとってきた「イベントタイトル」を入れることもできますが、「どんな内容の私用なのか」を会社の人に知られたくなかったので、一律に「私用」という件名で登録することにします。
※画像下部の「詳細オプションを表示する」を開いていろいろやったら、「非公開の予定」として登録することもできます。
実行結果
さて実行してみます。
Googleカレンダーでは↑↑↑のような形で入れた予定が・・・
Outlookには↑↑↑のような形で入りました。
午後7時から8時 → 午後6時から9時
にちゃんと変換され、タイトルも「私用」として入っていますね。
「タイムゾーンの変換」を挟む理由は?
最初フローを作ったときは、「タイムゾーンの変換」を入れていませんでした。
それでも、予定画面での映り方含め、ほとんど問題ありませんでした。
でも、一部問題がありましたので、この件について触れたいと思います。
まずは先ほどと同じように、「午後7時~8時」で予定を入れてみます。
↑↑↑Outlookに問題なく入りました。
↑↑↑先ほどの画面はブラウザ版です。問題だったのはデスクトップアプリのOutlookでした。
この表示は問題なかったものの、ダブルクリックして編集をしようとすると・・・
↑↑↑あれ?時刻がずれている?
どうやら、Googleカレンダーから「イベント開始日時」や「イベント終了日時」を取ってくるだけでは、「協定世界時」として認識するようでした。
見た目上は問題ありませんでしたが、この現象がどうも気持ち悪いので、「(2)タイムゾーンの変換」を手順として入れたという訳です。
さいごに
今回は、Power Automateを使ったちょっとした小ネタをご紹介しました。
最初に作った「当番通知フロー」のシリーズ連載以降、ブログ執筆から遠ざかってましたが、Microsoft Power Automate Advent Calendar 2022がはじまったのを機に、自分を奮い立たせて執筆させていただきました。
今後も、自分のアウトプットとして色々書いていきたいと思います。
実は、Microsoft Power Automate Advent Calendar 2022、明日(12/14)も登場予定です!
ぜひご覧いただければと思います。