【2026年版】n8nでGmail自動返信を設定する方法|添付ファイル条件分岐で送信内容を変える
メールの自動返信、「全員に同じ文章」で送っていないか
お問い合わせフォームからのメール、請求書PDF付きのメール、画像添付のメール——受信トレイに届くメールの種類はバラバラなのに、返信は一種類。そのギャップを埋めるために手作業で振り分けている人、けっこう多い。
この記事を読めば、n8nとGmailを連携させて、添付ファイルの有無・種類・送信元ドメインによって返信内容を自動で切り替える仕組みを、1から構築できる。コピペ可能なExpression付きで解説するので、n8n初心者でも迷わず進められる。
💡 関連教材: ChatGPT業務自動化 実践テンプレート集(¥1,480) — API・スプレッドシート・メール・議事録・請求書をコピペで自動化する実装特化型テンプレート集(全22ページ)
結論から言う|この構成で動く
最短ルートを先に示す。全体のフローはこれだ。
Gmail Trigger
└─ IFノード(添付あり?)
├─ True → Switchノード(MIMEタイプ判定)
│ ├─ PDF → Gmailノードで「PDF受付」返信
│ └─ その他 → Gmailノードで「添付確認」返信
└─ False → Switchノード(送信元ドメイン判定)
├─ 企業ドメイン → 「法人向け」返信テンプレ
└─ その他 → 「一般」返信テンプレ
IFノードで最初に「添付あり/なし」を二分割し、その先をSwitchノードでさらに振り分ける。この設計が一番シンプルで壊れにくい。
H2① n8nでGmail自動返信を動かす前に確認すること
OAuth2認証、2024年末以降は別物だと思った方がいい
よく見かける古いチュートリアルは「Google Cloud ConsoleでOAuth2クライアントIDを作るだけ」で終わっている。2024年末以降はそれだけでは動かない。
正直なところ、筆者も久しぶりにセットアップしたら同じ罠にはまった。「このアプリはGoogleで確認されていません」という警告が出て、7日後に認証が無効になるやつだ。
回避するための手順(Google Cloud Console側):
- Google Cloud Console → 「APIとサービス」→「OAuth同意画面」
- ユーザーの種類:外部を選択
- 「テストユーザー」タブで、n8nに接続するGmailアドレスを追加
- スコープに
https://mail.google.com/を追加(Gmailの送受信に必要) - OAuth2クライアントIDを作成(アプリの種類:ウェブアプリケーション)
- リダイレクトURIに
https://[あなたのn8nドメイン]/rest/oauth2-credential/callbackを追加
テストユーザーに自分のアドレスを追加してあれば、「確認済みアプリ」申請なしでも7日制限を回避できる。個人利用・社内利用ならこれで十分だ。
Gmail Triggerノードの設定
n8nの画面で「Gmail Trigger」ノードを追加したら、以下を設定する。
| 設定項目 | 推奨値 | 理由 |
|---|---|---|
| Poll Times | 1分ごと | リアルタイム性と負荷のバランス |
| Filters > Label Names | INBOX | 受信トレイのみ監視 |
| Download Attachments | ON | これをOFFにすると添付ファイルが取得できない |
| Simplify | ON | 不要なメタデータを省いてデータを扱いやすくする |
「Download Attachments」をONにするのを忘れる人が非常に多い。 デフォルトはOFFなので、意識的に確認すること。OFFのままだと attachments 配列は空になり、添付ファイルの分岐が永遠にFalseになる。
よくある誤解①:n8n Cloud無料版でGmailが使えると思っている
これは誤解だ。整理すると:
- n8n Community Edition(セルフホスト):無料でGmailノード使用可能
- n8n Cloud 無料トライアル:期間終了後はStarter(約$24/月)以上が必要
セルフホストするならRailwayやRenderが手軽だ。DockerがわかるならVPS(月500〜1,000円)でも動く。
H2② 条件分岐の設計方針|IFとSwitchの使い分け
IFノードは「2択」専用、Switchノードは「3択以上」に使う
ここを間違えると、IFノードをネストしまくった読めないフローができあがる。旧チュートリアルに多い失敗パターンだ。
判断基準はシンプル:
- 分岐が2つ → IFノード
- 分岐が3つ以上 → Switchノード
3つの分岐軸と優先順位
① 添付ファイルの有無(最初に置く)
// IFノードのConditionに入力
添付ファイルの有無は処理の根本的な違いを生む。「添付あり」と「なし」では返信文面だけでなく、後続の処理フロー全体が変わる。だから一番最初に分岐させる。
② 送信元ドメイン(企業/個人の振り分け)
// Expressionでドメイン部分を取り出す
// Switchノードの条件例
// Value 1: example.co.jp → 法人向けルート
// Value 2: gmail.com → 個人向けルート
// Default → その他ルート
法人と個人で返信文面・署名・対応時間の案内を変えたい場合に使う。実務で地味に効く分岐だ。
③ 件名キーワード(問い合わせ種別の振り分け)
// 件名に「請求書」が含まれるかどうか
// Switchノードで複数キーワードを扱う場合
件名ベースの分岐は最もシンプルだが、件名が不統一だと機能しにくい。フォームから送信されるメールなど、件名が制御できる場合に特に有効だ。
どの軸を先に置くかの判断フロー
添付ファイルで処理が変わる?
YES → まず「添付あり/なし」で分岐
NO → 送信元で処理が変わる?
YES → 「ドメイン」で分岐
NO → 「件名キーワード」で分岐
この順番で考えれば、大半のケースで迷わない。
H2③ 添付ファイル付き自動返信の実装手順
MIMEタイプでPDF・画像・Excelを振り分ける
Switchノードを使ってMIMEタイプで分岐させる。設定箇所はSwitchノードの「Routing Rules」だ。
// Switchノードの「Value to Switch On」
// 各ルートの条件
// Route 1: application/pdf → PDF処理ルート
// Route 2: image/jpeg → 画像処理ルート
// Route 3: image/png → 画像処理ルート
// Route 4: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet → Excel処理ルート
// Fallback: その他添付 → デフォルト処理
画像系(jpeg/png)を同じルートに流したい場合は、Switchの条件に正規表現を使う方法もある。
// MIMEタイプが「image/」で始まるかどうか
threadIdを引き継いで「返信」として送る
ここが自動返信特有のポイントだ。新規メールとして送ってしまうと、メールスレッドが分断される。受信者から見て「なんか変なメールが別で来た」になる。
Gmailノード(Send操作)の設定:
| 設定項目 | 入力値 |
|---|---|
| Operation | Reply |
| Message ID | `` |
| Thread ID | `` |
| To | `` |
| Subject | Re: |
OperationをReplyに設定し、必ずthreadIdを渡すこと。 ここをSendのままにしている記事が多いが、それだと返信スレッドに乗らない。
返信本文をノードごとに変える実装例
PDF受付の返信文(Code/Expressionノードで生成):
// Code ノード(JavaScript)
const senderName = $input.item.json.from.split('<')[0].trim() || 'お客様';
const subject = $input.item.json.subject;
const attachmentName = $input.item.json.attachments[0]?.filename || '添付ファイル';
const body = `${senderName} 様
お世話になっております。
「${subject}」についてのご連絡、受領いたしました。
添付いただいた「${attachmentName}」を確認のうえ、
2営業日以内にご返答申し上げます。
ご不明な点がございましたはお気軽にご連絡ください。
---
株式会社〇〇 担当者名
`;
return [{ json: { body } }];
このCodeノードの出力を、GmailノードのMessage Bodyに `` で渡す。送信者名や添付ファイル名が動的に入る点が、固定テンプレとの大きな違いだ。
H2④ よくある失敗と正直なデメリット
失敗① Gmail側の自動返信と二重に動く
Gmailの設定(Settings → General → Vacation responder)を有効にしたままn8nの自動返信も動かすと、受信者に2通届く。n8nを使うならGmail側の自動返信は必ずOFFにすること。
失敗② attachmentsが空配列のままになる
前述の「Download Attachments」をOFFのまま進めてしまうと、$json.attachments は [] になる。attachments.length > 0 は常にFalseになり、全メールが「添付なし」ルートに流れる。動いているのに添付分岐が効かない場合はここを疑う。
失敗③ 添付ファイルが複数枚のとき最初の1枚しか見ない
$json.attachments[0].mimeType は最初の添付ファイルしか見ない。複数添付のメールを扱う場合は、「Loop Over Items」ノードで配列をループさせる必要がある。これを知らずに「2枚目の添付が処理されない」と詰まる人が多い。
正直なデメリット|n8nで自動返信を運用するリアル
- 初期設定に2〜4時間かかる:認証周りで詰まるのが主な原因
- OAuth2の7日制限:本番利用時はGoogleのアプリ審査を経るか、テストユーザー管理が必要
- ポーリング遅延:1分ポーリングなら最大1分の遅延が発生。「即時返信」とは言いにくい
- Gmail API 25MB制限:添付ファイルが25MBを超えると取得できない(これはn8nではなくGmailの仕様)
H2⑤ IFノード・Switchノードの実装比較表
| 観点 | IFノード | Switchノード |
|---|---|---|
| 分岐数 | 2つ固定(True/False) | 最大10ルート+Fallback |
| 設定のしやすさ | 直感的で簡単 | ルール定義が少し多い |
| 複雑な条件 | ネストが必要で可読性が下がる | 1ノードで完結 |
| 推奨ケース | 添付あり/なしなど二択 | MIMEタイプ・ドメイン別振り分け |
| n8n v1系での挙動 | 安定 | v1.x以降でUIが変更されたが機能は同等 |
3種類以上の条件に対してIFノードをネストするのは、フローが縦に伸びて読めなくなる。保守性を考えるなら最初からSwitchノードを選ぶべきだ。
H2⑥ よくある質問
Q1. n8n Community Editionでこの構成は動くか?
動く。セルフホストのCommunity EditionはGmailノードが使用可能で、利用制限もない。ただしOAuth2の設定はGoogle Cloud Console側で必要なため、その手順は省略できない。RailwayやRenderなら月数百円〜で動かせる。
Q2. ポーリングではなくWebhookでリアルタイム受信できるか?
Gmail APIはプッシュ通知(Pub/Sub)に対応しているが、n8nのGmail Triggerノードは現時点でポーリング方式のみだ。リアルタイム性が必要な場合は、Google Apps Scriptでn8nのWebhookを叩く構成を組む方法が現実的な回避策になる。
Q3. 添付ファイルを自動返信のメールに添付して送り返せるか?
できる。Gmail Triggerで取得したバイナリデータ($binary.attachment_0 など)をそのままGmail SendノードのAttachmentsに渡せば、受け取ったファイルを別の宛先に転送することも可能だ。ただし25MBの上限は送信時にも適用される。
Q4. 同じ差出人からのメールに無限ループで返信してしまわないか?
発生しうる問題だ。対策は2つある。①Gmail TriggerのFilter設定で「Label: INBOX」に限定し、自分が送ったメールには反応しないようにする。②Codeノードで $json.from に自分のアドレスが含まれる場合はスキップする処理を入れる。本番運用前に必ず確認すること。
まとめ|今日やること1つだけ
この記事で解説した構成のポイントを振り返る。
- Gmail Triggerは「Download Attachments: ON」が前提
- 最初のIFノードで「添付あり/なし」を分岐させる
- 3種類以上の条件はSwitchノードに任せる
- GmailノードはOperation: Replyを使い、threadIdを必ず渡す
- Gmail側の自動返信はOFFにしておく
今日やること:Google Cloud ConsoleでOAuth2クライアントIDを作り、テストユーザーに自分のアドレスを追加する。 これだけで認証の詰まりの9割は解消される。フロー設計はその後でいい。
n8nのセルフホスト環境がまだ整っていない場合は、Railway上へのn8nデプロイ手順の記事から読むと詰まらずに進められる。
📘 もっと深く学びたい方へ
この記事で紹介した内容を、さらに体系的に・実務レベルで習得できる教材を販売中です。
ChatGPT業務自動化 実践テンプレート集(¥1,480)
API・スプレッドシート・メール・議事録・請求書をコピペで自動化する実装特化型テンプレート集(全22ページ)
- 動くGASコード・API設定手順・プロンプトをワンセット収録
- スプレッドシート連携/メール/議事録/請求書を実務レベルで自動化
- コピペで即動く実装コード(Python / GAS)付き
👉 今すぐ購入する
ChatGPT&Claude AIプロンプト集50選(¥980)
コピペで即使える実践プロンプト50種を全24ページに凝縮
- ビジネスメール・企画書・分析・コーディング等 8カテゴリ網羅
- ChatGPT / Claude / Gemini 全対応
- 変数を埋めるだけで即実務投入
👉 今すぐ購入する
関連記事
- Zapier×ChatGPT連携のやり方|ノーコードで業務通知・メール自動化を設定する手順
- n8n Gmail連携やり方|特定メール受信をSlackに自動転送するノーコード手順
- n8n Gmail 添付ファイル Googleドライブ自動保存|ノーコード設定手順2026
関連ツール紹介
ブログ記事を効率的に量産するなら → Value AI Writer byGMOがSEO記事の自動生成に使える。月額1,650円から利用可能。![]()
おすすめツールの一覧はこちらにまとめている。