Lark Integration
Connect Lark (Feishu) messaging to OpenClaw via webhook bridge. Supports text, rich text (post), and image messages bidirectionally. Use when setting up Lark/Feishu as a messaging channel, receiving m
Connect Lark (Feishu) messaging to OpenClaw via webhook bridge. Supports text, rich text (post), and image messages bidirectionally. Use when setting up Lark/Feishu as a messaging channel, receiving m
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Connect Lark (Feishu) to OpenClaw for bidirectional messaging with full rich content support.
# 1. Set credentials echo "FEISHU_APP_ID=cli_xxx" >> ~/.openclaw/workspace/.env mkdir -p ~/.openclaw/secrets echo "your_app_secret" > ~/.openclaw/secrets/feishu_app_secret2. Start bridge
cd skills/lark-integration/scripts node bridge-webhook.mjs
3. Configure Lark webhook URL in developer console
https://open.larksuite.com → Your App → Event Subscriptions
URL: http://YOUR_SERVER_IP:3000/webhook
Lark App ──webhook──► Bridge (port 3000) ──WebSocket──► OpenClaw Gateway │ │ ◄────────── Reply ──────────────────┘
| Type | Direction | Format |
|---|---|---|
| ↔ Both | Plain text |
| → Receive | Rich text with images, links |
| → Receive | Single image |
| Reply | ← Send | Text (cards via feishu-card skill) |
The bridge auto-detects platform from URLs:
*.larksuite.com → https://open.larksuite.com (International)*.feishu.cn → https://open.feishu.cn (China)| Variable | Required | Description |
|---|---|---|
| Yes | App ID from Lark Developer Console |
| No | Path to secret file (default: ) |
| No | Webhook listen port (default: 3000) |
| No | Delay before "Thinking..." placeholder (default: 2500) |
| No | Encryption key if enabled in Lark |
| No | Agent to route messages to (default: main) |
Enable these scopes in Lark Developer Console → Permissions & Scopes:
Messaging:
im:message - Send and receive messagesim:message:send_as_bot - Send messages as botim:resource - Download message resources (images)Documents (optional):
docx:document:readonly - Read documentswiki:wiki:readonly - Read wiki spacessheets:spreadsheet:readonly - Read spreadsheetsbitable:bitable:readonly - Read bitablesdrive:drive:readonly - Access drive filesMain webhook bridge. Receives Lark events, forwards to OpenClaw, sends replies.
FEISHU_APP_ID=cli_xxx node scripts/bridge-webhook.mjs
Install as systemd service for auto-start:
node scripts/setup-service.mjs # Creates /etc/systemd/system/lark-bridge.service
Images in messages are:
post content or image message typemessage_id and image_keyattachments parameterattachments: [{ mimeType: "image/png", content: "<base64>" }]
In group chats, the bridge responds when:
? or ?Otherwise, messages are ignored to avoid noise.
Use the
feishu-doc skill to read Lark documents:
node skills/feishu-doc/index.js fetch "https://xxx.larksuite.com/docx/TOKEN"
Supported URL types:
/docx/ - New documents/wiki/ - Wiki pages (auto-resolves to underlying doc)/sheets/ - Spreadsheets/base/ - Bitables (multi-dimensional tables)Permission Note: Documents must be shared with the bot, or the bot must have tenant-wide read permission.
docx:document:readonly in consolecurl http://YOUR_IP:3000/healthjournalctl -u lark-bridge -fattachments for imagesim:resource scope → Enable in Lark console# Check status systemctl status lark-bridgeView logs
journalctl -u lark-bridge -f
Restart
systemctl restart lark-bridge
references/api-formats.md for message format detailsreferences/setup-guide.md for step-by-step setupNo automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.