n8n

Dify の API キー取得と n8n 連携ガイド【2026年版】

ⓘ本ページはプロモーションが含まれています

DXの導入や効果にお悩みの担当者へ

スポンサードリンク
 状況別に選べる  

DXを前に進めたい、あなたの立場と目的は?

DXの推進には社内政治や人々のリテラシーなど組織の様々な壁が立ちはだかります。導入後も部署・全社のAIリテラシーを底上げしていき浸透させていく運用が重要です。目的に合った本を選びやり方を学ぶことでDXの成功と会社の成長をもたらすことができますよ。

▷ 硬直的な組織でDXを導入したいなら

【イノベーションOps 組織を動かすDX&AI導入プロセスのすべて】を購入する

机上の空論にならない実践的導入ができるようになります

▷ さらに様々な事例を学びAIリテラシーを底上げしたいなら

Kindle Unlimited をサブスクする

月額980円だけで読み放題。30日間無料なので、合わなければ解約してもOK

▶ その他では 【AIエージェント時代のDX ビジネスオーケストレーションの衝撃】を購入する / 生成AIカテゴリー が参考になります。


スポンサードリンク

Dify の管理画面から API キーを取得する手順と注意点

Dify の API を n8n で利用する第一歩は 有効な API キー を取得し、安全に保管することです。キーが漏洩すると不正アクセスや課金リスクが発生しますので、取得から管理までの流れを公式ドキュメントに沿って解説します。本節では UI の実際の表示位置(2024 年版)と、権限設定・環境変数化のベストプラクティスを示します。

管理画面での取得フロー

管理画面左側メニューの 「Settings」 → 「API Access」 を開くと、現在登録されているキー一覧と新規作成ボタンが表示されます。

  1. 「Create new API key」 ボタンをクリック
  2. キー名(例:n8n‑production)と有効期限(最低 90 日推奨)を入力
  3. 「Create」を押すと、キー文字列が一度だけ表示されます

重要:生成後は画面上で再表示できません。必ずコピーして安全な場所に保存してください。

権限(スコープ)設定と安全な保存方法

Dify の API キーには 「read」「write」 の2つのスコープがあり、公式ドキュメントの API Scopes ページで詳細が確認できます[^1]。n8n からワークフロー実行やデータ更新を行う場合は write スコープも付与してください。

取得したキーは環境変数として管理するのが最も安全です。プロジェクトルートに .env ファイルを作成し、以下のように記述します。

.env の管理ポイント

項目 推奨設定
ファイル名 .env (プロジェクト直下)
Git 除外 リポジトリの .gitignore/.env を追加
アクセス権限 サーバー上は 600(所有者のみ読み取り)に設定
秘密情報の共有 CI/CD のシークレットストアや HashiCorp Vault 等を利用

.env ファイルがリポジトリに含まれないよう 必ず .gitignore に記載し、チームメンバーと共有する際は安全な手段(例:1Password Teams)で渡すようにしましょう。

キーローテーションのベストプラクティス

  • 有効期限が近づいたら 新規キーを発行 → 旧キーを無効化 のサイクルを自動化する
  • n8n 側は環境変数 DIFY_API_KEY を参照しているため、.env を更新すれば即座に全フローが新鍵へ切り替わります

n8n の HTTP Request ノードで Dify API を呼び出す設定方法

n8n には Dify 用の専用ノードはありませんが、汎用 HTTP Request ノードを使って REST API にアクセスできます。本節ではエンドポイント・認証ヘッダー・リクエストボディの作り方を公式情報に基づき解説します。

エンドポイントとメソッド

Dify のベース URL と各エンドポイントは公式 API Reference に記載されています[^2]。ワークフロー実行は次のパスへ POST でリクエストします。

項目 設定例
URL https://api.dify.ai/v1/workflows/{{ $env.DIFY_WORKFLOW_ID }}/run
Method POST
Authentication None(ヘッダーで Bearer トークン)
Content-Type application/json

認証ヘッダーの構成(Bearer トークン)

認証は Authorization: Bearer <APIキー> ヘッダーで行います。キーを直接ノードに書くとコードベースに残ってしまうため、環境変数 から参照させます。

Header Value
Authorization Bearer {{ $env.DIFY_API_KEY }}
Content-Type application/json

