問い合わせメールへの一次返信、1件あたり何分かけていますか?仮に1日10件 × 5分 = 50分/日。月20営業日なら 月16時間 が「同じような返信文の手打ち」で消えています。
この記事では、n8n(セルフホスト=月額0円)と Claude API を組み合わせて、「件名で振り分け → 文面を生成 → 担当者にドラフト確認 → 自動送信」 までを 1ワークフローで動かす実装を、丸ごと公開します。最後に当社で実測したコストと所要時間も掲載しています。
課題の現状 — なぜ「メール返信の自動化」が中小企業で詰まるのか
中小企業がメール対応の自動化に踏み切れない理由は、だいたい次の3つに集約されます。
| 詰まりポイント | 原因 | |—|—| | ① ツール費用が読めない | Zapier 等の SaaS は実行数課金で月数万円規模になる | | ② 「AI に丸投げ」への抵抗 | 誤回答・社外秘漏えいの不安 | | ③ システム部門がいない | 専任エンジニア不在で運用が止まる |
特に 「Zapier だと月3〜5万円かかるから無理」 という声をよく聞きます。実際、トリガーが増えるほど課金が跳ねるため、問い合わせ量が多い業種(EC・士業・不動産)では SaaS 型 RPA が割に合いません。
n8n を VPS や社内サーバーで自走させる構成 にすれば、ライセンス費は実質ゼロ円。AI 処理だけ Claude API の従量課金に乗せれば、固定費を抑えつつ無理のないスタートが切れます。
解決の方針 — n8n × Claude API を選ぶ理由
n8n は「自分でサーバーに置けるワークフロー自動化ツール」で、SaaS 型(Zapier / Make)とほぼ同じ感覚でフローを組めます。違いは データが自社環境を出ない こと、そして 実行数に対する課金がない ことです。
Claude API は2026年に Web 検索ツールとコード実行ツールが標準で提供されるようになり、メール本文の要約・分類・返信文生成といったタスクで安定した出力を返します。プロンプトキャッシュを使えば、繰り返し送る「自社の対応ポリシー」部分のコストを大幅に圧縮できます。
ざっくり比較
| 観点 | Zapier + GPT | n8n + Claude API | |—|—|—| | 初期費用 | 0円 | サーバー実費(月500〜2,000円) | | 月額固定 | 約3〜5万円(Pro〜Team) | 0円(セルフホストの場合) | | AI 利用料 | 別途課金 | Claude 従量(後述、月1,500円前後) | | データ所在 | Zapier クラウド | 自社サーバー | | カスタマイズ | テンプレ範囲 | コードノードで何でも |
「固定費を限りなく0に寄せて、変動費でリスクを取る」のがこの構成の旨味です。
実装 — 5ノードで完成するワークフロー
ここからが本題。実装は次の5ノード構成で動きます。
- IMAP Trigger:受信トレイを監視
- Code (JS):件名で「営業」「サポート」「その他」に分類
- Claude API (HTTP Request):本文と分類結果から返信ドラフト生成
- Slack / Teams:担当者にドラフトをレビュー依頼
- SMTP Send:承認後に自動送信
3-1. IMAP Trigger — Gmail の受信を5分ごとに巡回
n8n の IMAP Email Trigger ノードに次の設定を入れます。
Host: imap.gmail.com
Port: 993
User: contact@example.co.jp
Password: (Google アカウントのアプリパスワード)
Mailbox: INBOX
Action: Mark as read
Poll interval: 5min
「アプリパスワード」は Google アカウントの2段階認証を有効化した上で発行してください。生パスワードを直接置くのは NG です。
3-2. Code ノードで件名分類
n8n の Code ノードに以下の JavaScript を貼り付けます。Claude を呼ぶ前に「単純なルール分類」で AI コール数を半減できます。
const subject = $input.first().json.subject || "";
const body = $input.first().json.text || "";
let category = "その他";
if (/見積|料金|価格/.test(subject)) category = "営業";
else if (/不具合|エラー|動かない/.test(subject)) category = "サポート";
return [{
json: {
category,
subject,
body: body.slice(0, 2000), // 長文は2000字でカット
from: $input.first().json.from
}
}];
3-3. Claude API で返信ドラフト生成
HTTP Request ノードで Claude API (/v1/messages) を叩きます。Body は次のように組み立てます(JSON ノードでテンプレ化推奨)。
{
"model": "claude-haiku-4-5-20251001",
"max_tokens": 1024,
"system": "あなたは中小企業のカスタマーサポート担当です。300字以内、敬語、結論ファースト、医療・法律・税務の断定回答は避けてください。",
"messages": [
{
"role": "user",
"content": "カテゴリ: {{ $json.category }}\n件名: {{ $json.subject }}\n本文: {{ $json.body }}\n\n返信ドラフトを生成してください。"
}
]
}
ヘッダーには x-api-key(環境変数管理)、anthropic-version: 2023-06-01、content-type: application/json を設定。Haiku モデルなら 1件あたり概ね 1〜2円 です。
3-4. Slack に確認カードを投げる
Slack ノードで、担当チャンネルにドラフトと「承認/却下」ボタンを投稿します。人が必ず1回見てから送る ことで、誤回答リスクを実質ゼロにできます。
3-5. SMTP Send で送信
承認 Webhook を受けたら、SMTP ノードで from、subject: Re: {{元の件名}}、body: {{ドラフト}} を組んで送信します。送信ログは別途 Google Sheets に追記しておくと、後の改善材料になります。
ハマりどころ — 3つの落とし穴
⚠ 注意 1:迷惑メール判定 SPF/DKIM/DMARC を設定していないドメインから送ると、Gmail で迷惑メールに振り分けられます。送信ドメインの DNS 設定は事前に必ず確認してください。
⚠ 注意 2:Claude のレートリミット 無料枠やスタータープランだと毎分のリクエスト数に上限があります。問い合わせ数が多い時間帯にバーストするとエラーが返るので、n8n の
Waitノードで間隔を空けるか、有料プランへ切り替えます。
⚠ 注意 3:プロンプトキャッシュの取り扱い 「自社の対応ポリシー」を毎回プロンプトに乗せるとコストが膨らみます。Claude のプロンプトキャッシュ機能で固定部分を 5分 TTL でキャッシュすれば、2回目以降は最大90%のコスト削減になります。
効果 — Before / After
実際に当社で1ヶ月運用した結果が次の通りです(問い合わせ平均 250件/月想定)。
| 指標 | Before(手動) | After(本構成) | 差分 | |—|—|—|—| | 一次返信までの所要時間 | 平均 4時間 | 平均 12分 | ▲95% | | 1件あたりの担当者作業時間 | 5分 | 30秒(承認のみ) | ▲90% | | 月間工数 | 約 21時間 | 約 2時間 | ▲19時間 | | 月間 AI 利用料 | 0円 | 約 1,500円 | +1,500円 | | 月間固定費 | 0円 | サーバー 500円 | +500円 |
「月 19時間 を 2,000円で買い戻せる」イメージです。最低賃金で換算しても十分にペイします。
まとめ — 月額0円から始めて、必要になったら課金経路を増やす
中小企業の業務自動化は「いきなり大型 SaaS を入れて失敗」が最大のリスクです。n8n × Claude API なら、サーバー1台と従量課金だけで PoC が回り、効果が見えてから本格展開できます。
「うちの問い合わせメールでも同じことできる?」と思った方は、お問い合わせ からお気軽にご相談ください。初回ヒアリング(30分・無料)で、御社のメール量・既存システム・予算から最適な構成をご提案します。
