カレンダーの予定変更をGASでチームに即時通知する

GASカレンダー通知
カレンダーの予定変更をGASでチームに即時通知するのサムネイル

おじさんだよ。今日は中小企業の経営者さんやフリーランスの皆さんに、「Googleカレンダーの予定が変更されたとき、どうやってチームにすぐ知らせるか」をGAS(Google Apps Script)で解決する方法を伝授しますぞ。

最近のSaaSって便利だけど、数が増えると結構なコストになるよね。そこでおじさんがオススメするのが、このGASを使った通知システムだ。月額1000円以上するような通知系SaaSを使わなくても、GASなら無料で作れちゃうんだ。これで年間1万2000円ほどのコスト削減が見込めるってわけさ。

さて、では早速本題に行こう。

必要な環境準備

まず、Google Workspaceを使っている前提で進めるからね。GoogleカレンダーAPIとGmailのサービスを利用するから、それらのAPIを有効にしておく必要があるよ。

GASコードで実現する通知機能

以下がGoogleカレンダーの予定変更を検知して、チームにメールを送信するためのGASコードの例だよ。

function onCalendarEventChange(e) {
  var event = e.calendarEvent;
  var eventType = e.changeType; // 変更されたタイプ(作成、変更、削除)

  var subject = `カレンダーの予定が${eventType}されました: ${event.getTitle()}`;
  var message = `予定の詳細:\n
                 タイトル: ${event.getTitle()}\n
                 開始時間: ${event.getStartTime()}\n
                 終了時間: ${event.getEndTime()}\n
                 場所: ${event.getLocation()}\n
                 説明: ${event.getDescription()}`;

  // 通知先のメールアドレスリスト
  var emailRecipients = ['team@example.com', 'manager@example.com'];

  // メールを送信
  GmailApp.sendEmail(emailRecipients.join(','), subject, message);
}

// トリガーを設定する必要があるよ
function setupTriggers() {
  var calendar = CalendarApp.getCalendarById('your-calendar-id@group.calendar.google.com');
  ScriptApp.newTrigger('onCalendarEventChange')
    .forUserCalendar(calendar)
    .onEventUpdated()
    .create();
}

仕組みのポイント

  1. カレンダーイベントの検出: onCalendarEventChange関数はカレンダーのイベントが作成、更新、削除されたときにトリガーされる。

  2. メール通知: Gmailサービスを使って、対象者全員にメール通知を送信。

  3. コスト削減効果: 先に述べたように、GASを活用すると、年間1万2000円程度のSaaS費用を節約できる。これ、本当に大きなメリットだよ。

トリガーの設定

このスクリプトを動作させるためには、Googleカレンダーの『更新イベント』にトリガーをセットアップすることが必要だよ。手動で「セットアップ トリガー」ボタンを作っておいて、最初に1回だけ実行すればいい。これで、連携させたカレンダーの変更を自動で検知できるようになるんだ。

まとめ

どうだい?これでカレンダーの予定変更もしっかり管理できるようになったね。チーム一丸となって効率的な業務運営を実現するために、欠かせない仕組みだよ。この方法を活用すれば、無駄なコストをカットして重要なところに資金を回せるようになるよ。少しの工夫で大きな差が生まれるんだね。

もしさらにGASを活用してビジネスを最適化したいなら、ぜひGASおじラボで500ツール使い放題 →も検討してみてくれ。これからもっと多くの業務を自動化して、スマートな働き方を目指していこうじゃないか!