n8nとdifyの連携手順!APIキーとWebhookの設定方法も解説

この記事の結論
・n8nとDifyの連携には「n8nからDifyを呼び出す」パターンと「Difyからn8nを起動する」パターンの2種類があり、目的に応じて使い分ける必要があります。

・連携を成功させる鍵は、Dify側での正しいAPIキー(Secret Key)の発行と、n8n側でのCredential(認証情報)への適切な登録です。

・実装時によくあるエラーは、JSONデータの記述ミスや必須パラメータ(user等)の欠落が原因であることが多いため、データ構造の確認が重要です。

n8nとDifyを連携させることで、AIによる高度な言語処理と柔軟なワークフロー自動化を組み合わせることが可能になります。

しかし、いざ実装しようとすると「APIキーの設定場所が分からない」「JSONの記述形式でエラーが出る」「ローカル環境での通信がうまくいかない」といった技術的な壁に直面することが少なくありません。

本記事では、n8nとDifyを連携させるための具体的な設定手順を、操作画面のパラメータレベルで解説します。

n8nからDifyを呼び出すAPI連携と、Difyからn8nをトリガーするWebhook連携の双方について、再現可能なステップを紹介します。

AIエージェント・AIシステム開発ならKAGEMUSHA!

株式会社KAGEMUSHAが提供する自律型AIエージェントは、定型業務の自動化から複雑なタスク進行まで、一連の業務フローをAIが主体的に遂行します。

社内データを統合した高い業務理解度と、現場オペレーションに合わせた柔軟なカスタマイズが強みです。

導入直後から成果が見える運用設計も特徴で、「何から自動化できるのか」を資料で詳しく解説しています。こちらのバナーから無料でダウンロードしてください。

株式会社KAGEMUSHA_AIエージェント資料CTA
目次

n8nとDifyを連携させる2つのパターンと実現できること

n8nとDifyの連携には、どちらを起点にするかによって大きく2つのパターンが存在します。目的に応じて適切な構成を選択してください。

パターンA:n8nからDifyを呼び出す(AI機能の利用)

n8nのワークフロー内でDifyのAPIを実行するパターンです。

例えば、n8nで取得したメール本文やRSSフィードの情報をDifyに送信し、LLM(大規模言語モデル)による要約や翻訳、感情分析を行わせます。

処理結果は再びn8nに戻され、Slack通知やスプレッドシートへの書き込みといった後続の処理に利用されます。Difyを「高機能なAI処理ノード」としてn8nに組み込むイメージです。

パターンB:Difyからn8nを起動する(外部ツールとして利用)

Difyのチャットボットやワークフローから、n8nのWebhook URLを叩くパターンです。

Dify単体では対応していない外部ツールへの操作(例:社内データベースへの登録、特定のAPIを持たないレガシーシステムへの連携など)を、n8nを介して実行します。

Difyのエージェント機能における「ツール」としてn8nを利用する形になります。

どちらを起点にするかで設定手順が大きく異なるため、まずは実現したいフローの目的を明確にしましょう。

【準備編】連携に必要なAPIキー発行と環境設定

連携を開始する前に、認証情報の取得とネットワーク環境の確認を行います。

DifyでのAPIキー発行手順と注意点(Secret Key)

DifyのAPIを利用するには、アプリケーションごとのAPIキーが必要です。

  • Difyにログインし、連携したいアプリ(チャットボットやワークフロー)を開きます。
  • 左サイドメニューの「API Access(APIアクセス)」をクリックします。
  • 右上の「API Key(APIキー)」ボタンをクリックし、「Create New Secret Key(新しいシークレットキーを作成)」を選択します。
  • 生成されたキーをコピーして保存します。

注意点: APIキーは app- から始まる文字列です。このキーは一度しか表示されない場合があるため、必ず安全な場所に控えてください。

n8nでのCredential(認証情報)の登録方法

