AI Agent Hub
Back to skills
Feishu Interactive Button Cards icon

Feishu Interactive Button Cards

Office Efficiency Updated 2026.08.30

Paste the following prompt into your AI chat to install this skill:

Please install @user_a5827f21/feishubutton according to https://skillhub.cn/install/skillhub.md.

About this skill

Problem This Solves

When a Hermes Agent sends only plain text in Feishu, approval flows, confirmations, and task feedback feel thin: users do not get clickable actions, and the backend cannot easily tell which button was pressed.

How It Works

The skill packages Feishu interactive cards into reusable Python modules:
- approval.py covers the approval workflow: send_exec_approval() sends an approval card with buttons, handle_card_action() processes button callbacks, and update_approval_card() updates the card after a click.
- builder.py handles card construction: build_streaming_pre_answer_card() creates a streaming response card, build_complete_card() creates the final card, and split_reasoning_text() extracts reasoning text from a response.
- cardkit.py handles low-level sending and updates: send_interactive_card() sends an interactive card, while patch_interactive_card() updates an existing card.

Feishu buttons usually use primary, default, and danger types for main, secondary, and destructive actions. The button's value is returned to the backend when clicked, so the handler can distinguish the selected action.

Scope And Caveats

It is built for Feishu / Lark, not as a generic messaging-button solution. Discord, Telegram, and Slack each require their own component formats. It assumes Python 3.11+ and hermes_feishu_plugin, and is loaded from the Hermes Agent skill directory.

Use Cases

  • Ask a user in Feishu to confirm a risky Hermes Agent action with Approve and Reject buttons.
  • Handle the button value callback and patch the same card to show Approved or Rejected.
  • Show a streaming placeholder card, then replace it with the final answer card.
  • Let group members choose primary, default, or danger buttons to trigger different task branches.

Best For

  • Python engineers maintaining a Hermes Agent Feishu channel who need clickable approval buttons.
  • Backend developers integrating an AI assistant in Feishu who must handle button callbacks and card updates.
  • Application engineers building internal approval flows who want confirm, reject, or danger actions as Feishu cards.
  • Product engineers shaping agent UX who need streaming answers and final results as updatable cards.