このレシピでできること
Gmailに届いた特定のメール(クライアントからの問い合わせ・注文通知等)を、n8nが自動でNotionのデータベースに整理・記録してくれます。手動コピペ作業をゼロにして、重要なメールを見逃さない仕組みを作れます。
必要なもの
- n8n(ローカルまたはクラウド)
- Gmailアカウント(Google OAuth設定)
- Notionアカウント(Integration設定)
手順
Step 1: n8nを起動してGmail Triggerを設置する
n8nを開いて「新規ワークフロー」を作成。「Gmail Trigger」ノードを追加し、Google OAuthでGmailアカウントを接続する。トリガー条件を「ラベル:受信トレイ」や「件名に○○が含まれる」に設定する。
Step 2: NotionノードでDBを接続する
「Notion」ノードを追加。NotionのIntegrationトークンを登録し、記録したいデータベース(DB)を選択する。DBには「件名・送信者・受信日時・本文・ステータス」などのカラムを事前に作成しておく。
Step 3: データをマッピングする
GmailノードからNotionノードへデータをつなぐ。「件名」→Notionの「件名」フィールド、「From」→「送信者」フィールドのようにマッピングを設定する。「Body」は本文の冒頭200字だけを切り出すなど加工もできる。
Step 4: テスト実行して保存・有効化する
「テスト実行」でフローが正しく動くか確認する。Gmailにテストメールを送ってNotionに記録されれば成功。問題なければ「有効化」して24時間自動実行させる。
実際の出力例
Gmailに「【新規問い合わせ】HPを見て連絡しました」というメールが届くと、自動でNotionのCRMデータベースに以下が記録される:
- 件名:【新規問い合わせ】HPを見て連絡しました
- 送信者:yamada@example.com
- 受信日時:2026-05-22 14:30
- ステータス:未対応(自動設定)
- 本文冒頭:はじめまして、山田と申します...
カスタマイズ例
① Slack通知を追加:NotionへのDB記録と同時にSlackへ「新規問い合わせが届きました」と通知するノードを並列で追加する
② フィルタリングを追加:「件名に"迷惑メール"が含まれるものは除外」などの条件分岐ノードを追加してノイズを除去する
③ AI要約を追加:OpenAIノードを間に挟んで「本文を50字以内で要約して」と処理してから記録。長いメールも一目でわかる形に
よくある失敗と対策
失敗①「Gmail認証でエラーが出る」
→ 対策:Google CloudコンソールでOAuth同意画面を「テスト」ではなく「本番」に設定する。またはGmailのアプリパスワードを使う方法に切り替える
失敗②「フローは動くが24時間で止まる」
→ 対策:n8nをローカルで動かしている場合、PCがスリープするとフローも止まる。常時稼働にするにはVPSやRaspberry Piでの運用に移行する
失敗③「文字化けしてNotionに記録される」
→ 対策:GmailのBody(HTML形式)をプレーンテキストに変換してからNotionに渡す。n8nの「Code」ノードでHTML stripping処理を追加する
活用例はこれから拡充予定です
ログインすると、使ってみた感想・コツ・注意点を追記できます