n8nでは、APIキーを直接ノードに書き込むのではなく、Credential機能を使って管理することが推奨されます。

  • n8nの画面左側にある「Credentials」メニューを開き、「Add Credential」をクリックします。
  • 「Header Auth」を検索して選択します。
  • Nameに「Dify API」など識別しやすい名前を付けます。
  • Name欄に Authorization と入力します。
  • Value欄に Bearer {取得したAPIキー} の形式で入力します。

ここで最も重要なのは、Bearer とキーの間に半角スペースが必要という点です(例: Bearer app-1234567890abcdef)。

セルフホスト版利用時のネットワーク要件

Dockerを使用してn8nとDifyをセルフホストしている場合、コンテナ間の通信設定に注意が必要です。

同じDockerネットワーク内の場合: コンテナ名(例: http://dify-api:5001)で通信できるか確認してください。

異なる環境やローカルホストの場合: n8nから見たDifyのアドレスが localhost では通じないことがあります。

Docker Desktop環境などでは http://host.docker.internal:5001 のように、ホストマシンを指す特殊なドメインを使用する必要があります。

APIキーはセキュリティ上、再表示されない仕様のことが多いため、生成直後に必ずコピーして保存してください。

【手順1】n8nからDifyのAPIを実行する方法(HTTP Request)

n8nの「HTTP Request」ノードを使用して、DifyのAPIエンドポイントにデータを送信する手順です。

HTTP Requestノードの基本設定(MethodとURL)

n8nのキャンバスに「HTTP Request」ノードを追加し、以下の通り設定します。

  • Method: POST を選択します。
  • URL: DifyのAPIエンドポイントを入力します。

チャットアプリの場合、URLは https://api.dify.ai/v1/chat-messages(クラウド版)となります。セルフホスト版の場合は、ご自身のドメインに合わせて調整してください。

Authorizationヘッダーと認証設定

先ほど作成したCredentialを適用します。

  • HTTP Requestノードの「Authentication」設定で「Predefined Credential Type」を選択します。
  • 「Credential Type」で「Header Auth」を選択します。
  • 「Credential for Header Auth」で、準備編で作成した「Dify API」を選択します。

これにより、リクエストヘッダーに自動的に Authorization: Bearer app-xxx が付与されます。

Bodyパラメータ(JSON)の記述とデータ受け渡し

Difyに送信するデータをJSON形式で設定します。「Send Body」をオンにし、「Body Content Type」を JSON に設定します。

「Specify Body」で Using JSON を選択し、以下の構造を入力します。

{
  "inputs": {},
  "query": "ここにn8nの変数をマッピング",
  "response_mode": "blocking",
  "conversation_id": "",
  "user": "n8n-user"
}

inputsにはDify側で定義した変数がある場合に記述します。queryはDifyに投げかける質問文で、n8nの前のノードから取得したデータを動的に設定します。

特に注意が必要なのは、userパラメータは必須項目である点です。任意の文字列(例: abc-123)を指定しないとエラーになります。

JSON記述時はカンマの抜けや括弧の対応など、構文エラーに特に注意が必要です。

【手順2】Difyからn8nのWebhookをトリガーする方法

Difyのワークフローからn8nを呼び出す手順です。

n8n「Webhookノード」の設定とURL取得

n8nで「Webhook」ノードを追加し、HTTP MethodPOST に設定します。任意のパス(例: dify-trigger)を設定してURLを確認します。

Test URLはワークフロー作成・デバッグ用です。本番運用時は、ワークフローを「Active」にした後にProduction URLを使用する必要があります。

Dify「HTTP Request」ブロックの設定手順

Difyのワークフロー編集画面(Studio)で「HTTP Request」ブロックを追加します。

  • API URL: n8nで取得したWebhook URLを貼り付けます。
  • Method: POST を選択します。
  • Body: JSON を選択し、n8nに渡したいデータを記述します。

処理に時間がかかる場合は、Timeoutをデフォルトより長め(例: 60秒以上)に設定することをお勧めします。

変数の受け渡しとレスポンス設定

n8nでの処理結果をDifyに戻す場合、n8nのフローの最後に「Respond to Webhook」ノードを追加します。

Respond WithJSON に設定し、Difyに返したいデータを記述します。Dify側では、このレスポンスを後続のブロック(LLMや回答生成)で変数として利用できます。

テスト段階ではTest URLを使用し、本番稼働時には必ずProduction URLに切り替えてください。

連携でよくあるエラー(401/429)と解決策

設定中に発生しやすいエラーとその対処法を解説します。

「401 Unauthorized」認証エラーの原因と対処

認証に失敗している場合に発生します。APIキーのコピー時に余分なスペースが入っていないか、キーの一部が欠けていないか確認してください。

また、ヘッダー形式が Bearerスペースあり)+ APIキー の形式になっているかどうかも重要なチェックポイントです。

