【Dify】Lesson6-1:ツールとプラグインの役割と違い・使い分け【外部連携入門】

これまでのレッスンで、Difyで「アプリの形にする」「ワークフローで流れを作る」「RAGでナレッジ検索をする」といった土台はだいぶ整ってきました。
Lesson6ではそこから一歩進んで、Slackに通知したり、スプレッドシートに書き込んだり、社内システムとつないだりといった “外部連携” が主役になります。
その入口になるのが「ツール」と「プラグイン」です。
最初は混乱しやすいのですが、ここで一度きれいに整理しておくと、以降の連携開発がかなりスムーズになります。
Lesson1:Dify入門|環境構築と最初の生成AIアプリ開発
Lesson2:まずは体験|基本的なアプリを作ろう
Lesson3:文章業務を自動化するアプリを開発しよう
Lesson4:ファイル処理で広がるDifyアプリ開発
Lesson5:RAG実践|ナレッジ検索アプリを作ろう
Lesson6:機能拡張と外部システム連携|ツールを使いこなそう
・Lesson6-1:ツールとプラグインの違い・使い分け入門 ◁今回はここ
・Lesson6-2:
・Lesson6-3:
Lesson7:総仕上げ|実践投入への準備
ツールとプラグインの役割と違いを一発整理
ツールは、Difyアプリが外部サービスに対して「実際の作業」をさせるための機能です。
たとえば「Slackにメッセージを送る」「スプレッドシートに追記する」「検索して結果を取ってくる」など、アプリが何か行動するときの呼び出し先だと思うとイメージしやすいです。
一方のプラグインは、そうした機能(ツールなど)をワークスペースに追加して、使える状態にする仕組みです。
アプリの中で使う前段階として「この連携を使えるようにする」「チームで共通利用できるようにする」役割を担います。
つまり、プラグインは “追加して整える側” 、ツールは “実際に動かす側” という関係になりやすいです。
この感覚を持ったうえで、違いを表で整理していきます。
| 観点 | ツール | プラグイン |
|---|---|---|
| 役割 | AIに“実際の作業”をさせる機能 | 機能をワークスペースに追加・管理する仕組み |
| 使うタイミング | アプリの会話中やワークフロー実行中に呼び出す | まず最初にインストールして使える状態にする |
| 触る場所のイメージ | アプリ側(ワークフロー/エージェント等)で「どのツールをどう呼ぶか」を組む | ワークスペース側で「どの拡張を入れるか」を管理する |
| 具体例 | Web検索、Notionに保存、Google Sheetsに追記、Slack通知など | Slack連携を追加する拡張、特定ツール群をまとめて追加する拡張など |
| ありがちな勘違い | 「入れたのに動かない」→ 呼び出し手順が未設定 | 「ツールと同じ意味?」→ ツールを“提供する”プラグインが多いだけ |
ここで大事なのは、プラグインは “使えるようにする” までで、実際に仕事をさせるのはツールという点です。
たとえば「Slackのプラグインを入れた」だけでは、アプリが勝手に通知してくれるわけではありません。
ワークフローやエージェントの中で「このタイミングでSlackに送る」という形で、ツール呼び出しを組み込んで初めて動きます。
ツールとは|役割と使い方
ツールを使えるようになると、たとえば「検索して結果を持ってくる」「スプレッドシートに追記する」「チャットに通知する」みたいな “手を動かす作業” をアプリの中に組み込めます。
この章では、ツールを扱う流れを「導入(使える状態にする)」と「使い方(アプリから呼ぶ)」の2段階に分けて整理します。
ここが分かると、次の記事以降の外部連携がかなり楽になります。
ツールの導入:まずは使える状態にする
ツールは、アプリを作る画面でいきなり使うというより、先にワークスペース側で「使える状態」にしておくのが基本です。
といっても、プログラミングが必要になることは多くありません。
多くのケースでは、連携機能がまとまったものを追加して、必要な設定だけ入れれば準備できます。
導入の流れはだいたい次のようになります。
- 使いたい連携(例:Slack、Google Sheets、Notionなど)をワークスペースに追加する
- APIキーなど、認証情報が必要なら登録する
- ツール一覧にそのツールが表示されることを確認する
ここで大事なのは、「認証情報の設定」と「アプリの作成」は別物だという点です。
認証情報は “ツールが外部にアクセスするための鍵” なので、アプリの見た目やプロンプトとは独立して管理されます。
逆に言うと、鍵が未設定のままアプリ側でツールを呼ぼうとしても、当然うまく動きません。
ツールの使い方:ワークフローで呼び出すのが一番わかりやすい
ツールを呼ぶ方法はいくつかありますが、理解しやすくて再現性が高いのは「ワークフローの中にツール呼び出しの工程を置く」やり方です。
これまでのレッスンでワークフローに慣れてきた読者ほど、この方式が一番しっくり来るはずです。
ざっくり言うと、ワークフローの途中に「ツールを実行する工程」を差し込むイメージです。よくある形は次の通りです。
- LLMノードで「ツールに渡す入力」を整える(例:送信する文章、検索キーワードなど)
- ツールノードで外部サービスを呼び出す
- ツールの戻り値(成功/失敗、取得データなど)を使って、次のノードで返答を作る
たとえば「ユーザーの依頼文を整えてSlackへ通知する」なら、LLMで通知文を作ってからSlack送信ツールを呼び、最後に「送信しました」と返す、という流れになります。
ポイントは、ツールに渡す値を“その場で打ち込む”のではなく、前のノードから受け取った変数をつないで渡すことです。
ここができると、アプリが入力に応じて自然に動くようになります。
エージェントで使う場合:AIに「いつ呼ぶか」を任せられる
もうひとつの使い方が、エージェントにツールを持たせて「必要なら使っていいよ」という形にする方法です。
ワークフローのように手順を固定しなくても、エージェントが状況に応じてツールを選んで実行します。
ただし、初心者のうちは “便利そう” だけで何でも任せると挙動が読めなくなりがちです。
エージェントでツールを使うときは、次のような考え方が安全です。
- 使わせるツールは最小限に絞る(いきなり大量に渡さない)
- 「どんなときに使うか」を指示文で明確にする
- 重要な操作(書き込みや送信など)は、実行前に確認するルールにする
「まずはワークフローで確実に動かす」→「慣れたらエージェントで柔軟にする」の順番にすると、つまずきにくいです。
プラグインとは|役割と導入方法
ツールが「実際に作業をしてくれる機能」だとすると、プラグインはそれらをワークスペースに追加して、使える状態に整えるための仕組みです。
外部連携を増やしていくと、プラグインは「必要な連携を素早く追加して、チームや複数アプリで再利用するための土台」になってきます。
ここでは、プラグインを「入れる → 設定する → アプリで使う」という実務寄りの順番で押さえます。
プラグインの導入:Marketplaceから追加する流れ
プラグインはワークスペースのプラグイン画面から追加します。
- ワークスペースのメニューから「Plugins(プラグイン)」を開く
- Marketplace(マーケット)で目的のプラグインを探す
- Install(インストール)してワークスペースに追加する
- インストール済み一覧に表示されることを確認する
探すコツは「目的から逆算する」ことです。
たとえば「Slack通知をしたい」ならSlack系、「スプレッドシートに書きたい」ならSheets系、という感じで探すと迷いません。
認証情報の設定:鍵がないと“入れただけ”で終わる
プラグインを入れた直後に一番起きやすいのが、「追加できたのに、アプリから使えない」という状態です。
原因の多くは、認証情報(APIキーなど)が未設定なことです。
設定が必要な場合は、だいたい次のような情報を求められます。
- APIキー、アクセストークンなどの認証情報
- 接続先のURL(社内システム連携などで必要なことがあります)
- 利用する権限やスコープ(読み取りだけか、書き込みもするかなど)
ここは“作業”というより“運用”の話に近いので、可能なら「誰のキーで動かすか」もセットで決めておくと後で困りません。
個人のキーで作ってしまうと、異動や退職、権限変更で急に止まることがあります。
まとめ:プラグインで追加し、ツールで動かす
ツールとプラグイン入門として押さえたいのは、「何を追加して」「どこで動かすのか」の切り分けでした。
ここが整理できると、外部連携を増やすときに迷いが減ります。
改めてポイントだけ短くまとめると、次の通りです。
- プラグインは、連携機能(ツールなど)をワークスペースに追加して“使える状態にする”もの
- ツールは、アプリの実行中に呼び出して“実際の作業をさせる”もの
- 「プラグインを入れた=自動で動く」ではなく、ワークフローやエージェントの中で呼び出しを組み込んで初めて動く
次の記事からは、この整理を前提に「具体的な外部サービス連携」を実際に組んでいきます。
まずは小さな連携から試して、動く感覚を掴んでいきましょう。


