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

n8n x Dify連携!Slackボット構築入門

n8nの「Execute Workflow」を活用し、複数のワークフローを部品化して連携させながら、Difyをバックエンドにした高度なSlackボットを構築する方法を解説します。

学習ポイント

  • 「Execute Workflow」ノードを使用したワークフローの部品化とモジュール化の手法
  • 「Edit Fields」ノードを用いたデータ整形の効率化と開発の保守性向上
  • HTTP Requestノードによるn8nからDifyへのAPI接続(POST/JSON形式)の実装手順

動画では、n8nとDifyを組み合わせたSlackボットの構築手順が解説されています。単一の自動化ではなく、機能を分割(モジュール化)することで、保守性の高いシステムを作る考え方が中心となります。

ワークフローの3段構成とモジュール化

今回のシステムは以下の3段階で構成されています。

1. **メインフロー**: Slackのメンションを受け取り、サブフローを呼び出す。

2. **サブフロー**: 飛脚(HTTP Request)の役割を担い、送信データの整形とDifyへの通信を行う。

3. **Difyサーバー**: 送信されたクエリに対し、AIが回答を生成して返す。

このように機能を「部品化」することで、特定箇所の修正を容易にし、複雑なワークフローも管理しやすくなります。

主要ノードの設定と役割

  • **Edit Fields (旧Set)**: 多くの入力データから、必要な項目(テキストやユーザーID)だけを抽出し、後続のノードで使いやすく整形します。

  • **Execute Workflow**: 別の独立したワークフローを呼び出すためのノードです。ソースを「Database」に設定し、呼び出したいサブフローを選択。APIキーやクエリを引数として渡します。

  • **HTTP Request**: DifyのAPIエンドポイントに対し、METHODを「POST」に設定して通信。ヘッダー(認証情報)とボディ(質問内容)をJSON形式で送信します。

Difyとの連携と最新機能

Dify側では公開APIを発行し、n8nから渡されたクエリをLLM(AI)が処理します。動画内では、最新機能の「ナレッジパイプライン」についても紹介されており、PDFやNotionなど多様なデータソースをRAG(検索拡張生成)に活用する際の強力な分岐設定が可能である点が強調されています。

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

  • **n8n**: ワークフロー自動化プラットフォーム

  • **Dify**: LLMアプリケーション開発用プラットフォーム

  • **Slack**: ユーザーインターフェースとしてのチャットツール

  • **Limo**: コミュニティ学習や質問対応に活用されているオンラインスペース