「400 Bad Request」データ形式エラーの回避

送信したJSONデータの構造に問題があるケースです。

Dify APIでは userパラメータが必須です。これが含まれているか、JSON構文にカンマの有無や括弧の対応ミスがないか、n8nのJSONエディタで確認してください。

タイムアウトやレート制限(429)への対策

短時間に大量のリクエストを送ると「429 Too Many Requests」が発生します。n8nの「Wait」ノードを使用して、ループ処理の間に数秒の待機時間を設けてください。

また、Difyやn8nの処理が長引くと接続が切れることがあります。処理を分割するか、有料プランやセルフホスト版への移行を検討してください。

エラー発生時は、まずAPIキーの入力ミスとJSONデータの構文チェックから始めましょう。

【活用例】n8n×Difyで実現する自動化シナリオ

Google検索結果をDifyで要約してSlack通知

n8nで定期的にGoogle検索を行い、結果のタイトルとスニペットを抽出します。

抽出したテキストをDifyに送信し、「以下のニュースを3行で要約して」と指示します。Difyが生成した要約文をn8nが受け取り、Slackの特定チャンネルに自動投稿します。

受信メールをDifyで解析してタスク管理ツールへ登録

n8nのGmailトリガーで新規メールを受信し、メール本文をDifyに送信します。

Difyに「このメールからタスク内容、期限、担当者を抽出してJSONで返して」と指示し、解析結果を構造化データとして返却させます。

n8nはそのJSONデータを元に、NotionやTrelloに新しいタスクカードを自動作成します。

まとめ

n8nとDifyを連携させることで、単なるデータ転送だけでなく、AIによる判断や加工を含んだ高度な自動化が可能になります。

  • n8nからDify: HTTP Requestノードを使い、POSTメソッドとBearer認証でAPIを叩く。
  • Difyからn8n: Webhookノードを使い、DifyのHTTP Requestブロックからデータを送る。
  • 共通のポイント: JSONのデータ構造(特に必須項目)と認証ヘッダーの記述を正確に行う。

まずはシンプルなテキストの送受信から試し、正常に連携できることを確認してから、複雑なワークフローの構築に進んでください。

AIエージェント・AIシステム開発ならKAGEMUSHA!

株式会社KAGEMUSHAが提供する自律型AIエージェントは、定型業務の自動化から複雑なタスク進行まで、一連の業務フローをAIが主体的に遂行します。

社内データを統合した高い業務理解度と、現場オペレーションに合わせた柔軟なカスタマイズが強みです。

導入直後から成果が見える運用設計も特徴で、「何から自動化できるのか」を資料で詳しく解説しています。こちらのバナーから無料でダウンロードしてください。

株式会社KAGEMUSHA_AIエージェント資料CTA

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事の監修者

株式会社BuzzConnection/株式会社KAGEMUSHA 代表取締役CEO

2021年に独立し、株式会社BuzzConnectionを設立。複数の事業を運営し、現在はAIを活用したWebアプリケーションの開発、運用や生成AIの普及を目的としたセミナー研修の開催など多角的に活躍している。
2023年4月に株式会社KAGEMUSHAを創業。AI事業に大きく事業を展開。
AIアバターやデジタルヒューマン、AIチャットボット、AI研修など幅広い視点からAIの業務効率化を支援。

目次