# Build a WeCom Customer Service AI Bot with Claude

Source: https://langbot.app/docs/en/recipes/claude/wecomcs

Step-by-step guide to running a Claude-powered AI bot on WeCom Customer Service with LangBot: model setup, bot credentials, networking, testing and troubleshooting.

This recipe puts a Claude model behind a WeCom Customer Service bot. LangBot receives messages from WeCom Customer Service, runs them through a pipeline, and sends the answer back, so you do not write any platform code.

Use Anthropic's Claude models with LangBot's built-in Agent, including tool use with MCP servers, Skills and the code sandbox.

## 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 Claude account or server you can call from LangBot.
- WeCom Customer Service (WeChat Kefu) with API access: **Corporate ID**, **Secret**, and a callback **Token** and **EncodingAESKey**.

## Networking

Customer Service delivers events to a callback URL, so LangBot needs a public HTTPS address. LangBot Cloud includes one.

## 1. Add the Claude model

1. Create an API key in the Anthropic console.
2. In LangBot, open **Models**, add an LLM model with the provider set to Anthropic, then paste the API key and the model ID.
3. Enable **Tool Use** if the model supports function calling; MCP tools, Skills and the sandbox need it.
4. Keep the provider's default request URL unless you use a gateway. Use a current Claude model ID from Anthropic's documentation.

## 2. Create a pipeline

Open **Pipelines** in the LangBot WebUI, create a pipeline (or edit the default one) and set **AI** as follows.

| Field           | Value                                                                  |
| --------------- | ---------------------------------------------------------------------- |
| Runner          | **Local Agent** (built-in Agent)                                       |
| Model           | The model you just added. You can add fallback models.                 |
| Prompt          | Instructions: who the bot is, tone, what it must not do.               |
| Knowledge Bases | Optional. Attach a knowledge base so answers come from your documents. |

## 3. Create the WeCom Customer Service bot

1. In WeCom Customer Service **Developer Settings**, generate the Token and EncodingAESKey and enter them with the Corporate ID in a bot using the **WeCom Customer Service** adapter.
2. Enable the bot, paste its webhook callback URL into the admin console, then fill in the Secret and restart the bot. Generate the customer service link or QR code users will open.

## 4. Bind and test

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

Open the customer service link or scan the QR code in WeChat and send a message.

## Troubleshooting

- The agent never calls tools: enable **Tool Use** on the model.
- Welcome messages can only be sent when WeChat supplies a `welcome_code`, and only once before it expires.
- 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 Customer Service?

Yes, or use LangBot Cloud. Customer Service delivers events to a callback URL, so LangBot needs a public HTTPS address. LangBot Cloud includes one.

### Does the WeCom Customer Service 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 Claude 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 Customer Service setup guide](https://langbot.app/docs/en/usage/platforms/wecom/wecomcs.md)
- [Model configuration](https://langbot.app/docs/en/usage/models/readme.md)
- Other AI back ends on WeCom Customer Service: [Dify](https://langbot.app/docs/en/recipes/dify/wecomcs.md) · [n8n](https://langbot.app/docs/en/recipes/n8n/wecomcs.md) · [Coze](https://langbot.app/docs/en/recipes/coze/wecomcs.md) · [Langflow](https://langbot.app/docs/en/recipes/langflow/wecomcs.md) · [DeepSeek](https://langbot.app/docs/en/recipes/deepseek/wecomcs.md)
- Claude on other platforms: [Telegram](https://langbot.app/docs/en/recipes/claude/telegram.md) · [Discord](https://langbot.app/docs/en/recipes/claude/discord.md) · [Slack](https://langbot.app/docs/en/recipes/claude/slack.md) · [Lark (Feishu)](https://langbot.app/docs/en/recipes/claude/lark.md) · [DingTalk](https://langbot.app/docs/en/recipes/claude/dingtalk.md) · [WeCom (internal app)](https://langbot.app/docs/en/recipes/claude/wecom.md)
