Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages

Power Automateの使い方第3弾! Office 365カレンダーとGoogle カレンダーの同期を自動化!

みなさんPower Automateはご存知でしょうか。Power AutomateはMicrosoft社が提供している自動化のツールです。

また、2021年3月2日にMicrosoftはPower Automateの新たな機能として、Windows 10ユーザー向けに無料で使えるRPAソフトウェア「Power Automate Desktop」の提供を開始しました。

従来、無料で利用できるRPAツールは「Robotic Crowd Agent」や「マクロマン」など一部のソフトウェアと、「UiPath Community Edition」のような利用者に制限のあるものに限られていました。世界最大手のソフトウェアベンダーである米MicrosoftがRPAを無償化したことで、RPAの導入のハードルは大きく低下しました。

Power Automate Desktop無料提供についてより詳しく知りたい方はこちらの記事もご覧ください。

Power Automateを使うことで、日常に潜む無駄な作業を削減できます。今回は多くのPower Automateのテンプレートの中でも人気のテンプレートを使いながらフロー作成の方法を紹介します。フローを作成することでどんな効果が得られるのか、見ていきましょう!

Power Automate関連の記事はこちらです。↓

 

Power Automateのテンプレートとは?

画像1

Power Automateには様々なテンプレートが存在します。また、これらのテンプレートは、メール、カレンダー、リモート作業と、業務シーンのカテゴリーごとに分類されています。これらのテンプレートはそのままで使っても効果が期待できるものもありますし、自分好みにカスタマイズすることでより次元の高い自動化が実現できるテンプレートもあります。

まずはご自身の目でどんなテンプレートがあるのか確かめてみてください!今回はテンプレートをそのまま使ってみます。

 

特定のカテゴリの予定を Office 365 カレンダーから Google カレンダーにコピーする

画像2

みなさん、このように一つのカレンダーを使っていて、予定が多くごちゃごちゃになってしまうという方いらっしゃいませんか。リモート作業が増えていく中で、オンラインミーティングなどの予定が増え、ランチなどの仕事以外予定が同じカレンダーに入ってしまうとわかりにくいですよね。

そこで、ミーティングなどの忘れてはいけない予定をほかのカレンダーに自動的に移し、あるカテゴリーの予定専用のカレンダーを作る自動化を今回は紹介します。すべての予定が入っているカレンダーとその中でも大事な予定だけが抽出されたカレンダーをこれまでいちいち手動で作っていたという方は今回を機に自動にしてしまいましょう!

今回は「特定のカテゴリの予定をOffice 365 からGoogle カレンダーにコピーする」テンプレートを使用します。

 

①カレンダーの準備

今回はOffice 365 Outlookのカレンダーにある予定表をGoogle カレンダーにコピーするという作業を行いますので、あらかじめコピーしたい予定にラベルをつけてカテゴリーを決める必要があります。

今回はミーティングの予定のみをGoogle カレンダーにコピーします。

画像3

この赤枠で囲っている部分を見ていただくと、予定を組む時に分類を指定できます。この分類の名前でPower Automateはどの予定かを判断して、Google カレンダーにコピーします。

そこで今回はミーティングの予定を移すので、赤いラベルを「Meeting」という名前にします。このようにしてカテゴリー分けをすると画像2のカレンダーは以下の画像4のようになります。

画像4

このようにすると7/8日の「OOさんMTG」7/16の「××さんMTG」は赤くなり、Meetingのラベルがついているということになります。これでカレンダーの準備は終わりです。

 

②フローの開始

画像5

 

まずは、Office 365 Outlookのアカウント、Google カレンダーにログインしていただいて、緑色のチェックボタンが出れば、続行を押していただくことで、フロー作成画面に移ります。

 

③フローを作成する

フロー作成画面を開くと、以下のような画面(画像6〜9)が出てきます。上から順に、どのような流れで、OutlookのカレンダーがGoogle カレンダーに自動転記されるのか確認していきます。このフロー作成画面は条件分岐のような形になっています。

画像6

もし新しい予定をOffice 365 Outlookで作った場合(赤枠の部分)、次のConditionの部分(オレンジ枠)に進みます。

画像7

そしてこの画像7の段階でカテゴリーがMeetingという名前を含んでいるかどうか判断されます。ちなみに、Conditionの部分(オレンジ枠)のMeetingはフローを作成画面を開くとすでに記入されています。

ここは自分がGoogle カレンダーに移したいカテゴリーの名前にすることができ、Outlookのカレンダーのラベルもここの名前と対応させる必要があります。(例:ここをLunchにしたらOutlookの方のラベルにもLunchを作る)今回はMeetingをコピーしたいので、このままにします。

画像8

画像9

