Connect Dify to WeCom (internal app)
Step-by-step guide to running your Dify app as a WeCom (internal app) bot with LangBot: Dify setup, bot credentials, networking, testing and troubleshooting.
This recipe puts your Dify app behind a WeCom (internal app) bot. LangBot receives messages from WeCom (internal app), runs them through a pipeline, and sends the answer back, so you do not write any platform code.
Dify builds chat assistants, Chatflows, Agents and Workflows. LangBot calls the published app through its Service API, so prompts, tools and knowledge stay in Dify.
What you need
- A running LangBot instance: LangBot Cloud (no server needed) or a self-hosted deployment with Docker or
uvx langbot. - A Dify account or instance that LangBot can reach over the network.
- A WeCom self-built app: Corporate ID, the app Secret, the Contact Sync Secret, and the callback Token and EncodingAESKey.
Networking
WeCom delivers messages to a callback URL, so LangBot needs a public domain with HTTPS (see reverse proxy and SSL). LangBot Cloud includes a ready-to-use public URL.
1. Prepare Dify
- Build and publish a Chat Assistant (including Chatflow), Agent or Workflow app in Dify.
- Open the app's Access API page and create an API key.
- For a Workflow app, output the answer under the key
summary.
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 | Dify (official Dify Agent runner plugin) |
| Base URL | https://api.dify.ai/v1 for Dify Cloud, or your own Dify address with /v1 appended |
| API Key | The key from the app's Access API page |
3. Create the WeCom (internal app) bot
- Create a bot with the WeCom adapter, enter the Corporate ID, app Secret and Contact Sync Secret, enable it and copy the webhook callback URL.
- In the WeCom admin console, open Receive Messages → Set API Reception, paste the URL, generate the Token and EncodingAESKey, save them in LangBot first and then in WeCom. Add LangBot's outbound IP to Corporate Trusted IP.
4. Bind and test
Open the bot, select the pipeline you created, save and make sure the bot is enabled.
Open the app in the WeCom client and send it a message.
Troubleshooting
- Self-hosted Dify in Docker on the same host: put both stacks on a shared Docker network and use the container address (for example
http://dify-nginx/v1), notlocalhost. - Chatflow apps only return what the Answer node outputs.
- request URL failed when saving the callback: the URL is not publicly reachable over HTTPS, or the Token/EncodingAESKey in LangBot does not match.
- Replies fail to send: add LangBot's outbound IP to the corporate trusted IP list.
- 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 WeCom (internal app)?
Yes, or use LangBot Cloud. WeCom delivers messages to a callback URL, so LangBot needs a public domain with HTTPS (see reverse proxy and SSL). LangBot Cloud includes a ready-to-use public URL.
Does the WeCom (internal app) bot support streaming replies?
Check the platform feature matrix for what this platform supports. Replies are delivered once the AI back end has finished.
Can the same Dify 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 WeCom (internal app) setup guide
- Full Dify runner guide
- Other AI back ends on WeCom (internal app): n8n · Coze · Langflow · DeepSeek · OpenAI (ChatGPT models)
- Dify on other platforms: Telegram · Discord · Slack · Lark (Feishu) · DingTalk · WeCom Intelligent Bot
Connect Dify to DingTalk
Step-by-step guide to running your Dify app as a DingTalk bot with LangBot: Dify setup, bot credentials, networking, testing and troubleshooting.
Connect Dify to WeCom Intelligent Bot
Step-by-step guide to running your Dify app as a WeCom Intelligent Bot bot with LangBot: Dify setup, bot credentials, networking, testing and troubleshooting.
