MakeでGoogleフォームをNotionに自動記録する手順
Make.comのシナリオを使い、Googleフォームの回答をNotionデータベースへ自動登録するシステムの構築手順を実例付きで解説します。
はじめに
Googleフォームは手軽に使えるアンケート・申し込みツールですが、回答をそのまま放置するとスプレッドシートが増えるばかりでチームでの共有が難しくなります。 NotionはタスクやデータをカードやKanban方式で管理できるため、フォーム回答の管理先として非常に相性が良いツールです。 しかし毎回スプレッドシートの内容をNotionへ手作業でコピーするのは時間がかかり、入力ミスも起きやすいです。 今回は、ノーコード自動化ツール「Make.com(旧Integromat)」を使い、Googleフォームへの回答をリアルタイムでNotionデータベースへ自動登録する仕組みを構築する手順を解説します。 エンジニアの知識がなくても、この記事の手順通りに進めれば約30分で動く仕組みが完成します。
Make.comとは
Make.com(旧名:Integromat)は、チェコ発のビジュアル自動化プラットフォームです。 異なるアプリやサービスを「モジュール」というブロックでつなぎ、「シナリオ」と呼ばれる自動化フローを作成できます。 類似ツールのZapierと比べると、次のような強みがあります。
- 視覚的なフロー設計:ドラッグ&ドロップでモジュールを並べ、データの流れをキャンバス上で確認しながら設定できる
- データ変換の柔軟性:数値フォーマット変換・文字列加工・条件分岐が豊富な組み込み関数で実現できる
- 無料プランの充実:月1,000オペレーション(処理実行回数)まで無料で利用できる
- 繰り返し処理の標準搭載:イテレーターやルーターが最初から使えるため、複雑なフローもノーコードで組める
1日10〜20件程度のフォーム回答を処理するなら、無料プランで十分まかなえます。 Zapierと比べて1ステップあたりのコストが低く、複数のモジュールを組み合わせた処理でもオペレーション消費が抑えられる点も魅力です。
事前準備
1. Googleフォームとスプレッドシートを接続する
Make.comはGoogleフォームを直接監視するモジュールも存在しますが、スプレッドシート経由の連携がより安定して動作します。 フォームの回答を自動的にスプレッドシートへ転記させることで、Makeがスプレッドシートの新しい行を検知してトリガーとして動作します。
手順は以下のとおりです。
- Googleフォームを開き、上部の「回答」タブをクリックする
- 右上の緑色のスプレッドシートアイコンをクリックする
- 「新しいスプレッドシートを作成」を選び、任意の名前を付けて「作成」をクリックする
- 連携が完了すると、以降のフォーム回答はスプレッドシートへ自動転記される
2. Notionデータベースを準備する
回答を記録するNotionデータベースを事前に作成します。 フォームの質問項目に対応するプロパティを設定しておくと、後のマッピング作業がスムーズです。
例として「お問い合わせフォーム」の場合、次のプロパティを用意します。
- 名前(タイトル型):お問い合わせ者の氏名
- メールアドレス(メール型):連絡先メールアドレス
- お問い合わせ内容(テキスト型):質問や相談の内容
- 受信日時(日付型):フォーム送信日時
プロパティ名はわかりやすいものにしておくと、Makeでのマッピング時に間違えにくくなります。
3. Notionインテグレーションを作成する
MakeからNotionへデータを書き込むには、Notionの「インテグレーション」という連携設定が必要です。 以下の手順でインテグレーションキーを取得します。
- ブラウザで
https://www.notion.so/my-integrationsを開く - 「+ New integration」をクリックする
- 名前(例:「Make連携」)を入力し、対象のワークスペースを選択して「Submit」をクリックする
- 表示された「Internal Integration Token」をコピーして安全な場所に保管する
続いて、作成したNotionデータベースにこのインテグレーションを接続します。
- 対象のNotionデータベースを開く
- 右上の「…」(三点メニュー)をクリックする
- 「Connections」→「Add connections」を選択する
- 先ほど作成したインテグレーション名を選択して接続する
この手順を忘れると、MakeからNotionへデータを送っても「権限がない」というエラーになるため、必ず実施してください。
4. Make.comのアカウントを準備する
https://www.make.com でアカウントを作成します。
Googleアカウントでのサインインも可能です。
無料プランでも今回の連携に必要な機能はすべて使えます。
Make.comでシナリオを構築する
ステップ1:新しいシナリオを作成する
- Make.comにログインし、左メニューの「Scenarios」を開く
- 右上の「+ Create a new scenario」をクリックする
- 白いキャンバス画面が表示されたら準備完了です
ステップ2:Google Sheetsのトリガーを設定する
- キャンバス中央の「+」ボタンをクリックする
- 検索欄に「Google Sheets」と入力し、アプリを選択する
- アクション一覧から「Watch Rows」を選ぶ
- 「Add」をクリックしてGoogleアカウントとの接続を承認する
接続後、以下のパラメーターを設定します。
Spreadsheet: [フォームと連携したスプレッドシートを選択]
Sheet Name: フォームの回答 1(デフォルト名の場合)
Where to Start: From now on
Maximum number of rows: 1
「Where to Start」を「From now on」にすると、シナリオ設定後に届いた新しい回答だけを処理します。 「Maximum number of rows」を1にすることで、1件ずつ確実に処理できます。 既存の全データをまとめて取り込みたい場合のみ「From the beginning」に変更してください。
ステップ3:Notionへの書き込みモジュールを追加する
- Google Sheetsモジュールの右側の「+」をクリックする
- 検索欄に「Notion」と入力してアプリを選択する
- アクション一覧から「Create a Database Item」を選ぶ
- 「Add」をクリックし、Notionとの接続画面で先ほど取得したInternal Integration Tokenを貼り付ける
接続後、ドロップダウンで対象のNotionデータベースを選択します。 データベースを選択するとプロパティ一覧が自動的に表示されます。
ステップ4:プロパティをマッピングする
各Notionプロパティに、スプレッドシートのどの列を対応させるかを設定します。 プロパティの入力欄をクリックすると、Google Sheetsモジュールが返した列名が候補として表示されるため、クリックして選ぶだけで設定できます。
お問い合わせフォームを例にすると、マッピングは次のようになります。
名前(タイトル) → 「お名前」列を選択
メールアドレス → 「メールアドレス」列を選択
お問い合わせ内容 → 「お問い合わせ内容」列を選択
受信日時(日付型) → {{formatDate(1.A; "YYYY-MM-DDTHH:mm:ss"; "Asia/Tokyo")}}
日付フィールドのみ関数が必要です。
スプレッドシートのタイムスタンプは「2026/04/22 10:30:00」形式で出力されますが、NotionのDate型はISO 8601形式(2026-04-22T10:30:00)を要求します。
formatDate関数を使い「Asia/Tokyo」を指定することで、JST基準で正しい形式に変換できます。
ステップ5:シナリオを保存して有効化する
- 画面下部の「Save」をクリックして保存する
- 「Scheduling」セクションで実行間隔を設定する(推奨:15分ごと)
- 左下のトグルスイッチをONにしてシナリオを有効化する
有効化後は設定した間隔でスプレッドシートを自動チェックし、新しい行があればNotionへ自動登録します。
動作確認の方法
シナリオを保存したら、実際に動作するかをテストします。
- Googleフォームのプレビューからテスト回答を送信する
- Makeのシナリオ画面に戻り「Run once」ボタンをクリックして手動実行する
- 各モジュールの上に数字のバッジが表示される(Google Sheetsで「1」、Notionで「1」と表示されれば成功)
- Notionデータベースを開き、テスト回答のデータが正しく登録されているか確認する
エラーが発生した場合、赤いバッジが表示されます。 バッジをクリックすると詳細なエラーメッセージを確認できるため、内容に応じて設定を修正してください。
よくあるトラブルと対処法
「Notion APIエラー 403」が出る場合
NotionデータベースへのConnections設定が漏れているケースが最も多い原因です。 対象データベースの「…」メニュー→「Connections」から、作成したインテグレーションが追加されているか確認してください。 インテグレーションの接続は、親ページではなく対象データベース自体に設定する必要があります。
日付がうまく登録されない場合
Notionの日付型プロパティには、ISO 8601形式の文字列を渡す必要があります。
次のformatDate関数で変換してください。
{{formatDate(1.A; "YYYY-MM-DDTHH:mm:ss"; "Asia/Tokyo")}}
1.AはGoogle Sheetsモジュールの出力のA列(タイムスタンプ列)を指します。
"Asia/Tokyo"を指定することでJST基準のISO 8601形式になります。
既存データが大量に処理される場合
「Where to Start」を「From the beginning」にしたまま有効化すると、スプレッドシートの全行を処理しようとします。 1,000オペレーションを一気に消費する可能性があるため、テスト時は「From now on」に設定するか、「Maximum number of rows」を5程度に絞って動作確認してください。
実践的な活用シーン
問い合わせフォームの一元管理
社外からの問い合わせをGoogleフォームで受け付け、NotionのCRM的なデータベースへ自動登録することで、チーム全員がリアルタイムで対応状況を把握できます。 NotionのStatusプロパティに「未対応・対応中・完了」を設定することで、対応漏れの防止にもつながります。 さらにMakeのシナリオにGmailモジュールを追加すれば、新規問い合わせと同時に担当者へアラートメールを自動送信することも可能です。
イベント・セミナーの参加者管理
申し込みフォームの回答をNotionの参加者リストへ自動記録すると、参加者数のカウントや当日の受付管理に役立ちます。 Notionのギャラリービューを使えば、参加者情報をカード形式で一覧確認することもできます。 参加締め切り日のリマインダーをGoogleカレンダーと連携させる拡張も、Makeなら数モジュールの追加で実現できます。
社内申請フローへの活用
経費申請・休暇申請・設備貸し出し申請などをGoogleフォームで統一し、申請状況をNotionデータベースで管理することで、申請から承認完了までの流れを可視化できます。 承認者がNotionのStatusプロパティを更新すると、申請者へ通知が届く仕組みをMakeで追加することで、メールのやり取りなしに承認フローを回せます。
セキュリティと運用上の注意
個人情報(氏名・メール・電話番号など)を収集するフォームに連携する場合、Makeを経由するデータが海外(EU・米国)のサーバーを通過します。 プライバシーポリシーに「Make.comを介したデータ処理が行われる旨」を明記することを推奨します。
NotionインテグレーションのアクセスはConnectionsで指定したデータベース単位に限定されます。 ワークスペース全体へのアクセス権は与えず、必要なデータベースのみに絞ることがセキュリティの基本です。
Makeのシナリオ実行ログは「History」タブで確認できます。 定期的にログを確認してエラーが続いていないかをチェックする習慣をつけることで、データの取りこぼしを早期に発見できます。 無料プランでは直近30日分の履歴が保存されます。
まとめ
Make.comを使ったGoogleフォーム→Notion連携の構築ステップを振り返ります。
- GoogleフォームとスプレッドシートをGoogle側の機能で接続する
- Notionデータベースとインテグレーションを準備してConnectionsを設定する
- MakeでGoogle Sheets「Watch Rows」モジュールをトリガーとして設定する
- Notion「Create a Database Item」モジュールでプロパティをマッピングする
- シナリオを有効化して「Run once」で動作確認する
一度設定すれば完全自動で動き続けるため、日常の手作業コストをほぼゼロにできます。 無料プランで月1,000オペレーションまで使えるため、まずは小規模なフォームで試してみることをおすすめします。 今回紹介した基本の連携に慣れたら、GmailやSlackへの通知追加、条件分岐を使ったカテゴリ振り分けなど、さらに便利なシナリオへと発展させてみてください。