Skip to content

[Feature]: Add HTTP Webhook Support for Lark Channel #12464

@lyulyulyu999

Description

@lyulyulyu999

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:

  1. Handle URL verification: {"type": "url_verification"} → return {"challenge": "xxx"}
  2. Verify request signatures using verificationToken and encryptKey
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions