# Build a WeCom Intelligent Bot AI Bot with Gemini

Source: https://langbot.app/docs/en/recipes/gemini/wecombot

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

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

Use Google's Gemini models with LangBot's built-in Agent, including image input when the model supports vision.

## 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 Gemini account or server you can call from LangBot.
- A WeCom intelligent bot in **long connection** API mode: its **BotID** and long-connection **Secret**. One-click setup can fill both.

## Networking

Long connection mode needs no public callback URL. The alternative callback-URL mode does, and the two modes cannot be used at the same time.

## 1. Add the Gemini model

1. Create an API key in the Google Gemini console.
2. In LangBot, open **Models**, add an LLM model with the provider set to Google Gemini, 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. Create the key in Google AI Studio. Enable **Vision** on the model if you want the bot to read images.

## 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 Intelligent Bot bot

1. Create a bot with the **WeCom Intelligent Bot** adapter and use **One-Click Setup**, or create the bot in WeCom, switch its API mode to **long connection** and enter the BotID and Secret.
2. Set the bot's visibility scope so the right people can use it, then save and enable.

## 4. Bind and test

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

Find the bot in the WeCom client, chat with it directly, then add it to a group chat and mention it.

## Troubleshooting

- Images are ignored: enable **Vision** on the model and check that the platform adapter forwards images.
- The long-connection Secret differs from the callback Token/EncodingAESKey. Switching the API mode to callback URL invalidates existing long connections.
- 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 Intelligent Bot?

No. Long connection mode needs no public callback URL. The alternative callback-URL mode does, and the two modes cannot be used at the same time.

### Does the WeCom Intelligent Bot bot support streaming replies?

Yes. Enable streaming on the bot; the AI back end must also stream. See the [platform feature matrix](https://langbot.app/docs/en/insight/platform-features.md) for details.

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