Power Automateとは
2019年10月に発表されました『Microsoft Power Automate』(旧:Microsoft Flow) ですが、皆様はどのようにご活用されていますでしょうか。
並びとしては、Word・Excel・OneDrive辺りと並列のはずですが、おそらく認知度はそこまで高くないサービスではないかと思います。
そもそも前身であるFlowは、「○○したら(○○の状態になったら)、××する」というようなフローをGUI上で作り上げて、自動(スケジュール)実行できるサービスでした。
これにRPA(ロボティック・プロセス・オートメーション)が加わって、ノンコーディングで更に色々なことが自動化できますよ!という売りのサービスですね。
RPAの部分を担うのは、『UI Flows』という技術で、アプリ上やブラウザ上での操作を追いかけて、それを再現するのを助けてくれるようです。
Outlookの予定をGoogleカレンダーに同期する
予定管理の負荷軽減のため
さて、早速ですが、何か仕組みを作ってみたいと思います。
今回は、Office365の予定をGoogleカレンダーに同期する仕組みを題材にします。
UI Flowsの出番なく完成してしまいそうですが、単純に役に立ちそうなものを作りたいので…。
「会社の予定はOutllokだけど、プライベートの予定はGoogleカレンダーで管理しているんだよね…」という方も多いのではないでしょうか。
“Outlookに新しい予定を入れたら、自動的にGoogleカレンダーにも同じ予定が入る”というところを、今回のゴールにします。
テンプレートの検索
こちらからPower Automateへサインインしましょう。
トップ画面から、まずはやりたいことのテンプレートがないか検索しましょう。
今回は「googleカレンダー」で検索してみます。
1件目の「特定のカテゴリの予定をOffice365からGoogleカレンダーにコピーする」が、今回の要件に近そうですね。
尚、テンプレートについては追加・削除がそこそこの頻度で行われているようです。「先月まであったあのテンプレートがない!」となって困らないよう、気になったテンプレートはマイフローに入れておくのも良いかもしれません。(【オフ】にしておけば、実行されることもありません)
接続先を指定して、続行をクリック。
フローの編集
編集画面を開くと以下のような感じに。
ここに、予定表IDやらカレンダーIDやらを入力(選択)すれば完成です。
尚、入力が足りないと、フローチェッカーにちゃんと怒られます。
また、今回はカテゴリーの判定が要らないので、条件分岐を取っ払ってしまいましょう。
“はいの場合”の中身「Create an event」をドラッグ&ドロップで「When a new event is created (V2)」の下に持っていきましょう。
そして、「Apply to each」はブロックごと消します。削除は各パーツのラベル右端の三点リーダーからできます。
こうなりますね。
さて、この状態でいざ保存しようとすると時間の変換エラーになると思います。
Power Automate自体は便利な機能なのに、この辺り(エラーの内容が分かりにくい、解消方法が不明など)が障壁になってなかなか使ってもらえていないような気もします。。。
職場でもPower Automate苦手民は多いです。
さて、この問題については解消法は1つではないと思いますが、今回は「タイムゾーンの変換」というアクションを利用します。
アクション間の下矢印(↓)をクリックして、[アクションの追加]をします。
「タイムゾーンの変換」を選択。
“書式設定文字列”を適切に設定します。(今回は開始時刻、終了時刻が対象)
後続処理では、「変換後の時間」という名前の変数として使えるようになるので、それを使いましょう。以下のような感じ。
これで保存できるようになったと思います。
動作テスト
テストをしてみましょう。
Outlookの予定を追加します。
※Googleカレンダーへ同期されるのをしばし待ちます。ここでの待ち時間はPower Automateのプランにしたがいます。それぞれのチェック間隔は以下の通り。
- Free : 15分
- Office365付属 : 5分
- プラン1 : 3分
- プラン2 : 1分
当然、Power Automate単体でプラン契約しているほうがチェック間隔は短くなります。
Freeプランでは、トリガー発生から処理実行まで、最大15分待たされることになります。
予定がGoogleカレンダーにコピーされました!
ちなみに、実行履歴は各フローのトップ画面で確認できます。
日時をクリックすると詳細を見ることもできますので、失敗していた場合は、どの処理がエラーになっていて、原因は何か?というところまでリターンコード等から追いかけることができます。
まとめ
今回はMicrosoftのPower Automateを用いて、Outlookの予定をGoogleカレンダーに同期(自動コピー)する方法をご紹介しました。
他にも様々なトリガー・処理を扱えるので、「これが自動化できたらなぁ…」ということがありましたら、一度似たようなテンプレートが無いか探してみるのも良いかもしれません。
もちろん、今回のように既存のテンプレートをアレンジしたり、一から作るのもアリです。
後日作成した承認ワークフローの作り方を貼っておきます。よろしければあわせてご覧ください。
働き方改革が叫ばれる昨今、可能な限り機械に任せられるところは任せて、我々は人間にしかできない仕事に集中できる時間を増やしましょう!
それでは、また次回!
平成生まれのアラサー文系ぽんこつシステムエンジニア。
エンジニアらしく技術系の記事を書いたり、全く関係ない記事を書いたり、まったりやっていきたいです。
AI(人工知能)、デジタルマーケティング、DX、Office365活用、ガジェットなどに興味があります。
コメント