# Connect Coze to WeChat Official Account

Source: https://langbot.app/docs/en/recipes/coze/wechat-official-account

Step-by-step guide to running your Coze app as a WeChat Official Account bot with LangBot: Coze setup, bot credentials, networking, testing and troubleshooting.

This recipe puts your Coze app behind a WeChat Official Account bot. LangBot receives messages from WeChat Official Account, runs them through a pipeline, and sends the answer back, so you do not write any platform code.

Coze builds agents visually. LangBot calls a Coze bot through the Coze API, so you can reach platforms Coze does not publish to and keep one bot across many channels.

## What you need

- A running LangBot instance: [LangBot Cloud](https://space.langbot.app/cloud) (no server needed) or a [self-hosted deployment](https://langbot.app/docs/en/deploy/langbot/docker.md) with Docker or `uvx langbot`.
- A Coze account or instance that LangBot can reach over the network.
- A WeChat Official Account or Service Account: **AppID**, **AppSecret**, a server **Token** and **EncodingAESKey**, with LangBot's server IP in the **IP whitelist**.

## Networking

Official Accounts require a public domain with HTTPS and must get a response within 5 seconds. Slow AI replies need `passive` or `auto` mode. LangBot Cloud includes a public domain.

## 1. Prepare Coze

1. In the Coze developer console, create a token under **API Management** (coze.com offers Personal Access Tokens; coze.cn also supports service credentials).
2. Publish your agent with the **API** channel selected and copy its `bot_id`.

## 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](https://space.langbot.app/market).

| Field        | Value                                                                    |
| ------------ | ------------------------------------------------------------------------ |
| Runner       | **Coze** (official Coze Agent runner plugin)                             |
| API Key      | The Coze token                                                           |
| Bot ID       | The agent's `bot_id`                                                     |
| API Base URL | `https://api.coze.cn` for coze.cn or `https://api.coze.com` for coze.com |

## 3. Create the WeChat Official Account bot

1. Create a bot with the **WeChat Official Account** adapter and choose a reply mode: `drop` (reply within the 5-second callback), `passive` or `auto` (answer later through the customer service API when the account is enterprise-verified).
2. Paste the bot's callback URL into the account's server configuration and save.

## 4. Bind and test

Open the bot, select the pipeline you created, save and make sure the bot is enabled.

Follow the account in WeChat and send it a message.

## Troubleshooting

- Calls fail: check the token and `bot_id` for extra spaces, that the agent was published with the API channel, and that the base URL matches the Coze site.
- Users see the loading message but no answer: in `passive` mode (or after `auto` falls back) the user must send another message to retrieve the queued answer.
- Customer service messages require an enterprise-verified account; identity verification alone is not enough.
- 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 WeChat Official Account?

Yes, or use LangBot Cloud. Official Accounts require a public domain with HTTPS and must get a response within 5 seconds. Slow AI replies need `passive` or `auto` mode. LangBot Cloud includes a public domain.

### Does the WeChat Official Account bot support streaming replies?

Check the [platform feature matrix](https://langbot.app/docs/en/insight/platform-features.md) for what this platform supports. Replies are delivered once the AI back end has finished.

### Can the same Coze 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 WeChat Official Account setup guide](https://langbot.app/docs/en/usage/platforms/wxoa.md)
- [Full Coze runner guide](https://langbot.app/docs/en/usage/pipelines/coze.md)
- Other AI back ends on WeChat Official Account: [Dify](https://langbot.app/docs/en/recipes/dify/wechat-official-account.md) · [n8n](https://langbot.app/docs/en/recipes/n8n/wechat-official-account.md) · [Langflow](https://langbot.app/docs/en/recipes/langflow/wechat-official-account.md) · [DeepSeek](https://langbot.app/docs/en/recipes/deepseek/wechat-official-account.md) · [OpenAI (ChatGPT models)](https://langbot.app/docs/en/recipes/openai/wechat-official-account.md)
- Coze on other platforms: [Telegram](https://langbot.app/docs/en/recipes/coze/telegram.md) · [Discord](https://langbot.app/docs/en/recipes/coze/discord.md) · [Slack](https://langbot.app/docs/en/recipes/coze/slack.md) · [Lark (Feishu)](https://langbot.app/docs/en/recipes/coze/lark.md) · [DingTalk](https://langbot.app/docs/en/recipes/coze/dingtalk.md) · [WeCom (internal app)](https://langbot.app/docs/en/recipes/coze/wecom.md)