n8n の Credentials タブで「Environment Variable」タイプを作成し、上記ヘッダーに変数名だけを書き込む方法でも同等の安全性が保てます。

リクエストボディ例とテンプレート変数

ワークフロー実行時は入力パラメータを JSON で渡します。以下はテキスト要約用ワークフローに対するサンプルです({{ $json.email_body }} は前段のメール取得ノードから受け取った本文)。

HTTP Request ノードの Body 設定は JSON (application/json) を選択し、上記 JSON をテンプレート文字列として貼り付けます。変数展開は n8n の Expression 機構({{ }})で行われるため、動的に値が置換されます。

ポイント:ヘッダー・ボディともに環境変数やフロー内変数を利用すれば、コードベースに機密情報が残らない安全な設計になります。


Dify 側で Webhook エンドポイントを作成し、n8n と双方向連携する手順

Dify の処理結果やイベント通知をリアルタイムで n8n に送るには Webhook 機能を有効化します。本節では設定画面の操作手順と、n8n 側の受信ノード構成を具体的に示します。

Dify の Webhook 設定画面

左サイドバーの 「Integrations」 → 「Webhooks」 を開くと、既存Webhook一覧と 「Create new webhook」 ボタンが表示されます。以下の項目を入力してください(公式手順は Webhook Guide に掲載[^3])。

  1. Name:例 n8n_incoming
  2. URL:後述する n8n の Webhook URL を貼り付ける
  3. AuthenticationBearer Token を選択し、先ほど作成した API キーと同一のトークンを入力
  4. Events:必要なイベント(例 workflow_completed)にチェック

保存後、Dify が生成する Endpoint URL が画面に表示されます。これが n8n 側へ通知される先です。

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

n8n エディタで新規フローを作成し、左パネルから Webhook ノードをドラッグします。

項目 設定例
HTTP Method POST
Path dify/webhook(任意)
Response Mode On Received(即時 200 応答)
Authentication None(Dify 側で Bearer 認証済み)

ノードを保存すると Webhook URL が自動生成されます。例:

この URL を Dify の Webhook 設定画面(手順 2)の URL フィールドに貼り付けます。

受信ペイロードの検証と分岐例

テスト送信ボタンを Dify 側で実行すると、n8n の Execution Log に以下のような JSON が表示されます(公式サンプルは Webhook Payload に記載[^4])。

n8n の IF ノードで event === 'workflow_completed' を判定し、成功時は Slack 通知やデータベース保存へ分岐させます。失敗イベント(例 workflow_failed)は別途エラーハンドリングフローに回すと運用が楽になります。

ポイント:Webhook の認証方式を Dify と同一の Bearer Token に統一すると、シークレット管理が一本化できてミスが減ります。


API 呼び出し結果の確認・エラーハンドリング・リトライ設定

自動化フローの信頼性は レスポンスの正確な判定適切な再試行 に依存します。本節では成功・エラー時にチェックすべきフィールドと、n8n の Try / Catch 構造によるハンドリング方法を解説します。

成功レスポンスとチェックポイント

Dify が 200 系ステータスで返す典型的な JSON は次の通りです(公式リファレンス参照[^5])。

チェック項目 内容
status "success" かどうか
data.output_text 空文字でないことを確認
request_id ログに残してトラブル時に追跡可能

エラー構造と対処方法

エラー時は 4xx/5xx と共に以下のようなペイロードが返ります。エラーコード一覧は Error Codes ページに掲載されています[^6]。

対処の基本は error_code に応じた分岐です。たとえば RATE_LIMIT_EXCEEDED はリトライ待機時間を伸ばすべきシグナルになります。

n8n での Try / Catch とリトライ設定

  1. HTTP Request ノードを Try ブロックに配置
  2. 同ブロック内で {{ $json.status }}"error" の場合は Catch フローへ遷移させる(IF ノードで判定)
  3. Catch 内で Slack や Email にエラーメッセージを送信

リトライは HTTP Request ノードの Options から設定できます。

パラメータ 推奨値
Retry On Failure 有効
Max Attempts 3
Backoff Strategy Exponential (2, 4, 8 秒)
Additional Delay on RATE_LIMIT_EXCEEDED 30 秒以上

この設定により、一時的なネットワーク障害やレートリミット超過でも自動的に再試行され、フロー全体の耐障害性が向上します。

