# n8n を Lark（Feishu） に接続する

Source: https://langbot.app/docs/ja/recipes/n8n/lark

LangBot で n8n アプリを Lark（Feishu） のボットとして動かす手順：n8n の設定、ボットの認証情報、ネットワーク、テスト、トラブルシューティング。

このレシピではお使いの n8n アプリを Lark（Feishu） のボットにつなぎます。LangBot が Lark（Feishu） のメッセージを受け取り、パイプラインで処理して返信するので、プラットフォーム連携のコードは不要です。

n8n がワークフローを実行し、LangBot がチャットプラットフォーム、セッション、配信を担当します。メッセージごとに Webhook でワークフローを呼び出します。

## 必要なもの

- 稼働中の LangBot：[LangBot Cloud](https://space.langbot.app/cloud)（サーバー不要）、または Docker や `uvx langbot` による[セルフホスト](https://langbot.app/docs/ja/deploy/langbot/docker.md)。
- LangBot からネットワーク経由で到達できる n8n のアカウントまたはインスタンス。
- Feishu または Lark のカスタムアプリ（`app_id` と `app_secret`）。LangBot のワンクリック設定で作成と認可ができます。

## ネットワーク

既定の WebSocket 長期接続では公開 IP は不要です。長期接続が使えない場合（一部の Lark 国際版など）は Webhook モードとなり、公開 HTTPS アドレスが必要です。LangBot Cloud には最初から用意されています。

## 1. n8n を準備する

1. ワークフローを **Webhook** または **On chat message** トリガーで開始します。ストリーミング返信には **Response Mode** を **Streaming** にします。
2. **AI Agent** ノード（ストリーミング）か **Respond to Webhook** ノードで応答し、応答キー名を LangBot の出力キー名と一致させます。
3. **Active** でワークフローを有効にし、本番用 Webhook URL をコピーします。

## 2. パイプラインを作成する

LangBot WebUI の **パイプライン** でパイプラインを作成（または既定のものを編集）し、**AI** を次のように設定します。ランナーが一覧にない場合は、**プラグイン** または [LangBot Space マーケット](https://space.langbot.app/market) から公式ランナープラグインをインストールします。

| 項目          | 設定値                                          |
| ----------- | -------------------------------------------- |
| ランナー        | **n8n**（公式 n8n ワークフローランナープラグイン）              |
| Webhook URL | ワークフローの本番用 Webhook URL                       |
| 認証方式        | なし、Basic Auth、JWT、Header のいずれか（トリガーノードと同じ設定） |

## 3. Lark（Feishu） のボットを作成する

1. **Lark** アダプターでボットを作成し、プラットフォームのドメイン（Feishu / Lark）を選んで **ワンクリック設定** を使うか、`app_id` と `app_secret` を手動入力します。
2. ガイドに沿ってメッセージ権限とイベント購読（ストリーミングカードを使う場合はカード権限も）を追加し、アプリのバージョンを公開します。

## 4. 紐付けてテストする

ボットを開いて作成したパイプラインを選び、保存してボットが有効になっていることを確認します。

Feishu/Lark でボットを検索して DM を送り、グループに追加してメンションでも試します。

## トラブルシューティング

- 返信が空の場合は、**Respond to Webhook** のキー名が LangBot の出力キー名と一致しているか確認します。
- テスト URL はエディターが待ち受けている間しか使えません。有効化したワークフローの本番 URL を使います。
- メッセージが届かない場合は、アプリのバージョンが公開済みか、イベント購読方式（長期接続 / Webhook）が LangBot 側と一致しているかを確認します。
- WebUI の **モニタリング** に、すべてのメッセージ、パイプラインの実行、エラーが記録されます。

## よくある質問

### Lark（Feishu） には公開 IP のあるサーバーが必要ですか？

必ずしも必要ではありません。既定の WebSocket 長期接続では公開 IP は不要です。長期接続が使えない場合（一部の Lark 国際版など）は Webhook モードとなり、公開 HTTPS アドレスが必要です。LangBot Cloud には最初から用意されています。

### Lark（Feishu） のボットはストリーミング返信に対応していますか？

はい。ボットでストリーミングを有効にし、AI 側もストリーミングに対応している必要があります。詳しくは[プラットフォーム機能一覧](https://langbot.app/docs/ja/insight/platform-features.md)をご覧ください。

### 同じ n8n の設定を他のプラットフォームでも使えますか？

はい。1 つのパイプラインを複数のボットに紐付けられるので、同じ設定で複数のプラットフォームに同時に応答できます。

## 関連ガイド

- [Lark（Feishu） の詳しい設定ガイド](https://langbot.app/docs/ja/usage/platforms/lark.md)
- [n8n ランナーの詳しいガイド](https://langbot.app/docs/ja/usage/pipelines/n8n.md)
- Lark（Feishu） で使える他の AI：[Dify](https://langbot.app/docs/ja/recipes/dify/lark.md) · [Coze](https://langbot.app/docs/ja/recipes/coze/lark.md) · [Langflow](https://langbot.app/docs/ja/recipes/langflow/lark.md) · [DeepSeek](https://langbot.app/docs/ja/recipes/deepseek/lark.md) · [OpenAI (ChatGPT models)](https://langbot.app/docs/ja/recipes/openai/lark.md)
- n8n を他のプラットフォームで使う：[Telegram](https://langbot.app/docs/ja/recipes/n8n/telegram.md) · [Discord](https://langbot.app/docs/ja/recipes/n8n/discord.md) · [Slack](https://langbot.app/docs/ja/recipes/n8n/slack.md) · [DingTalk](https://langbot.app/docs/ja/recipes/n8n/dingtalk.md) · [WeCom（社内アプリ）](https://langbot.app/docs/ja/recipes/n8n/wecom.md) · [WeCom インテリジェントボット](https://langbot.app/docs/ja/recipes/n8n/wecombot.md)
