OpenClaw Feishu Channel Troubleshooting
This is a real-world troubleshooting playbook based on deployment issues we actually encountered.
Symptoms you may see
- Bot can be added, but it never replies in DM/group
- Message send API returns permission errors
- Gateway seems healthy, but channel is silent
Step 1: Confirm gateway is alive first
openclaw gateway status
openclaw gateway restartIf gateway is not healthy, solve this first. Channel debugging is meaningless if the core service is down.
Step 2: Check Feishu app scopes (most common root cause)
One of our real incidents was a missing scope: contact:contact.base:readonly. Without it, user/contact resolution can fail and message flow breaks.
feishu_app_scopes
# verify required scopes are granted, especially:
# - im:message
# - im:message:send_as_bot
# - contact:contact.base:readonly
# - contact:user.base:readonlyIf scope is missing, you need tenant/admin approval in Feishu Developer Console. Until approved, retries will not help.
Step 3: Verify bot can reach current conversation
- In DM: ensure the bot is actually in the DM context (not only in workspace app list)
- In group: ensure bot is invited and allowed to post messages
- Use a simple plain-text test first, then test media/card
Step 4: End-to-end message test
message action=send channel=feishu message="ping from openclaw"If this succeeds but complex messages fail, the issue is usually capability mismatch (card/media), not basic channel connectivity.
Step 5: If still failing, isolate by layers
- Layer A (Gateway): status/restart/log errors
- Layer B (Feishu app): scopes + app publish status
- Layer C (Conversation target): DM/group reachability and permissions
- Layer D (Payload): plain text works, card/media fails
Practical FAQ
Q1: Bot is online, why no reply?
Usually missing scope or wrong conversation target. Validate scope first, then test DM with plain text.
Q2: Which scope is often missed?
contact:contact.base:readonly is a frequent one in real deployments.
Q3: Why text works but image/card fails?
Feature capability mismatch or media permission limits. Test payload type separately.
Q4: Should I keep retrying when permission error appears?
No. Fix permission first. Retries won't bypass missing scopes.
Done criteria
Gateway status healthy after restart
All required scopes granted
DM plain-text test succeeds
Group message test succeeds (if group use-case needed)
This guide intentionally focuses on actionable troubleshooting instead of generic intro content.
Related Tutorials
OpenClaw Gateway Setup
Set up OpenClaw gateway safely with env variables, startup checks, and a troubleshooting checklist for stable daily usage.
Gateway Configuration
Set up OpenClaw gateway for connecting with external services, APIs, and custom integrations. Build your automation ecosystem.
Local Deployment Guide
Step-by-step guide to deploy OpenClaw on Mac, Linux, or Windows. Covers installation, model configuration, WhatsApp integration, and essential commands.