ポイント:HTTP ステータスだけで成功判定せず、レスポンスボディの status フィールドも必ず確認してください。


実務向けサンプルワークフローとテスト手順

以下に業務ですぐに使える 3 つの典型的なフロー と、それぞれのテスト方法を示します。全ては n8n のテンプレートとしてエクスポート可能です。

サンプル①:定期実行で要約取得

毎日決まった時刻に Dify の要約ワークフローを呼び出し、結果を Slack に投稿するシナリオです。

ノード 主な設定
Cron 09:00 (UTC+9) 毎日実行
HTTP Request (Dify) 前述のエンドポイントに POST、{{ $env.SUMMARY_WORKFLOW_ID }} を使用
Set summary フィールドに {{$json.data.output_text}} を格納
Slack (Send Message) チャンネル #ai-summary{{ $node["Set"].json.summary }} を送信

HTTP Request のコードスニペット

サンプル②:メール受信 → 要約 → Slack 通知

  1. IMAP Email ノードで新着メール取得
  2. Set ノードで本文 (email_body) を抽出
  3. HTTP Request (Dify) で要約ワークフロー実行
  4. Slack に要約結果を投稿

この構成は顧客からの問い合わせメールを自動的に要約し、担当者へ即時共有したいシーンに有効です。

サンプル③:スプレッドシート更新 → 正規化 → CRM 送信

ノード 役割
Google Sheets (Watch) 行追加を検知
HTTP Request (Dify) データ正規化ワークフローへ POST
HTTP Request (CRM API) 正規化結果を外部 CRM に送信
IF / Error Handling 失敗時はメールで担当者に通知

Dify 呼び出し例(正規化)

Postman コレクションで事前検証する方法

公式サイトから Postman Collection をダウンロードできるので、実装前に API の挙動を確認すると安心です(手順は Developer Resources に記載[^7])。

  1. Dify 管理画面 → 「Developers」→「API Collection Download」
  2. Postman にインポートし、環境変数 DIFY_API_KEYWORKFLOW_ID を設定
  3. 各リクエストを実行して 200 応答と期待通りの JSON 構造を確認

n8n 側でも Run Once ボタンでデバッグでき、Execution Log にリクエスト/レスポンスが詳細に出力されます。Postman と n8n の両方でテストし、エラーハンドリングとリトライ設定が期待通り機能することを必ず検証してください。

まとめ:API キーは環境変数化・.env 管理で安全に保管し、Dify と n8n の双方向連携は公式エンドポイントと Webhook を組み合わせるだけで実装可能です。上記サンプルをベースに自社の業務フローへカスタマイズすれば、AI 活用の自動化がスムーズに進むでしょう。


参考リンク

[^1]: Dify API Scopes – https://docs.dify.ai/reference/scopes
[^2]: Dify API Reference – https://docs.dify.ai/api-reference
[^3]: Webhook Guide – https://docs.dify.ai/webhooks/guide
[^4]: Webhook Payload Specification – https://docs.dify.ai/webhooks/payload
[^5]: Success Response Format – https://docs.dify.ai/api-response#success
[^6]: Error Codes List – https://docs.dify.ai/api-response#error-codes
[^7]: Developer Resources – https://docs.dify.ai/developers/resources

スポンサードリンク

DXの導入や効果にお悩みの担当者へ

スポンサードリンク
 状況別に選べる  

DXを前に進めたい、あなたの立場と目的は?

DXの推進には社内政治や人々のリテラシーなど組織の様々な壁が立ちはだかります。導入後も部署・全社のAIリテラシーを底上げしていき浸透させていく運用が重要です。目的に合った本を選びやり方を学ぶことでDXの成功と会社の成長をもたらすことができますよ。

▷ 硬直的な組織でDXを導入したいなら

【イノベーションOps 組織を動かすDX&AI導入プロセスのすべて】を購入する

机上の空論にならない実践的導入ができるようになります

▷ さらに様々な事例を学びAIリテラシーを底上げしたいなら

Kindle Unlimited をサブスクする

月額980円だけで読み放題。30日間無料なので、合わなければ解約してもOK

▶ その他では 【AIエージェント時代のDX ビジネスオーケストレーションの衝撃】を購入する / 生成AIカテゴリー が参考になります。


-n8n