🤖

n8nとGeminiでメールの下書きを自動で生成させてみた!

に公開

はじめに

💡 この記事を読むと何ができるようになるか

  • Google Gemini(AI)とGmailを連携させ、「メールを受信すると自動で返信案を作成し、下書きに保存する」という、実用的な自動化を構築できます。

  • n8n「エヌエイトエヌ」の基本概念から、実際のワークフロー構築手順までを理解できます。

概要

今回の記事では以下のワークフローを作成し、自動でメール返信案を生成してくれるようにします。


今回作成するワークフロー

ワークフローは以下の3つのステップで構成されています。

  • 1. メールの取得
  • 2. メール本文から返信文案を作成
  • 3. 生成した文案を下書きとして保存

具体例・コード例

事前準備

この記事を読み進め、n8nを実際に試すために必要な知識と環境は以下の通りです。

  • 必要な知識:
    • 特になし。ただし、APIやWebhookに関する基本的な知識があると、よりスムーズに理解できます。
  • 環境:
    • n8n Cloud: 最も手軽に始められる公式のクラウドサービス。アカウント登録だけですぐに利用できます。

1. メールの取得

  • ワークフローの開始点として、「On message received」ノードを設置します。
  • Credentialでご自身のGoogleアカウントを接続します。
  • Poll TimesEvery Minuteを選択します。
  • Fetch Test Evnetをクリックして、実際にメールが取得できるか確認します。
    これにより、メールを受信したら都度下書きを作成してくれます。

※今回は例として以下のメールを自分宛に送っています。

お問い合わせ

[Recipient Name]様

平素は格別のご高配を賜り、厚く御礼申し上げます。
[ご自身の会社名や部署名]の[ご自身の氏名]と申します。

この度、[問い合わせたい製品やサービス名、または件名]について、いくつかお伺いしたくご連絡いたしました。

[具体的な問い合わせ内容の最初の質問]
[具体的な問い合わせ内容の2番目の質問]
[具体的な問い合わせ内容の3番目の質問]

お忙しいところ恐縮ですが、ご回答いただけると幸いです。
お手数をおかけいたしますが、何卒よろしくお願い申し上げます。

敬具

[ご自身の氏名]
Takeru Kurihara
株式会社 [ご自身の会社名]
[ご自身の電話番号]
[ご自身のメールアドレス]


ワークフローノードの追加画面


On message receivedの設定画面

2. 返信文案の生成

  • Gmailノードの+からGoogle Geminiノードを追加します。
  • CredentialでGemini APIキーを接続します。
  • Modelgemini-proを選択します。
  • Textフィールドに、AIへの指示(プロンプト)を入力します。前のノードから取得したメール本文をExpressionを使って埋め込みます。
  • プロンプト例:
      {{ $json.sunippet  }} 
      上記のメールに対する返信文の下書きをビジネス日本語で考えて下さい。
      件名はいりません。
      一つのみ作成。

{{ $json.sunippet }}はドラッグ&ドロップで埋め込めます。

  • Execute stepをクリックして、実際に下書きの内容ができているか確認します。


Message a modelの設定画面

3. 返信の下書き作成

  • Google Geminiノードの+から、もう一つGmailノードを追加します。
  • ResourceMessageOperationCreate Draftを選択します。
  • Email TypeTextを選択します。
  • Thread IDTo Emailの各フィールドに、Expressionを使って最初のGmailノードから取得した情報を引き継ぎます。
  • Subject:{{ $json.content.parts[0].text }}
  • Messageフィールドに、Google Geminiノードが生成した返信文案を設定します: {{ $json.content.parts[0].text }}
  • Thread ID: {{ $('Gmail Trigger').item.json.threadId }}
  • To Email: {{ $('Gmail Trigger').item.json.from }}


Create a draftの設定画面

4. テストと有効化

  • Execute workflowボタンで、全体の流れをテストします。
  • 各ノードのOutputタブを見て、データが意図通りに渡されているか確認します。
  • Gmailに下書きが作成されていれば成功です。問題がなければ、画面右上のActiveトグルをONにしてワークフローを有効化します。

  • ポイント:
    • Gmailノードのフィルタ機能を活用して、処理対象のメールを正確に絞り込む。
    • Google GeminiノードにExpressionで動的に情報を渡し、状況に応じたテキストを生成させる。
    • 複数のGmailノードを使い、メールの読み取りと下書き作成の両方を行う。

応用・発展

n8nの魅力は、その高い拡張性にあります。

  • AIとの連携: OpenAIノードやGoogle Geminiノードを使えば、問い合わせ内容の要約、文章の自動生成、感情分析などをワークフローに組み込めます。

  • Webhookの活用: Webhookトリガーを使えば、GitHubのプッシュイベント、Stripeの決済完了など、外部サービスからのイベントをきっかけにワークフローを開始できます。

  • 独自ロジックの実装: FunctionノードやFunction Itemノードを使えば、JavaScriptを記述して、標準ノードだけでは実現できない複雑なデータ加工や独自のロジックを実行できます。

  • ポイント:

    • AIノードと連携し、インテリジェントな自動化を実現
    • Webhookで様々な外部サービスと双方向連携
    • JavaScriptで機能を自由に拡張可能

まとめ・今後の展望

n8nは、シンプルなUIの裏で非常にパワフルな機能を持つ自動化ツールです。本記事で紹介した内容は、その機能のほんの一部にすぎません。まずは身の回りの小さな定型業務から自動化を試してみましょう!

ワークフローが複雑になってきたら、エラーハンドリング(Error Trigger)の実装や、実行ログ(Executions)の確認方法を学ぶと、より安定した運用が可能になります。また、公式のコミュニティでは、世界中のユーザーが作成したワークフローが共有されており、新たな自動化のヒントを得ることができます。

  • ポイント:
    • 小さな自動化から始めて成功体験を積むことが重要
    • 安定運用のためにエラーハンドリングとログ活用を学ぶ
    • コミュニティに参加して知見を広げる

参考リンク

EMP Tech Blog

Discussion