EP04 · Let Lobster Take Over Your Feishu
15 minutes to turn your AI lobster into the most capable colleague in Feishu/Lark — replying to messages, managing calendars, reading docs, sending images.
📖 Why Feishu/Lark?
In EP01-03, your lobster got a home, a brain, and skills. But it lives in the terminal — you need to open your computer and type commands to talk to it.
Connect it to Feishu/Lark, and your lobster becomes a Feishu colleague. @it from your phone anytime, and it gets to work. That's how our team uses it every day: just say "Claw, look something up for me" in a group chat, and it's on it.
What Can It Do After Connecting?
Here's what our team's lobster "Claw" does in Feishu/Lark every day:
| Capability | Description |
|---|---|
| 💬 DMs & Group Chats | Chat directly in Feishu/Lark, @it in groups — handles multiple people simultaneously |
| 📅 Schedule Management | "Book a meeting tomorrow at 3 PM" — writes it into Feishu/Lark calendar, checks availability |
| 📄 Read & Write Docs | Reads Feishu/Lark docs, fills Bitable spreadsheets, drafts meeting summaries |
| 🔍 Search Knowledge Base | "Find last week's competitor analysis" — pulls it from Feishu/Lark wiki |
| 🎨 AI Creation | "Draw me a picture" or "Generate a video" — creates and sends it right to chat |
| 📎 Send Files | Images, PDFs, spreadsheets — generated files sent directly, no download-and-forward |
| 📰 Scheduled Pushes | Daily AI news, project reminders — automated, no babysitting required |
| 🤖 Task Management | Integrates with Feishu/Lark Tasks — create, track, and remind on to-dos |
Step 1: Create a Feishu/Lark App
① Open the Feishu Developer Platform
Go to open.feishu.cn/app (or open.larksuite.com/app for Lark) and log in with your account.
Click "Create Custom App", give it a name (like "My Lobster" 🦞), and upload an avatar.
② Get App ID and App Secret
After creation, on the "Credentials & Basic Info" page, you'll see:
App ID: cli_xxxxxxxxxx
App Secret: xxxxxxxxxxxxxxxxxxxxxx
Save these two values — you'll need them in the next step.
③ Enable Bot Capability
Find "App Capabilities" → "Bot" in the left menu and enable it. This lets your app send and receive messages in Feishu/Lark chats.
💡 Stop here for now — don't configure permissions or event subscriptions yet. First, give the ID and Secret to OpenClaw and get it running, then come back to finish the setup.
Step 2: Configure OpenClaw
Give your lobster the App ID and App Secret you just got:
① Edit Configuration
openclaw config edit
Add the Feishu/Lark config under channels:
channels:
feishu:
appId: "your-app-id"
appSecret: "your-app-secret"
② Restart OpenClaw
openclaw gateway restart
# ✓ Gateway restarted
# Feishu channel listening on :3121
When you see Feishu channel listening, your lobster is online and ready to receive messages.
💡 Tip: If using Webhook mode, set up Nginx to reverse-proxy
https://your-domain/webhook/feishutolocalhost:3121for HTTPS. Long connection mode doesn't need this.
Step 3: Go Back to Feishu and Finish Setup
With OpenClaw running, return to the Feishu Developer Platform to complete the remaining steps.
① Configure Event Subscriptions
Go to "Events & Callbacks" in the left menu:
Recommended: Long Connection (WebSocket)
- Click the "Long Connection" tab and enable it
- Feishu/Lark pushes messages to your lobster automatically — no public IP required
Alternative: Webhook
If long connection isn't available:
- Set the Request URL to:
https://your-domain/webhook/feishu - Feishu/Lark sends a verification request — OpenClaw handles it automatically since it's already running
Add Events:
Search for im in the event list and enable all IM-related events. The corresponding IM permissions (messaging, group chat, reactions, etc.) will be automatically granted — no need to add them separately in Permission Management.
Key events include:
im.message.receive_v1— Receive messages (required)im.message.reaction.created_v1— Message reactions addedim.message.reaction.deleted_v1— Message reactions removedim.chat.member.bot.added_v1— Bot added to groupim.chat.member.bot.deleted_v1— Bot removed from group
⚠️ Why configure OpenClaw before event subscriptions? Feishu/Lark sends a verification request when you set up events. If OpenClaw isn't running, verification fails. Long connection mode also needs the app to establish the connection first.
② Configure Permissions
Go to "Permission Management" and add permissions not covered by event subscriptions:
🔵 Resources (Required):
im:resource— Send images and files (not auto-granted by event subscriptions)
🔵 Card Messages (Recommended):
cardkit:card:write— Send rich card messages (buttons, colors, columns)cardkit:card:read— Read card messages
⚠️ Without Card permissions, your lobster can only send plain text. Add these two for nice-looking card messages.
🔵 Contacts (Recommended):
contact:user.base:readonly— User infocontact:user.email:readonly— Emailcontact:user.phone:readonly— Phone numbercontact:user.department:readonly— User's departmentcontact:user.employee_id:readonly— Employee IDcontact:contact.base:readonly— Directorycontact:department.base:readonly— Department info
💡 Enable all contacts permissions — otherwise your lobster may not be able to read colleagues' full info.
🟢 Docs & Drive (Optional):
docx:document— Read and write docsdocx:document:readonly— Read-only docsdocx:document:create— Create docsdocx:document:write_only— Write docsdocx:document.block:convert— Block conversiondrive:drive— Cloud drive operationsdrive:drive:readonly— Read-only drivedrive:drive.metadata:readonly— Read file infodrive:drive.search:readonly— Search drive
🟢 Bitable (Optional):
bitable:app— Read and write Bitablebitable:app:readonly— Read-only Bitable
💡 For fine-grained Bitable permissions (
base:record,base:field,base:table, etc.), searchbasein Permission Management and enable all to ensure full access.
🟢 Calendar (Optional):
calendar:calendar— Manage calendarscalendar:calendar.event:read— Read eventscalendar:calendar.event:create— Create eventscalendar:calendar.event:update— Update eventscalendar:calendar.event:delete— Delete eventscalendar:calendar.free_busy:read— Check availability
💡 Enable all calendar permissions including
calendar:calendar:read,calendar:calendar.acl, etc. for full calendar functionality.
🟢 Wiki (Optional):
wiki:wiki— Search and read knowledge basewiki:wiki:readonly— Read-only wiki
🟢 Tasks (Optional):
task:task— Manage taskstask:task:read— Read taskstask:task:write— Write taskstask:tasklist:read— Read task liststask:tasklist:write— Write task lists
💡 For task-related permissions (
task:comment,task:section,task:attachment, etc.), searchtaskand enable all.
💡 Recommendation: Messaging + Cards + Contacts are the basics — always enable them. Docs, Calendar, Tasks, etc. can be added later as needed.
③ Publish the App
Click "Version Management & Publishing" → "Create Version", add release notes, and submit for review. For internal enterprise use, it's ready once your admin approves.
⚠️ Note: Except for review-exempt permissions, every change to permissions or event subscriptions requires submitting a new version for review. Recommended: add all needed permissions at once to avoid repeated reviews.
Step 4: Test It Out!
Find your bot in Feishu/Lark and start chatting:
You: Hey! Who are you?
🦞: Hi! I'm your AI lobster assistant, just moved into Feishu 🏠 What can I help with?
You: Draw me a surfing lobster
🦞: 🎨 On it! Generating... [image sent directly to chat]
You: What's on my calendar tomorrow?
🦞: 📅 Tomorrow you have 2 events:
10:00 Product Weekly
15:00 Client Meeting
Advanced: Using in Group Chats
Your lobster isn't just for DMs — add it to groups as an "AI colleague":
- In group settings, add a bot and search for your app name
- @your lobster's name in the group to chat with it
- The lobster only responds when @mentioned — no spam
💡 Real example: Our team's lobster "Claw" does this in Feishu every day: manages the boss's calendar, generates images and videos for colleagues, auto-pushes AI industry news, answers all kinds of questions. Today it helped 6 people simultaneously — zero complaints.
FAQ
💥 Added contacts permission but still can't read colleague info?
- This is a contacts scope restriction in the Feishu/Lark admin console. Ask your company's Feishu admin to go to Admin Console → App Permissions and set "Contacts Access Scope" to "All Employees". Otherwise the bot can only see a limited subset of users.
💥 Not receiving messages?
- Event subscription not verified → Is OpenClaw running? Re-save event config on the platform
- Permissions not approved → Admin needs to approve in Feishu management console
- Changed permissions/events but didn't republish → Create a new version and publish
💥 Lobster can only send plain text, not cards?
- Missing
cardkit:card:writepermission → Add it in Permission Management and republish
💥 Lobster says "no permission"?
- Required permission not requested or approved → Add it in Permission Management, get admin approval
💥 Can't send images?
- Missing
im:resourcepermission, or image is too large (Feishu limits ~20MB)
📌 Key Takeaways
- Step 1 Create app on Feishu Developer Platform → Get App ID + Secret → Enable bot
- Step 2 Configure OpenClaw with ID/Secret → Start the lobster
- Step 3 Go back to Feishu → Set up event subscriptions + permissions → Publish
- Step 4 Test: DM directly, @lobster in groups
Next Episode: EP05 · Teaching Your Lobster to Remember You — Give your lobster memory of who you are, your preferences, and habits — making it a true "personal assistant."