Skip to content

feat: persistent inline buttons / custom keyboard for Telegram channel #34921

@motor-bot-agent

Description

@motor-bot-agent

Feature Request

Problem

Currently, inline buttons can only be added via the message tool with explicit buttons parameter. There is no way to:

  1. Add a persistent button to every agent response automatically
  2. Show a "Stop" button before the agent starts processing

This means users have no quick way to interrupt a running agent or subagent mid-processing.

Proposed Solution

Add a configuration option to define persistent inline buttons that appear on every outgoing message (or at least on agent responses):

{
  "channels": {
    "telegram": {
      "persistentButtons": [
        { "text": "🛑 /stop", "sendText": "/stop" },
        { "text": "📋 /agents", "sendText": "/agents" }
      ]
    }
  }
}

Or alternatively, a pre-response button that appears immediately when a user sends a message (before the agent starts generating a response), allowing the user to cancel.

Use Case

  • User sends a long task to the main agent
  • Agent spawns a subagent (takes 2-5 minutes)
  • User wants to stop it but has no quick UI affordance
  • With persistent buttons: tap 🛑 /stop → subagent killed immediately

Notes

  • Telegram supports InlineKeyboardMarkup on any message
  • Button click should send the configured text as a regular message (not callback_data), so the agent receives and processes it normally
  • This is a UX quality-of-life improvement for power users managing multiple agents

Platform: Telegram
Version: 2026.3.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    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