-
-
Notifications
You must be signed in to change notification settings - Fork 52.9k
Description
Feature Request: Add HTTP Webhook Support for Lark Channel
Summary
The @openclaw/feishu plugin currently only supports WebSocket-based event subscription. However, Lark International (larksuite.com) does not provide WebSocket option in the event subscription settings - only HTTP webhook is available.
This makes the plugin unusable for Lark International users.
Proposed Solution
Add HTTP webhook mode to the @openclaw/feishu plugin.
Required config fields:
{
"channels": {
"feishu": {
"mode": "webhook", // NEW: or "websocket" (default)
"domain": "lark",
"appId": "cli_xxx",
"appSecret": "xxx",
"verificationToken": "xxx", // NEW
"encryptKey": "xxx" // NEW (optional)
}
}
}
Webhook handler requirements:
- Handle URL verification: {"type": "url_verification"} → return {"challenge": "xxx"}
- Verify request signatures using verificationToken and encryptKey
- Process im.message.receive_v1 events
Alternatives Considered
Using WebSocket mode: Not available in Lark International backend. The UI only shows "Configure webhook URL" option, no "Use WebSocket" option exists.
Switching to other channels: Not feasible for organizations already using Lark.
Additional Context
Current error:
• Configured webhook URL in Lark backend
• Lark POSTs to the webhook URL → OpenClaw returns HTML (control UI) instead of JSON
• Lark error: "返回数据不是合法的JSON格式" (Returned data is not valid JSON)
Environment:
• Lark International (larksuite.com)
• OpenClaw version: 2026.2.3-1
• Domain: lark (not feishu)
References:
• Lark webhook docs: https://open.larksuite.com/document/home/develop-bots-use-webhooks/webhooks
• Telegram plugin uses webhook mode successfully as reference
I'm willing to test the implementation in a real Lark environment.