投稿する
📚 Dify・n8nハンズオン講座(木曜日チーム)

Difyとn8n連携!SlackBotで自動化入門

n8nとDifyを連携させ、SlackからのメンションをトリガーにAIが回答する高度なワークフロー構築方法を解説します。

学習ポイント

  • n8nから外部ワークフローを呼び出す「Execute Workflow」ノードの使い方
  • DifyでAPIキーを取得し、n8nからHTTPリクエストを送るための設定手順
  • AIにプロンプトやコードを書かせて学習・効率化するエンジニアリング手法

n8nをハブとして、SlackとDifyを接続するワークフローを構築します。複数のワークフローを「部品化」して管理することで、保守性の高い柔軟なシステムを開発する手法を学びます。

1. n8nメインワークフローの構造

メインとなるn8nワークフローでは、Slackからのメンションをトリガーに受け取ります。次に「Edit Fields」ノードを使用して必要なデータ(メッセージ内容など)を絞り込みます。その後、「Execute Workflow」ノードを用いて、Difyと通信するための専用サブワークフローを呼び出します。これにより、ワークフローが肥大化するのを防ぎ、再利用可能なパーツとして管理できます。

2. Difyのチャットフロー設定とAPI連携

Dify側では、GeminiなどのLLMモデルを選択し、システムプロンプトを設定したチャットフローを作成します。設定が完了したら「公開」し、「APIアクセス」メニューからAPIキーを取得します。このキーとエンドポイントURLをn8n側の「HTTP Request」ノードに設定することで、n8nからDifyのAI機能を呼び出すことが可能になります。また、Difyの「Grounding with Google Search」機能を有効にすることで、最新情報を踏まえた回答が生成できます。

3. HTTPリクエストとデータ整形(Codeノード)

n8nのサブワークフロー内では、「Code」ノードを使用してDifyへ送るリクエストボディ(JSON形式)を生成します。JavaScriptを用いて、Authorizationヘッダー(Bearerトークン)やクエリパラメータを定義します。準備ができたら「HTTP Request」ノードでDifyのAPIを叩き、返ってきた回答データを再度「Edit Fields」で整形してメインワークフローへ戻します。最終的に整理された回答がSlackボットとして投稿されます。

**紹介されるツール・サービス**

  • n8n (ワークフロー自動化)

  • Dify (AIアプリ開発プラットフォーム)

  • Slack (コミュニケーションツール)

  • Gemini / ChatGPT (LLMモデル)