Googleカレンダーの予定をNotionに自動登録する方法【無料3ステップ】
1. この記事でできること
Googleカレンダーで作った予定を、Makeを使ってNotionのデータベースへ自動登録します。難しい設定はできるだけ省き、「必要なアカウントを用意→設定→動作確認」まで順番に進めます。初めてでも取り組みやすい内容です。
完成後のイメージ:Googleカレンダーに会議を作る→Makeが予定を検知→Notionの「予定データベース」にタイトル・日時・説明・場所などが自動で登録されます。
2. 今回作る自動化の仕組みの全体像
使う自動化ツールは「Make(旧Integromat)」です。Googleカレンダーの予定を検知し、その内容をNotionのデータベースへ登録します。Makeの無料プランではシナリオを15分間隔で実行できるため、まずはこの設定で仕組みを試せます。
流れの概要:
今回は一方向(Google→Notion)だけに絞ります。Googleカレンダー側で予定を変更したときにNotionも更新する仕組みや、二方向同期は応用編として後から追加できます。
3. 事前に必要なアカウント・準備物
用意するものは3つです。基本的な利用だけなら、いずれも無料で始められます。
| ツール/アカウント | 何を準備・取得するか | 費用/クレカ |
|---|---|---|
| Googleアカウント | Googleカレンダーにアクセスできること。テスト用に1件、予定を作成 | 無料/クレカ不要 |
| Notionアカウント | ワークスペース1つ。予定を入れる用のデータベース(後述のプロパティ構成) | 無料/クレカ不要 |
| Make(旧Integromat) | 無料アカウント。Google・Notionの接続(OAuth連携) | 無料(上限あり)/クレカ不要 |
補足:Zapierでも同じような自動化はできます。今回はGoogleカレンダーとNotionをつなぐ手順をシンプルに説明しやすいMakeを使います。Makeの無料プランには月間のクレジット上限があります。小規模な自動化ならまず無料プランから試せます。
4. 必要なツール、アカウントの設定
4-1. Notionでデータベースを準備する
まず受け皿となるNotionデータベースを作ります。先に列を用意しておくと、MakeでGoogleカレンダーの項目を対応させる作業がスムーズです。
- Notionで新規ページを作成→「データベース(テーブル)」を選択
- データベース名は「予定一覧(Google連携)」など、あとで見てわかる名前に
プロパティ(列)は次の通りにしてください。Googleカレンダーから取得する情報と対応させるためです。
- 名前(タイトル型・既定のまま):予定の件名を入れます
- 日時(日時型):開始・終了日時を1つの日時プロパティで扱えます
- 説明(テキスト):予定の説明
- 場所(テキスト):場所(URLでもOK)
- カレンダーイベントID(テキスト):予定を識別するためのID

