Googleカレンダー連携

このページでは、予約確定時にGoogleカレンダーへ自動でイベントを登録する連携設定の方法を解説します。

このプラグインは、デフォルトでは外部サービスへの通信を一切行いません。 Googleカレンダー連携を有効化し、必要な認証情報を登録した場合に限り、Google Calendar API への通信が発生します。

仕組みの概要

Smart Booking は サービスアカウント方式 で Google Calendar API に接続します。 Googleが発行するサービスアカウントに対して、対象のGoogleカレンダーを共有することで、Smart Bookingが自動的にイベントを登録できるようになります。

設定画面

管理画面の Smart Booking → 設定 → 外部連携 タブを開くと、上部にGoogleカレンダー連携の設定欄が表示されます。

Googleカレンダー連携設定

手順

1. Google Cloud でサービスアカウントを作成

  1. Google Cloud Console にログインします。
  2. 新しいプロジェクトを作成します(例: smart-booking)。
  3. 「APIとサービス」→「ライブラリ」から Google Calendar API を有効化します。
  4. 「APIとサービス」→「認証情報」から サービスアカウント を作成します。
  5. サービスアカウントの詳細画面で キーを作成 → JSON を選び、JSONキーファイルをダウンロードします。

2. Googleカレンダーをサービスアカウントと共有

  1. 通知を入れたいGoogleカレンダーを開きます。
  2. 設定画面の「特定のユーザーまたはグループとの共有」に、サービスアカウントのメールアドレス(xxx@xxx.iam.gserviceaccount.com)を追加します。
  3. 権限は 「予定の変更権限」 を付与してください。

3. Smart Booking 側で連携を有効化

  1. Smart Booking → 設定 → 外部連携 タブを開きます。
  2. Googleカレンダー連携 セクションの「有効/無効」スイッチをオンにします。
  3. カレンダーID を入力します。
    • メインカレンダーの場合は primary
    • 共有カレンダーの場合は、Googleカレンダー設定画面で確認できる xxx@group.calendar.google.com 形式のID
  4. サービスアカウントJSONキー に、ダウンロードしたJSONファイルをアップロードします。
  5. 画面下部の 外部連携の設定を保存 ボタンをクリックします。

外部連携の設定を保存 は、変更したところが1つもないとクリックできません。

動作確認

設定後、テスト予約を1件作成してみてください。 予約を受け付けたタイミングで、指定したGoogleカレンダーに予約イベントが追加されます。ステータスが 承認待ち の予約もこの時点で登録されるため、承認する前から予定の重なりを確認できます。

作成されるイベントに入るのは、次の情報だけです。

  • タイトル店舗名 / お客様名 の形式です。
    • 店舗名が記録されない予約(店舗を1つも登録せず、プラグインが最初から用意している既定の店舗のまま使っている場合など)では 予約: お客様名 になります。
    • お客様名も店舗名も記録されていない場合にかぎり 予約 #予約番号 になります。
  • 開始・終了 — 予約の時間枠です。
  • 説明 — 次の内容が1行ずつ並びます。
    • 予約者: お客様のお名前
    • 電話: お客様の電話番号
    • 担当: 担当者名(担当者名が記録されている予約にだけ入ります。記録されていない場合はこの行自体がありません)
    • 予約番号: 予約番号

お客様が入力したカスタムフィールド(追加した入力項目)の内容は、Googleカレンダーには送信されません。お客様のメールアドレスも送信されません。 Googleカレンダーへ送られるのは、上に挙げた項目と予約の日時だけです。 カスタムフィールドの回答を確認したいときは、管理画面の予約詳細またはCSV出力をお使いください。

予約をキャンセル・削除したとき

予約のステータスを キャンセル に変更すると、その予約のカレンダーイベントは自動的に削除されます。 予約一覧から予約そのものを削除した場合も、同じようにイベントが削除されます(すでに キャンセル にしてある予約をあとから削除した場合は、キャンセルした時点で削除済みのため、あらためて削除されることはありません)。

一方で、承認待ち のまま残っている予約のイベントは、予約日時が過ぎても自動では消えません。不要になった予約は、予約一覧で キャンセル にするか削除してください。操作方法は 予約の管理 をご覧ください。

トラブルシューティング

症状 主な原因
イベントが作成されない カレンダーがサービスアカウントと共有されていない/権限が「予定の変更権限」になっていない
「認証エラー」が表示される JSONキーファイルが破損している/別のサービスアカウントのキー
カレンダーが見つかりません カレンダーIDの入力ミス

次のステップ

ChatWorkにも通知を送りたい場合は、ChatWork通知連携 をご覧ください。