Allow one Chatflow to invoke another Chatflow #16251

Closed
opened 2026-02-21 19:25:18 -05:00 by yindo · 2 comments
Owner

Originally created by @zhouguoqing on GitHub (Aug 18, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • Please do not modify this template :) and fill in all the required fields.

1. Is this request related to a challenge you're experiencing? Tell me about your story.

Use case / Scenario
In some complex AI applications, we often need to break down logic into modular chatflows. For example:
• A main chatflow handles user input and determines which sub-task to execute.
• Depending on the context, it should be able to call another chatflow (e.g., for knowledge retrieval, document analysis, or data processing).
• Each sub-chatflow can be independently maintained, reused, and tested.

Currently, Chatflow runs as an isolated workflow, but lacks the ability to directly trigger or invoke another Chatflow. This makes it difficult to design reusable building blocks and forces us to duplicate logic in multiple flows.

Expected behavior
• Provide a Chatflow child node in a Chatflow
• Support passing input/output variables between Chatflows.
• Ensure sub-chatflows can return results back to the main chatflow.

Benefits
• Better modularity and reusability of flows.
• Easier maintenance (logic only defined once, reused across projects).
• Enables orchestration of complex workflows in a structured manner.

2. Additional context or comments

No response

3. Can you help us with this feature?

  • I am interested in contributing to this feature.
Originally created by @zhouguoqing on GitHub (Aug 18, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] Please do not modify this template :) and fill in all the required fields. ### 1. Is this request related to a challenge you're experiencing? Tell me about your story. Use case / Scenario In some complex AI applications, we often need to break down logic into modular chatflows. For example: • A main chatflow handles user input and determines which sub-task to execute. • Depending on the context, it should be able to call another chatflow (e.g., for knowledge retrieval, document analysis, or data processing). • Each sub-chatflow can be independently maintained, reused, and tested. Currently, Chatflow runs as an isolated workflow, but lacks the ability to directly trigger or invoke another Chatflow. This makes it difficult to design reusable building blocks and forces us to duplicate logic in multiple flows. Expected behavior • Provide a Chatflow child node in a Chatflow • Support passing input/output variables between Chatflows. • Ensure sub-chatflows can return results back to the main chatflow. Benefits • Better modularity and reusability of flows. • Easier maintenance (logic only defined once, reused across projects). • Enables orchestration of complex workflows in a structured manner. ### 2. Additional context or comments _No response_ ### 3. Can you help us with this feature? - [x] I am interested in contributing to this feature.
yindo added the 💪 enhancement🌊 feat:workflow labels 2026-02-21 19:25:18 -05:00
yindo closed this issue 2026-02-21 19:25:18 -05:00
Author
Owner

@crazywoola commented on GitHub (Aug 18, 2025):

You can publish a chatflow as MCP server and call it in another chatflow.

@crazywoola commented on GitHub (Aug 18, 2025): You can publish a chatflow as MCP server and call it in another chatflow.
Author
Owner

@crazywoola commented on GitHub (Aug 18, 2025):

Maintain the consistency is rather complicated between chatflows and workflows. I don't think it's a good idea to introduce a new node to do this.

Thoughts?

And I saw you mentioned Trigger which is a ongoing task https://github.com/langgenius/dify/issues/23981, you can see the details here.

@crazywoola commented on GitHub (Aug 18, 2025): Maintain the consistency is rather complicated between chatflows and workflows. I don't think it's a good idea to introduce a new node to do this. Thoughts? And I saw you mentioned Trigger which is a ongoing task https://github.com/langgenius/dify/issues/23981, you can see the details here.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#16251