openclaw - 💡(How to fix) Fix Feishu: message tool presentation does not render as interactive card [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#76045Fetched 2026-05-03 04:42:57
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
2
Author
Timeline (top)
commented ×1mentioned ×1subscribed ×1

Fix Action

Workaround

feishu_im_user_message sends cards correctly but button callbacks don't reach the bot (card sent with user identity, not bot identity).

RAW_BUFFERClick to expand / collapse

Bug Description

When using the message tool with the presentation parameter on Feishu channel, the output degrades to plain text instead of rendering as an interactive card with buttons.

Expected Behavior

message tool with presentation containing buttons should render as a Feishu interactive card with clickable buttons.

Actual Behavior

The message is delivered as plain text. The presentation data appears to be ignored.

Technical Details

  • Feishu plugin has presentationCapabilities.buttons: true and renderPresentation function
  • buildFeishuPayloadCard in channel.runtime-DVtfVpT3.js calls normalizeMessagePresentation(params.payload.presentation)
  • The presentation object may not be correctly passed or parsed, causing fallback to plain text
  • feishu_im_user_message can send native Feishu card JSON that renders correctly, confirming Feishu API works

Workaround

feishu_im_user_message sends cards correctly but button callbacks don't reach the bot (card sent with user identity, not bot identity).

Environment

  • OpenClaw
  • Feishu plugin, websocket mode

extent analysis

TL;DR

The issue can be mitigated by ensuring the presentation object is correctly passed and parsed in the buildFeishuPayloadCard function.

Guidance

  • Verify that the presentation object is being correctly passed to the normalizeMessagePresentation function in channel.runtime-DVtfVpT3.js.
  • Check the renderPresentation function in the Feishu plugin to ensure it is correctly handling the presentation data.
  • Use the feishu_im_user_message as a reference to understand how to correctly format the presentation object for Feishu.
  • Investigate why the button callbacks are not reaching the bot when using feishu_im_user_message, as this may be related to the bot identity.

Example

No code example is provided as the issue does not contain sufficient information to create a specific code snippet.

Notes

The root cause of the issue is likely related to the parsing or passing of the presentation object, but further investigation is needed to determine the exact cause.

Recommendation

Apply workaround: use feishu_im_user_message as a temporary solution to send native Feishu card JSON, and investigate why the button callbacks are not reaching the bot. This is because feishu_im_user_message has been confirmed to work correctly, but the button callbacks issue needs to be addressed.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Feishu: message tool presentation does not render as interactive card [1 comments, 2 participants]