プロパティ名は後から変更できます。ただしMakeでマッピングするときに対応関係を確認しやすくするため、最初はこの名前のまま進めるのがおすすめです。特にDateは日時を扱うため「日時型」にしておきます。
4-2. Googleカレンダー側の準備
ブラウザでGoogleカレンダーを開き、テスト用にわかりやすい予定を1件作っておきます(例:「連携テスト」10:00-10:30、場所:会議室A、説明:サンプル)。あとでMakeのテストを行うときに、取得した内容を確認しやすくなります。
もし複数のカレンダー(仕事用/個人用)がある場合は、どのカレンダーを連携対象にするか決めておきます。ここを先に決めておくと、テスト時に「予定が入らない」といった混乱を避けやすくなります。
4-3. Makeのアカウント作成
Makeにアクセスし、無料アカウントを作成します。Googleアカウントやメールアドレスを使って登録できます。Makeの無料プランはクレジットカードなしで利用を始められます。
登録後は、必要に応じてタイムゾーンの設定も確認しておきましょう。GoogleカレンダーとMakeで時間の扱いがずれていると、登録された日時が意図した表示にならない場合があります。
5. 自動化ツールの設定
5-1. シナリオの新規作成とGoogle接続
Makeのダッシュボードから「新しいシナリオ」を作成します。
真ん中の+アイコンを押して「Google Calendar」を検索し、「Watch events(イベントを監視)」というトリガーを選びます。Googleカレンダーの予定を検知するためのモジュールです。
初回はGoogleへの接続(OAuth認可)が求められます。Googleにログインし、画面の案内に従ってMakeからGoogleカレンダーへアクセスできるようにします。予定の情報を取得するために必要な設定です。
モジュールの設定で、対象カレンダーをプルダウンから選びます。複数ある場合は「テスト用の予定を入れたカレンダー」を選べばOKです。動作確認後に別のカレンダーへ変更することもできます。
5-2. Notion接続と「アイテム作成」設定
次に、右側に+を追加して「Notion」を選び、「Create a Data Source Item(データベースアイテムを作成)」を置きます。
初回はNotionへの接続を設定します。ワークスペースを選び、画面の案内に従ってアクセスを許可します。Notionでは、外部サービスのコネクションを対象のページやデータベースに追加して利用する仕組みになっています。
Data Source IDの「ID Finder」で検索して、4-1で作った「予定一覧(Google連携)」を選択します。一覧に出てこない場合は、Notion側でそのデータベースの「・・・」からMakeのコネクションを追加できているか確認してください。コネクションを対象ページに追加していないと、Makeから利用できないことがあります。

プロパティのマッピングは次の通りにします。ここでGoogleカレンダーの情報とNotionの列を対応させます。
- 名前(Title):Googleの「Summary(件名)」を入れる
- 日時(Date):Start(開始日時)とEnd(終了日時)を対応させる
- 説明(Rich text):Googleの「Description」を入れる
- 場所(Rich text):Googleの「Location」を入れる
- カレンダーイベントID(Rich text):Googleの「Event ID」を入れる

