Feishu Bot Troubleshooting: Silent Bots and Missing Events

Fixes for Feishu bots that stay silent, miss events, or fail QR setup, plus how to handle leaked App Secrets. Written for operators configuring and maintaining the Feishu channel in OpenClaw.

Read this when

  • The Feishu bot does not answer in a group or a DM
  • Meeting invite auto-join is not working
  • Rotating a leaked App Secret

Troubleshooting steps for a Feishu bot that stays silent, misses events, or needs new credentials.

Troubleshooting

Bot does not respond in group chats

  1. Confirm the bot has been added to the group
  2. @mention the bot (this is required by default)
  3. Make sure groupPolicy is not set to "disabled"
  4. Inspect the logs: openclaw logs --follow

Bot does not receive messages

  1. Confirm the bot is published and approved in Feishu Open Platform / Lark Developer
  2. Confirm im.message.receive_v1 is part of the event subscription
  3. For automatic joining of meeting invites, subscribe to vc.bot.meeting_invited_v1 as well
  4. Pick persistent connection (WebSocket)
  5. Grant every permission scope the app needs
  6. Confirm the gateway is running: openclaw gateway status
  7. Inspect the logs: openclaw logs --follow

An vc.bot.meeting_invited_v1 subscription only delivers the event itself. Automatic joins are off by default. To turn them on for every account:

{
  channels: {
    feishu: {
      vcAutoJoin: true,
    },
  },
}

To turn them on for a single account only, leave out the top-level switch and set the account override instead:

{
  channels: {
    feishu: {
      accounts: {
        meetings: { vcAutoJoin: true },
      },
    },
  },
}

Before the agent gets a join turn, inviters still go through the usual Feishu DM policy, allowlist/pairing, session, and reply routing. A join also needs a Feishu VC join tool that is available and configured for app identity with the vc:meeting.bot.join:write scope. The official lark-cli VC agent skill, for instance, ships vc +meeting-join.

Warning

Meeting-bot actions are currently labelled a limited beta in the official lark-cli VC agent skill. Should the tool return ErrNotInGray or error code 20017, that beta has not been enabled for the app or tenant; follow the early-access guidance in the linked skill rather than troubleshooting ordinary scope grants.

Webhook callbacks rejected with 401 Invalid signature

  1. Inspect the Gateway host clock: in webhook mode, signed callbacks are rejected when their timestamp sits more than one hour away from the server clock, in either direction. Confirm NTP sync is working and the system time is right.
  2. Confirm the configured encryptKey equals the app's Encrypt Key in Feishu Open Platform / Lark Developer.
  3. Make sure the webhook URL path and port agree with the channels.feishu.webhook* configuration.
  4. Inspect the logs: openclaw logs --follow for repeated signature failures coming from unexpected senders.

QR setup does not react in the Feishu mobile app

  1. Run setup again: openclaw channels login --channel feishu
  2. Select manual setup
  3. Create a self-built app in Feishu Open Platform and copy its App ID and App Secret
  4. Paste those credentials into the setup wizard

App Secret leaked

  1. Reset the App Secret in Feishu Open Platform / Lark Developer
  2. Put the new value into your config
  3. Confirm that hot reload picked up the new credentials by checking openclaw channels status --probe.
491 words · updated Oct 26, 2026