Skip to content

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

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

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions