※本記事にはアフィリエイトリンクが含まれます。
Gmailのフィルターを20個作った頃に限界を感じた。
「AかつBでないときCにラベルを付ける」という条件が標準フィルターでは作れない。条件が複雑になるほど管理が難しくなって、結局「見た目は整理されているが、重要なメールを見逃す」という状態になっていた。
を使って移行したのが半年前。以来、問い合わせを見逃したことはゼロになった。
この記事でわかること:
- n8n × Gmail の OAuth 設定(よくあるエラーの対処法含む)
- ラベル付け・転送・返信テンプレートの3パターンの実装手順
- Gmail標準フィルターとn8nの使い分けの基準

GmailのフィルターとWhy n8n なのかを整理する
Gmail標準フィルターで限界を感じる状況とは
Gmail標準フィルターが向いているのは、「送信者Aからのメールには必ずラベルX」のようなシンプルな1対1の条件設定。フィルター数が10個以内で管理できているなら、わざわざn8nを使う必要はないと思う。
n8nに移行すべき状況の目安:
- 「条件A かつ 条件B かつ NOT 条件C」という複合条件が必要なとき
- 外部サービス(Slack・スプレッドシート等)と連動させたいとき
- メール内容に応じて返信文を自動生成したいとき
- フィルターが増えすぎて管理しきれなくなったとき
n8n でできること(ラベル・転送・返信テンプレートの自動化)
n8nのGmailノードで対応できる主な操作:
- 受信メールの条件検知(送信者・件名・本文キーワード等)
- ラベルの付与・削除
- 特定アドレスへの転送(メール内容を別アドレスに新規送信)
- 返信の下書き作成(自動送信にすると誤送信リスクがあるため、下書き推奨)
- スプレッドシートへのデータ記録
- Slack通知との組み合わせ
n8n × Gmail の初期設定:Google Cloud Console での OAuth 設定
ここが一番詰まりやすい部分なので、エラーの対処法ごと書く。
プロジェクト作成とGmail API の有効化
- Google Cloud Console にアクセス
- 画面上部の「プロジェクトを選択」から「新しいプロジェクト」を作成
- 左メニューの「APIとサービス」→「ライブラリ」で「Gmail API」を検索して有効化
Gmail APIは無料で利用できる(Googleアカウントがあれば追加費用なし)。n8nのGmail連携手順はZennのn8n記事にも実践例が豊富にある。
OAuth 認証情報の作成と n8n への登録
- 「APIとサービス」→「認証情報」→「認証情報を作成」→「OAuth クライアント ID」を選択
- アプリケーションの種類:「ウェブアプリケーション」を選択
- ここが重要: n8nの認証情報画面に表示される「OAuth Redirect URL」をコピーし、「承認済みのリダイレクト URI」に貼り付ける
- Client IDとClient Secretをコピーしてn8nのCredentialに登録
よくあるエラー1:redirect_uri_mismatch
「redirect_uri_mismatch」というエラーが出たら、リダイレクトURIの登録ミスがほぼ確実な原因。n8nのCredential画面をよく見ると「OAuth Callback URL」が表示されているので、そのURLをそのままコピーしてGoogle Cloudの「承認済みのリダイレクト URI」に登録する。手打ちすると微妙なスペルミスで通らないことがある。
よくあるエラー2:テストユーザーへの登録忘れ
「OAuth同意画面」でユーザーの種類を「外部」に設定した場合、Googleによる審査が完了するまでは「テストユーザー」に登録されたメールアドレスしか認証できない。自分のGmailアドレスをテストユーザーに追加することを忘れると、いつまでも「このアプリは確認されていません」という画面が出続ける。
設定場所:「APIとサービス」→「OAuth同意画面」→「テストユーザー」→「ADD USERS」
Gmailノードの基本操作:トリガーとアクションの設定

Gmail Trigger(受信検知)の設定
n8nのワークフローに「Gmail Trigger」ノードを追加する。
設定内容:
- Credential: 登録したGmail認証情報
- Resource: Message
- Event: Message Received
- Filters: 条件を設定(オプション)
Filtersでは送信者(From)・件名(Subject)・ラベル(Label)等で絞り込みができる。
フィルター条件の指定(送信者・件名・キーワード)
Gmail TriggerのFiltersセクションで条件を設定する。n8n内部ではGmail APIのクエリ文字列を使用している。
主な設定例:
送信者で絞り込み:from:sender@example.com
件名で絞り込み:subject:「問い合わせ」
両方の条件:from:sender@example.com subject:「見積り」
標準フィルターで「NOT 条件」が作れなかった問題も、n8nなら「IF」ノードを挟むことで対応できる。
3つの自動仕分けパターン
パターン1:受信者・件名でラベルを自動付与
特定の件名キーワードを含むメールに自動でラベルを付ける。
ワークフロー構成:
Gmail Trigger → IFノード(件名に「問い合わせ」が含まれるか判定)→ Gmail(ラベル付与)
Gmail Actionノードの設定:
- Resource: Message
- Operation: Add Label
- Label Name: 付与したいラベル名を入力
これで「問い合わせ」「請求確認」「SNS通知」が自動的に分類され、受信トレイを見る時間が大幅に減った。
パターン2:特定の送信者からのメールを別アドレスに転送
n8nの「転送」は、実際にはメール内容を取得して別アドレスに新規メールとして送信する形になる。Gmailの標準転送機能とは動作が異なるので注意。
ワークフロー構成:
Gmail Trigger(特定送信者のメールを検知)→ Gmail(新規メールで転送アドレスに送信)
Actionノードの設定:
- Resource: Message
- Operation: Send
- To: 転送先のメールアドレス
- Subject:
[FWD]+ 元のメールの件名(変数で取得) - Message: 元のメール本文(変数で取得)
パターン3:定型問い合わせに返信テンプレートで自動返信下書きを作成
これは「自動送信」ではなく「自動下書き作成」にしている。理由がある。
最初に「自動送信」で実装したら、メール内容を確認する前に送信されてしまい、誤送信になりかけた。問い合わせ内容を確認してから返信するのがベストで、下書きを自動作成しておけば確認後にすぐ送れる。
ワークフロー構成:
Gmail Trigger(問い合わせ検知)→ Gmail(返信下書き作成)→ Slack通知(下書き作成を通知)
Actionノードの設定:
- Resource: Draft
- Operation: Create
- To: 送信者のアドレス(変数で取得)
- Subject:
Re:+ 元の件名 - Message: 返信テンプレートの本文
Slack通知を組み合わせると「下書きができました」という通知をSlackに飛ばせる。n8n でSlack通知を自動化する方法 と組み合わせると便利だ。
設定中に詰まったこと(失敗談)
OAuth設定で1時間詰まった。redirect_uri_mismatch が出続けて、最初はタイポを疑っていた。よく確認したら、n8nのCredential画面の「OAuth Callback URL」をコピーせず、自分で推測して書いていた。コピーしたら一発で通った。
テストユーザー登録の件も知らなかった。「このアプリは確認されていません」の画面が30分出続けて、ようやくOAuth同意画面の設定を確認したときに気づいた。
この2つのエラーを事前に知っていれば、OAuth設定は15分で終わる。知らないと1時間以上かかることがある。これは正直、競合記事に書いてほしかった情報だ。

まとめ
Gmail標準フィルターで管理しきれなくなったら、n8nへの移行を検討するタイミングだと思う。複合条件・外部サービス連携・返信テンプレート自動化が一つの仕組みでできるのはn8nの強みで、設定の手間は最初の一回だけだ。
OAuth設定でつまずくのはほぼ全員なので、「redirect_uri_mismatch → n8nのOAuth Callback URLをコピーして登録」「テストユーザーに自分のアドレスを追加」の2点だけ覚えておくとスムーズに通せる。
自動返信は下書き保存を強く推奨する。誤送信のリスクをゼロにしてから、使いながら精度を上げていくのが安全だと思っている。
合わせて読みたい
– n8n の使い方入門:インストールから最初のワークフロー作成まで図解
– n8n でSlack通知を自動化する方法:特定イベントを即座に知らせる設定


コメント