そして、画像7のオレンジ枠でカテゴリー判断がなされた後、新しく作った予定がMeetingというカテゴリーの場合、つまり「はい」の場合(黄色の枠)はGoogle カレンダーに予定はコピーされ、それ以外の場合、つまり「いいえ」の場合(黄緑の枠)はコピーされないというような順番です。

基本的に、Power Automateはどのテンプレートにおいても、赤い米印の部分()(例:赤枠の中の予定表ID、青枠の以前の手順から出力を選択、黄色枠のカレンダーID、開始時間、終了時間、黄緑枠のカレンダーID、開始時間、終了時間)を埋めて、最後に画像9のピンク枠の保存ボタンを押すと完成できます。

ありがたいことに、このテンプレートではフロー作成画面を開くと必須項目の赤い米印の部分()のほとんどが埋まっています。それに従いながら、埋まっていない赤枠の中の予定表ID、黄色枠の中のカレンダーID、黄緑枠の中のカレンダーIDを埋めていきましょう。ここはプルダウンで選択肢が出てくるので、問題なく埋めることができるかと思います。これで必須項目はすべて埋まったので、ピンク枠の保存を押せばフローの完成です。では保存を押してみましょう。

 

④フローの完成

画像10

黄緑色の部分をご覧いただけますでしょうか。エラーが出て、保存できなかったようです。

「フローの保存がコード ‘OpenApiOperationParameterValidationFailed’ およびメッセージ ‘入力パラメーター ‘newEvent’ の検証がワークフロー操作 ‘Create_an_event’ で失敗しました: 種類/形式 ‘String/date-no-tz’ のパス ‘newEvent/start’ にある値 ‘”@triggerOutputs()?[‘body/Start’]”‘ のパラメーターは、種類/形式 ‘String/date-time’ に変換できません。’ で失敗しました。」

こちらがエラー内容です。エラー内容によると@triggerOutputs()?[‘body/Start’]とあります。つまりこれは、画像8の黄色枠の中の開始時刻、黄緑色枠の開始時刻そして、それぞれに関連する終了時刻(黄色枠の終了時刻、黄緑色枠の終了時刻)に問題があるということを示しています。

⑤フローの修正

フローを修正する必要があります。つまり、Power Automate側から指定されたように埋めただけでは間違いなようです。このフローを完成させるために以下の二つの関数を入力します。

開始時刻:convertToUtc(triggerOutputs()?[‘body/Start’],’UTC’)

終了時刻:convertToUtc(triggerOutputs()?[‘body/end’],’UTC’)

こちらを画像8の黄色枠、黄緑色の開始時刻、終了時刻に入力していきます。入力する際「動的なコンテンツ」と「式」が選べますが、「式」という方を選んでから入力します。(画像11、12)

画像11

画像12

すべて入力し終わると以下のようになるかと思います。

画像13

そして最後に保存を押して完成です。

 

⑥フローの完成(2回目)

画像14

保存済みが出ました。成功です。このフローは保存すると同時に動き出します。

 

⑦正常に動いているか確認

フローが正常に動いているか確認しましょう。

画像15

こちら成功していました。では、Google カレンダーにコピーされているでしょうか。今回コピーしたかったのは画像4の7/8、7/16のミーティングです。

画像16

画像17

成功していました。これですべて完了です。

これからPower Automateを体験される方へ

いかがでしたでしょうか。今回は人気のテンプレートをモデルにフローを作ってみました。Power Automateに指定された通りに埋めていくと成功しないというケースを今回紹介しました。

もしかしたら同じ悩みを抱えている人もいたかもしれませんが、この記事を読んで解決してくださったら幸いです。日本ではまだまだこのようなエラーに対する対処方法の記事や文献がないのがPower Automateを使用する上での問題点かもしれません。

しかし、Power Automateにはcommunity サイト(英語)があり、そこで質問などをすると見ず知らずの人から回答をいただける場合があります。何か困ったことなどありましたらそこで質問してみるのもよいかもしれません。

communityサイト(URL:https://powerusers.microsoft.com/t5/Microsoft-Power-Automate/ct-p/MPACommunity)

 

Power Automateをマスターしたい方へ

RPA HACKを運営するPeaceful Morningでは、チャットとWebミーティングによる30日間の伴走サポートで「Power Automate」をマスターし、業務で使えるプログラムの開発までサポートしています。(※Power Automateに含まれるRPA機能「WinAutomation」のサポートも含むコースです。)

月額108,000円からのリーズナブルなコースですので実践的なスキルを身に着け、社内での業務を自動化したい方にオススメです。

▼サービスの詳細・お申し込みはこちら▼

Power Automate関連の記事はこちらです。↓

 

1 COMMENT

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です