Event IDを保存しておくと、あとで同じ予定を識別するときに役立ちます。たとえば予定の更新に対応する場合は、Event IDを使ってNotion側の既存アイテムを探す仕組みを作れます。今回は新規登録に絞りますが、将来の拡張を考えるなら最初から保存しておくと便利です。
5-3. フィルタ(任意)で対象を絞る
最初は不要ですが、慣れてきたらGoogle→Notionの間にフィルタを入れて「終日予定だけ除外する」「特定のキーワードを含む予定だけ通す」といった設定もできます。不要な予定まで登録したくない場合に便利です。まずはフィルタなしで動作を確認しましょう。
5-4. 初回テスト実行
画面左下の「Run once(1回実行)」でテストします。Googleカレンダーの予定が取得され、Notionに新しいアイテムが作成されれば成功です。何も取得されない場合は、Google Calendarの「Watch events」の開始位置や対象カレンダーを確認し、テスト用の予定を新しく作成してみてください。
エラーが出た場合は、Makeの実行結果から該当モジュールを確認します。権限やプロパティの設定など、原因を確認できる場合があります。エラーメッセージを手がかりに設定を見直していきましょう。
5-5. 自動で動く状態にする(スケジュールON)
テストで成功したら、シナリオのスケジュールをONにします。Makeの無料プランでは、シナリオの実行間隔は最短15分です。
そのため、Googleカレンダーに予定を作成してもNotionへの登録まで少し時間がかかります。すぐに反映されなくても、まずは15分程度を目安に待ってみましょう。これでシナリオが自動で実行される状態になります。
6. 動作確認(実際の質問例)
次の手順で、想定どおりに登録されるかをチェックしましょう。
- Q1:新規予定は反映される?→A:Googleで「連携テスト2」を作成(今から30分後、場所と説明も入力)。シナリオが実行されたあとにNotionのデータベースへアイテムが追加され、各プロパティが埋まっていればOK。
- Q2:終日予定はどうなる?→A:終日予定も取得対象になります。Notion側では日時の扱いが通常の予定と異なる場合があるため、表示を確認してください。不要ならフィルタで除外できます。
- Q3:予定を編集したら反映される?→A:今回の基本構成はNotionに新しいアイテムを作成するところまでです。既存のNotionアイテムを更新したい場合は、次章の改善アイデアを参考に更新フローを追加します。
- Q4:タイムゾーンのズレは?→A:GoogleカレンダーとMakeのタイムゾーン設定を確認してください。Notion側でも日時プロパティの表示設定を確認し、表示がずれる場合は各サービスの設定を見直します。
7. うまく動かないときのチェックポイント
初回でつまずきやすい箇所をまとめました。上から順番に確認すると原因を見つけやすくなります。
- Notionのデータベースが選べない:Notion側でMakeのコネクションを対象ページやデータベースに追加していない可能性があります。ページの「共有」から確認してください。
- データが入らない(エラーなし):Google Calendarのトリガーで対象カレンダーを間違えているケースがあります。テスト予定を作ったカレンダーを指定しているか確認します。
- Dateが空になる:NotionのDateプロパティとMake側のマッピングを確認します。開始日時と終了日時を正しく対応させているかもチェックしてください。
- 日本時間とずれる:MakeやGoogleカレンダーのタイムゾーン設定を確認します。意図しないタイムゾーンになっていないか見直してください。
- 重複して行が増える:同じ予定を新規作成として処理している可能性があります。GCal Event IDをNotionに保存しておけば、将来的に既存アイテムを照合する仕組みに利用できます。
- 無料枠の上限に達した:Makeの無料プランには月間のクレジット上限があります。不要なシナリオを停止したり、対象をフィルタで絞ったりして使用量を抑えます。
それでも解決しなければ、Makeのシナリオ実行履歴を開き、エラーが出ているモジュールを確認してください。権限設定やプロパティのマッピング、対象カレンダーの選択ミスなどを一つずつ確認すると原因を切り分けやすくなります。
8. 次にできる改善アイデア
一度動くことを確認したら、必要な機能を少しずつ追加していきましょう。無料プランで使う場合は、実行回数やクレジットの消費量も見ながら調整するのがおすすめです。
- 更新をNotionへ反映:Googleカレンダーのイベント更新を検知し、Notion側でGCal Event IDを使って既存アイテムを探す→「Update a Database Item」で更新する流れを作れます。新規作成と更新を分けて考えることで、二重登録を防ぎやすくなります。Make公式にもGoogle Calendarのイベントを検知してNotionのデータベースを更新する構成が用意されています。
- 対象を絞る:タイトルに「[共有]」が含まれる予定だけ通す、終日予定を除外する、特定のカレンダーだけ対象にするなどのフィルタを設定できます。不要な処理を減らしたいときに便利です。
- 出席者の扱い:Googleカレンダーの参加者情報は、そのままNotionのPeople型へ対応させられるとは限りません。まずはメールアドレスなどをテキストとして保存する方法が扱いやすいでしょう。
- 会議URLの抽出:DescriptionやLocationに入るZoom/MeetのURLだけを取り出し、専用プロパティに保存するとアクセスしやすくなります。
- 通知を追加:Notionへの登録後にSlackへ「新しい予定が登録されました」といった通知を送ることもできます。MakeにSlackのモジュールを追加すれば、Googleカレンダー→Notionの流れに通知を組み込めます。
- 二方向同期は慎重に:Notion→Googleの自動作成も可能ですが、双方の更新をそのまま連携すると重複や競合が起きやすくなります。まずは片方向の連携を安定させてから取り組むのがおすすめです。
今回の手順では、まずGoogleカレンダーの予定をNotionへ登録するところまでを作りました。最初から複雑な同期を作る必要はありません。まずは新規登録を安定させてから、更新反映やフィルタ、Slack通知などを追加すると管理しやすくなります。Makeを使えばこうした機能も同じシナリオに組み込めます。