ツールプラグインの導入と設定
Difyでツールプラグインを導入し、チャットフローから外部APIや追加機能を呼び出すための設定手順をまとめます。
本手順は一般的なDifyの仕様に基づいています。バージョンによりUIの表記が異なる場合があります。
1. ビルトインツールの設定
1.1 Google Search(SerpAPI)設定例
手順A:SerpAPIアカウント準備
https://serpapi.com/ にアクセス
アカウントを作成(無料プランあり)
ダッシュボードからAPI Keyを取得
手順B:Dify側での設定

左メニューから 「ツール」 を開く
一覧(または検索)で 「Google Search」 を探す
「認証」(または設定/Configure)を開く
SerpAPI Key を入力
保存
よくある注意点
API Keyが未設定だと、ツール呼び出し時に失敗します(空の結果、認証エラーなど)。
環境(クラウド/セルフホスト、権限)により、表示文言が「ツール」「プラグイン」などに揺れる場合があります。
2. カスタムツールの作成
Difyのカスタムツールは、基本的に OpenAPI(Swagger)形式で定義します。
2.1 OpenAPI定義(例)
2.2 カスタムツール登録手順

左メニュー 「ツール」→「カスタムツール」 を開く
「カスタムツールを作成」 を選択
基本情報(名称、説明など)を入力
項目入力内容名前
ツールの識別名(英数字推奨)
説明
ツールの用途(LLMが参照)
スキーマ
OpenAPI仕様(YAML/JSON)
OpenAPI仕様を貼り付け/アップロード
認証が必要なら認証方式を設定
認証タイプ用途なし
認証不要のAPI
API Key
ヘッダーまたはクエリでキー送信
Basic認証
ユーザー名/パスワード
Bearer Token
OAuthトークン
保存
2.3 認証設定(API Key例)
キーは漏洩しないよう権限・保管・ローテーションを設計してください。
3. チャットフローでのツール利用
3.1 ツールノードの追加

手順
チャットフロー編集画面を開く
「+」→「ツール」 を選択
使用するツール(ビルトイン/カスタム)を選択
3.2 パラメータ設定

手順
ツールに渡す入力(クエリ、ID、本文など)を、フロー内の変数と接続します。
出力は後続ノード(LLM、条件分岐、整形ノードなど)で利用します。
3.3 LLMによるツール自動選択
LLMノード側で、状況に応じてツールを選択・実行できるようにします。
手順
LLMノードを選択
「ツール」 セクションを開く
使用を許可するツールを選択
「ツール呼び出しを許可」 をON
ツール選択を制御する指示例(システムプロンプト)
4. エラーハンドリング(失敗時設計)
4.1 IF/ELSEでの分岐例
条件例:
tool_output is emptyTrue: 「申し訳ありません、情報を取得できませんでした」
False:通常処理へ
4.2 タイムアウト設定(目安)
ビルトインツール:10〜30秒
カスタムツール:API特性(平均応答、最大応答)に応じて調整
5. デジタルヒューマン向けベストプラクティス
5.1 応答速度の最適化
ツール使用は必要最小限にする
並列実行できるツールは同時に実行
キャッシュ可能な情報は事前取得
タイムアウトは短め(例:5〜10秒)を検討
5.2 フォールバック設計
ツール失敗時も会話を継続できる設計
「調べています」などの中間応答を用意
エラー時の代替回答(次の質問誘導、別手段提示)を準備
Note: デジタルヒューマンでは応答の自然さが重要です。ツール実行中の待ち時間が長いと、ユーザー体験が損なわれる可能性があります。
付録:ツールノードでよく使う設定項目
ツール名:フロー内で識別しやすい名前
入力パラメータ:ツールに渡す値(変数で指定)
タイムアウト:外部APIの待ち時間上限
エラーハンドリング:失敗時の挙動(スキップ、デフォルト値など)
Difyでツールプラグインを導入し、チャットフローで活用するための設定手順を解説します。
最終更新
