Skip to content

[Feature]: Native Feishu Interactive Card Support #21873

@lipeng890218

Description

@lipeng890218

Feature Request: Native Feishu Interactive Card Support

Use case
Feishu (Lark) interactive cards are widely used in China for bot workflows — they support rich elements (headers, markdown, dividers, buttons with callback_data) and enable button-based user interactions without the user typing commands.

Current state
Currently, Hermes Gateway connects to Feishu and sends plain text messages fine, but does not support Feishu interactive cards (message_card with interactive elements). Sending cards requires raw API calls via urllib/curl with manually constructed card JSON — this is not integrated into the messaging platform abstraction.

Proposed solution
Add first-class Feishu interactive card support to the Hermes Gateway Feishu adapter:

  1. Card template abstraction — similar to how other platforms abstract message types, add a type in the Feishu adapter that accepts a card schema and renders it as Feishu's + payload
  2. Button callback handling — when a user clicks a card button, Feishu sends a callback event with . Map this back to Hermes's / routing so the agent can handle button clicks in conversation
  3. Card element support — at minimum: header (with title + template_colors), markdown, dividers, buttons (with action_id/callback_data)
  4. Example use case — a cron job monitoring system that sends a card with status buttons ("查看详情" / "忽略") and reacts based on user selection

Alternative considered
Building a dedicated Feishu MCP server — but native gateway support would be cleaner and consistent with how other platform features (Discord buttons, Telegram inline keyboards) are handled.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havecomp/gatewayGateway runner, session dispatch, deliveryplatform/feishuFeishu / Lark adaptertype/featureNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions