Difyのチャットフローとワークフローの違い|選び方と作り方
・ Employee Store 運用局

この記事のまとめ
Difyのチャットフローとワークフローは、同じ画面とノードで作りますが、動き方が違います。チャットフローは会話のたびに動き、ワークフローは1回で処理を終えます。この記事では、2つの違いと選び方、作り方と公開の方法を、2026年10月に公式ドキュメントで確かめた内容で説明します。
Difyのチャットフローとワークフローの違いは、利用者とのやり取りの形にあります。どちらもノードをつないで処理の流れを作る点は同じです。公式ドキュメントは、新しくアプリを作るときに、この2つのどちらかを選ぶよう勧めています。
この記事の内容は、2026年10月2日に Dify の公式ドキュメントと料金ページで確かめたものです。画面の名前は英語のまま書きます。使う前に、末尾の出典で最新の内容を確かめてください。
2つの違いを1枚で
チャットフロー(Chatflow)
- メッセージのたびに流れが動く
- User Input から始まる
- Answer ノードで返す(必須)
- 会話ごとの変数とメモリを持てる
ワークフロー(Workflow)
- 最初から最後まで1回で動く
- User Input かトリガーから始まる
- Output ノードで返す(任意)
- まとめて実行やツール化ができる
2つは同じキャンバスとノードの仕組みの上にあります。ノードを置き、つなぎ、設定するのが作業の中心です。コードは、処理の上で必要なときだけ書きます。
チャットフロー:会話を続けるアプリ
Difyのチャットフローは、ワークフローに会話の層を足したアプリです。利用者はチャット画面でメッセージを送ります。メッセージのたびに、作った流れが動いてから返事が出ます。
裏で決まった処理をしながら会話するアプリに向いています。たとえば、質問を分類してから資料を探して答える問い合わせ窓口です。
チャットフローだけの機能
- 会話変数:1つの会話の中で、ターンをまたいで値を保つ。Variable Assigner ノードで値を書き換える
- メモリ:LLM ノードで、前のやり取りを覚えさせる
- 途中での表示:Answer ノードを複数置き、処理の途中で文字や画像、ファイルを順に返す
- 会話の情報:会話のID(sys.conversation_id)や、何ターン目か(sys.dialogue_count)を使える
Answer ノードは、中に書いた変数の順番に沿って少しずつ表示します。上流のノードの実行順ではない点に注意します。先に書いた変数がそろうまで、後ろの内容は表示されません。
チャットフローの作り方
Studio で Create from Blank から Chatflow を選びます。公式チュートリアルの簡単なチャットボットは、次の形です。
- 1User Input利用者のメッセージを受ける
- 2LLM質問を読み、決まった形で答えを作る
- 3Code答えの一部を使って追加の情報を引く
- 4Answer質問、答え、追加の情報をまとめて返す
LLM ノードの Structured Output を入れると、答えを決まった項目の形で受け取れます。後ろのノードは、その項目を変数として使えます。
資料に沿って答える問い合わせ窓口の例は、公式チュートリアルの Customer Service Bot With Knowledge Base にあります。Question Classifier で質問を分け、Dify に関する質問のときだけナレッジを探して、LLM に答えを作らせます。関係のない質問には、Answer ノードで決まった文を返します。
ワークフロー:1回で処理を終えるアプリ
Difyのワークフローは、入力を受け取り、流れを最初から最後まで1回動かして結果を返します。報告書の作成、データの処理、まとめての一括処理などに向いています。会話の状態は持たず、呼び出しは毎回独立しています。
始まり方は2種類
- User Input:利用者や API の呼び出しで動く。Webアプリ、MCPサーバー、API、ほかのアプリのツールとして公開できるのは、この始まり方だけ
- Trigger:自動で動く。決まった時刻に動く Schedule、外部サービスの出来事で動く Integration、HTTP のリクエストで動く Webhook の3つ
Sandbox プランでは、1つのワークフローに置けるトリガーは2つまでです。トリガーで動いた実行の回数にも、月ごとの上限があります。料金ページでは、Sandbox が3,000回、Professional が毎月20,000回です。
ワークフローの作り方
Studio で Create from Blank から Workflow を選び、始まりのノードを決めます。結果を返すには Output ノードを置きます。Output ノードは任意です。ただし、Output ノードのない流れは、呼び出した側に何も返しません。Output で付けた変数名は、API の応答のキーになります。
Webアプリとして公開すると、入力欄は User Input の項目から自動で作られます。Run Batch のタブでは、CSVのひな形を取り出し、1行に1件ずつ入力を書いて、まとめて流せます。結果はCSVで書き出せます。
ワークフローのサンプルとしては、公式の30分クイックスタートが参考になります。下書きと投稿先を受け取り、SNSごとの投稿文を作る例です。User Input で入力を集め、Parameter Extractor で投稿先を一覧の形に直し、IF/ELSE で入力の誤りを分けてから文章を作ります。
作りたいものから選ぶ
利用者とどうやり取りするか
迷ったら、利用者が2回目の発言をするかどうかで決めます。2回目がないなら、ワークフローのほうが扱いやすくなります。エージェントに作業を任せる作り方はDifyでエージェントを作るで説明しています。
よく使うノードの組み合わせ
ノードは、2つのアプリでほぼ共通です。公式チュートリアルや説明にある組み合わせを挙げます。
- 資料に沿って答える:Knowledge Retrieval で探し、LLM に文脈として渡し、Answer で返す
- 質問で振り分ける:Question Classifier で質問を分け、資料が要らない質問には Answer で直接返す
- 文章から値を取り出す:Parameter Extractor で、自由な文章を決まった形のデータに直す
- 一覧を1件ずつ処理する:Iteration で、配列の要素ごとに同じ処理を流す
- 外部とやり取りする:HTTP Request や Tool で、API やサービスを呼ぶ
- 整えて出す:Template で、Jinja2 の書き方で出力の形を整える
Code ノードでは、Python か JavaScript を書けます。If-Else は条件で流れを分け、Variable Aggregator は分かれた流れを1つにまとめます。
公開とAPIでの呼び出し
どちらのアプリも、Publish を押すと最新の設定が公開されます。WebアプリのURLは Access Point のタブに出ます。公開すると、動いているアプリが今の設定に置き換わります。
| 比べる点 | チャットフロー | ワークフロー |
|---|---|---|
| Webアプリ | 会話の履歴が残るチャット画面 | 入力欄と結果の画面。CSVでまとめて実行できる |
| APIのモード名 | advanced-chat | workflow |
| 主なAPI | Send Chat Message | Run Workflow |
| 状態 | 前のターンが文脈として残る | 呼び出しごとに独立 |
API キーは、アプリの中で作ります。キーはそのアプリ専用です。Dify Cloud の API の基本のURLは https://api.dify.ai/v1 です。キーは必ずサーバー側で使います。画面のコードに入れると、抜き取られて悪用されるおそれがあります。
どちらの API も、結果を少しずつ受け取るストリーミングと、終わってからまとめて受け取る方法を選べます。ワークフローの Webアプリでまとめて実行する場合、CSV は UTF-8 で保存します。
作ったアプリは、DSL という YAML のファイルに書き出して、別のワークスペースに取り込めます。手順はDifyのDSLを書き出す方法で説明しています。
作ったアプリを Employee Store に出品する
Employee Store は、開発者が作ったAIエージェントを、会社が買い切りや月額で導入できるマーケットプレイスです。形式は問いません。Dify のワークフローも掲載できます。掲載料と初期費用はかかりません。手数料は成約金額の20%で、成約したときだけ発生します。詳しくは出品者向けの案内をご覧ください。
よくある質問
- チャットフローをワークフローのツールとして使えますか?
- 使えません。ツールにできるのは、User Input から始まるワークフローだけです。ほかのアプリやエージェントから呼びたい処理は、ワークフローで作ります。
- チャットフローでトリガーは使えますか?
- 使えません。チャットフローは必ず利用者のメッセージから始まります。決まった時刻や外部の出来事で動かしたい場合は、ワークフローでトリガーを使います。
- Webアプリと API で、同じ会話を続けられますか?
- 公式ドキュメントによると、API は Webアプリで作られた会話を共有しません。同じ利用者のIDでも、API と Webアプリでは会話の履歴が別になります。
出典
- Dify Docs「Workflow & Chatflow」
- Dify Docs「Key Concepts」
- Dify Docs「Answer node」
- Dify Docs「Output node」
- Dify Docs「Start Node」
- Dify Docs「Trigger」
- Dify Docs「Dify Tools」
- Dify Docs「Simple Chatbot」
- Dify Docs「Customer Service Bot With Knowledge Base」
- Dify Docs「30-Minute Quick Start」
- Dify Docs「Workflow Web Apps」
- Dify Docs「Get Started with the Dify API」
- Dify Docs「Chatflow App API」
- Dify Docs「Workflow App API」
- Dify「Pricing」(2026年10月2日確認)
- Employee Store「出品者向け案内」


