Blog

ふたつのGoogleカレンダーで予定を共有する

なにするの

  • ふたつの Google カレンダーがある
  • 片方が更新されたらもう片方にも予定を反映させたい

どうして2つつかう必要があるの?

今までフリーランス無職だったので、予定はカレンダーA があるんですが、
某社に入社することになり、割と自由目なリモートワークになるので
ここに仕事の予定やミーティングが入るカレンダーB が発生しました。

両方のカレンダーを見るのなら、Notion カレンダーを使っているので
両方の予定を閲覧でき、ダブルブッキングも防げます。

が、問題はそれは「自分だけ」が見れるということです。
「会社の人間」が見たときに予定ががら空きな場合があり、
「空いてるミーティング入れたろ!」ってなる可能性があります。

そこにはすでにカレンダーA で予定が組まれていたりして、
ダブルブッキングが発生してしまう可能性があります。

それは避けたいな、ってことで、
まず「カレンダーの予定を同期する」方法を考えました。

「招待」で他のカレンダーに予定を入れることができる

今回、両方とも Google カレンダーだったので、
Google カレンダーの標準機能でどうにかならないかを考えました。

そこで思いついたのが、「ゲストの招待」です。
これは、会議などといった他人を巻き込む予定を設定することができます。
これを利用すると、指定のメルアドに対して予定を飛ばすことができます。

例えば、カレンダーA でイベントを設定して、
カレンダーB に招待を飛ばしたら、カレンダーB の予定が抑えられます。

この予定は通常、参加するのかしないのかを選択することができますが、
なんと参加の選択をしていない (未参加でもない) 状態でも
他人からカレンダーを見たときに、予定が表示されることが検証でわかりました。

カレンダーA から見るとこんな感じ

image

カレンダーB からはこう
image

で、公開カレンダーはこう見えます

image

これを利用したら、最終的な目標である
「他人から見たら予定が入っている」というのを達成できます。

自動化しよう

問題は、これを手動でやるのは非常に面倒ということです。
もちろん、予定を入れたら仕事アカウントを招待して~なんてことは
アホらしくてできないので、自動化をします。

Google カレンダーの標準機能ではこのあたりがサポートされていないので、
ノーコードでワークフローを組める Make を使います。

https://www.make.com/en

登録や使用方法については割愛します。

ワークフローを組む

とりあえず、こういうワークフローを組みます。
image

まずトリガーは Watch Events とし、
諸々の設定を組んでいきます。

image

次に、Update an Event を接続し、
Calendar ID にカレンダーA の ID(今回はメルアドが ID だった)、
Event ID に Event ID を設定します。

image

したらば、下の方にある「Show advanced settings」スイッチをオンにし、
Attendees の Email にカレンダーB のアドレスを入れます。

image

あとは必要な情報があれば適宜設定して、終了です。
これで、「カレンダーA に追加するとカレンダーB へ招待される」という
自動ワークフローが組まれました。

あとは Run するなりして動作確認をして、完了です。

SNS
Follow Me