Dynamic keyboard

Free

Build inline buttons from a list — one button per item.

Sends a message whose inline buttons are generated from a list — one button per item. Perfect for catalogs, menus and pickers that change at runtime.

Fields

FieldTypeRequiredTemplatableNotes
TexttextyesyesMessage above the buttons
FormattingselectNone, HTML, Markdown
List variabletextyesThe list to build buttons from
Button texttextyesyesUse {{var._item}}
Button callbacktextyes64-byte limit — for long values use {{var._index}}, e.g. pick:{{var._index}}
Buttons per rownumberDefault 1

Outcomes

  • default — continue the flow.

How it works

Inside the button templates, {{var._item}} is the current item and {{var._index}} its position. Catch presses with a Button pressed trigger in prefix mode.

Dynamic keyboard  list: products  button_text: "{{var._item}}"  callback: "item:{{var._index}}"
Button pressed  mode: prefix  data: "item:"  →  save_var: idx