# Connect Langflow to Lark (Feishu)

Source: https://langbot.app/docs/en/recipes/langflow/lark

Step-by-step guide to running your Langflow app as a Lark (Feishu) bot with LangBot: Langflow setup, bot credentials, networking, testing and troubleshooting.

This recipe puts your Langflow app behind a Lark (Feishu) bot. LangBot receives messages from Lark (Feishu), 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](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 Langflow account or instance that LangBot can reach over the network.
- A Feishu or Lark custom app (`app_id` and `app_secret`). The one-click setup in LangBot can create and authorize it for you.

## Networking

The default WebSocket long connection needs no public IP. Where long connection is unavailable (for example some Lark international setups), webhook mode requires a public HTTPS address; LangBot Cloud includes one.

## 1. Prepare Langflow

1. Build a flow in Langflow (the Simple Agent template is a good start).
2. Create an API key under **Settings**.
3. 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](https://space.langbot.app/market).

| 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 Lark (Feishu) bot

1. Create a bot with the **Lark** adapter, select the platform domain (Feishu or Lark) and use **One-Click Setup**, or enter `app_id` and `app_secret` manually.
2. Add the message permissions and event subscriptions from the guide (and the card permissions if you want streaming cards), then publish an app version.

## 4. Bind and test

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

Search for the bot in Feishu/Lark, send it a direct message, then add it to a group and mention it.

## Troubleshooting

- Connection refused: `http://localhost:7860` only works when Langflow runs on the same host and network namespace as LangBot.
- No messages arrive: confirm the app version is published and the event subscription uses the same mode (long connection or webhook) as LangBot.
- 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 Lark (Feishu)?

Not necessarily. The default WebSocket long connection needs no public IP. Where long connection is unavailable (for example some Lark international setups), webhook mode requires a public HTTPS address; LangBot Cloud includes one.

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