Connect Langflow to DingTalk
Step-by-step guide to running your Langflow app as a DingTalk bot with LangBot: Langflow setup, bot credentials, networking, testing and troubleshooting.
This recipe puts your Langflow app behind a DingTalk bot. LangBot receives messages from DingTalk, runs them through a pipeline, and sends the answer back, so you do not write any platform code.
Langflow builds agents and flows with a drag-and-drop editor. LangBot runs a flow through the Langflow API for every message.
What you need
- A running LangBot instance: LangBot Cloud (no server needed) or a self-hosted deployment with Docker or
uvx langbot. - A Langflow account or instance that LangBot can reach over the network.
- A DingTalk app robot (Client ID and Client Secret). The one-click setup fills both after you authorize on your phone.
Networking
In Stream Mode LangBot connects out to DingTalk, so no public callback URL is needed.
1. Prepare Langflow
- Build a flow in Langflow (the Simple Agent template is a good start).
- Create an API key under Settings.
- Copy the Flow ID from Share → API access.
2. Create a pipeline
Open Pipelines in the LangBot WebUI, create a pipeline (or edit the default one) and set AI as follows. If the runner is not listed, install the official runner plugin from Plugins or the LangBot Space marketplace.
| Field | Value |
|---|---|
| Runner | Langflow (official Langflow Agent runner plugin) |
| Base URL | Your Langflow address, reachable from LangBot |
| API Key | The Langflow API key |
| Flow ID | The flow to run |
3. Create the DingTalk bot
- Create a bot with the DingTalk adapter and use One-Click Setup, or create the robot manually and enter its credentials.
- Use Stream Mode for event delivery. For streaming replies, import LangBot's
dingtalk_stream_card.jsoncard template, enable Use Card Replies and paste the Card Template ID.
4. Bind and test
Open the bot, select the pipeline you created, save and make sure the bot is enabled.
Message the robot directly, then add it to a group and @mention it.
Troubleshooting
- Connection refused:
http://localhost:7860only works when Langflow runs on the same host and network namespace as LangBot. - Replies arrive as plain text instead of streaming: the card template is not imported or Use Card Replies is off.
- Messages do not arrive: publish the app version and check that Stream Mode is selected under event subscriptions.
- Check Monitoring in the WebUI: every message, pipeline run and error is recorded there.
FAQ
Do I need a server with a public IP for DingTalk?
No. In Stream Mode LangBot connects out to DingTalk, so no public callback URL is needed.
Does the DingTalk bot support streaming replies?
Yes. Enable streaming on the bot; the AI back end must also stream. See the platform feature matrix for details.
Can the same Langflow setup serve other platforms too?
Yes. A pipeline can be bound to many bots, so one configuration can answer on several platforms at once.
Related guides
- Full DingTalk setup guide
- Full Langflow runner guide
- Other AI back ends on DingTalk: Dify · n8n · Coze · DeepSeek · OpenAI (ChatGPT models)
- Langflow on other platforms: Telegram · Discord · Slack · Lark (Feishu) · WeCom (internal app) · WeCom Intelligent Bot
Connect Langflow to Lark (Feishu)
Step-by-step guide to running your Langflow app as a Lark (Feishu) bot with LangBot: Langflow setup, bot credentials, networking, testing and troubleshooting.
Connect Langflow to WeCom (internal app)
Step-by-step guide to running your Langflow app as a WeCom (internal app) bot with LangBot: Langflow setup, bot credentials, networking, testing and troubleshooting.
