Lark Integration
Sicherheitswarnung

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 messages with images, sending replies back to Lark, reading Lark documents/wikis/bitables, or troubleshooting Lark integration issues. Covers both Lark International (larksuite.com) and China Feishu (feishu.cn).

Installieren
$clawhub install lark-integration

Lark Integration

Connect Lark (Feishu) to OpenClaw for bidirectional messaging with full rich content support.

Quick Start


# 1. Set credentials
echo "FEISHU_APP_ID=cli_xxx" >> ~/.openclaw/workspace/.env
mkdir -p ~/.openclaw/secrets
echo "your_app_secret" > ~/.openclaw/secrets/feishu_app_secret

# 2. 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

Architecture

Lark App ──webhook──► Bridge (port 3000) ──WebSocket──► OpenClaw Gateway
                           │                                   │
                           ◄────────── Reply ──────────────────┘

Supported Message Types

Type Direction Format
text ↔ Both Plain text
post → Receive Rich text with images, links
image → Receive Single image
Reply ← Send Text (cards via feishu-card skill)

Platform Detection

The bridge auto-detects platform from URLs:

  • *.larksuite.comhttps://open.larksuite.com (International)

  • *.feishu.cnhttps://open.feishu.cn (China)

Configuration

Environment Variables

Variable Required Description
FEISHU_APP_ID Yes App ID from Lark Developer Console
FEISHU_APP_SECRET_PATH No Path to secret file (default: ~/.openclaw/secrets/feishu_app_secret)
WEBHOOK_PORT No Webhook listen port (default: 3000)
FEISHU_THINKING_THRESHOLD_MS No Delay before "Thinking..." placeholder (default: 2500)
FEISHU_ENCRYPT_KEY No Encryption key if enabled in Lark
OPENCLAW_AGENT_ID No Agent to route messages to (default: main)

Lark App Permissions

Enable these scopes in Lark Developer Console → Permissions & Scopes:

Messaging:

  • im:message - Send and receive messages

  • im:message:send_as_bot - Send messages as bot

  • im:resource - Download message resources (images)

Documents (optional):

  • docx:document:readonly - Read documents

  • wiki:wiki:readonly - Read wiki spaces

  • sheets:spreadsheet:readonly - Read spreadsheets

  • bitable:bitable:readonly - Read bitables

  • drive:drive:readonly - Access drive files

Scripts

bridge-webhook.mjs

Main webhook bridge. Receives Lark events, forwards to OpenClaw, sends replies.

FEISHU_APP_ID=cli_xxx node scripts/bridge-webhook.mjs

setup-service.mjs

Install as systemd service for auto-start:

node scripts/setup-service.mjs

# Creates /etc/systemd/system/lark-bridge.service

Image Handling

Images in messages are:

  1. Detected from post content or image message type

  2. Downloaded via Lark API using message_id and image_key

  3. Converted to base64

  4. Sent to OpenClaw Gateway as attachments parameter

attachments: [{ mimeType: "image/png", content: "<base64>" }]

Group Chat Behavior

In group chats, the bridge responds when:

  • Bot is @mentioned

  • Message ends with ? or

  • Message contains trigger words: help, please, why, how, what, 帮, 请, 分析, etc.

  • Message starts with bot name

Otherwise, messages are ignored to avoid noise.

Reading Documents

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.

Troubleshooting

"forBidden" error when reading docs

  • Document not shared with bot → Add bot as collaborator

  • Missing scope → Enable docx:document:readonly in console

No messages received

  • Check webhook URL is accessible: curl http://YOUR_IP:3000/health

  • Verify webhook in Lark console shows "Verified"

  • Check bridge logs: journalctl -u lark-bridge -f

"must be string" error

  • Old bridge version → Update to use attachments for images

Images not received

  • Missing im:resource scope → Enable in Lark console

  • Token expired → Bridge auto-refreshes, restart if stuck

Service Management


# Check status
systemctl status lark-bridge

# View logs
journalctl -u lark-bridge -f

# Restart
systemctl restart lark-bridge

References

Details

Version
v1.0.0
Downloads
3,373
Sterne
2

Beliebte Skills

Monday.com
Monday.com API integration with managed OAuth. Manage boards, items, columns, groups, and workspaces using GraphQL. Use this skill when users want to create, update, or query Monday.com boards and items, manage tasks, or automate workflows. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Requires network access and valid Maton API key.
ontology
Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.
AI Persona OS
The complete operating system for OpenClaw agents. Now with 13 Iconic Character souls (Thanos, Deadpool, JARVIS, Mary Poppins, Darth Vader, and more), SOUL.md Maker (deep SOUL.md builder interview), 11 original personality souls, soul blending, and the full soul gallery. Plus: zero-terminal agent-driven setup, quick-start persona presets, in-chat commands, ambient context monitoring, enforced heartbeat protocol (model + version display), traffic-light status indicators, auto-migration, auto-pruning, config validator, version tracking, structured escalation protocol, context protection, security inoculation, shared-channel discipline, team integration, proactive patterns, never-forget protocol, 8 operating rules, and 4 growth loops. One install. Complete system. Built by Jeff J Hunter.