Skip to main content


To display inline buttons in a chat, use the inlineButtons reply type.

Inline buttons are displayed inside the chat as chatbot responses. Clicking on an inline button will redirect the user to the specified URL.

You can also use the inlineButtons DSL tag or the $reactions.inlineButtons method. Such buttons have extended functionality: you can set transitions to other states and also pass any callback data into it.


The inlineButtons replies accept a buttons property, an array of objects that describe the buttons. Each object contains the following properties:

textStringYesButton text.
urlStringNoTarget URL where the user will be redirected to when the button is selected.
If the property is not specified, then selecting the button will send a message with the button text to the chat.


"type": "inlineButtons",
"buttons": [
"text": "Button 1",
"url": ""
"text": "Button 2",
"url": ""

Channel restrictions

inlineButtons is only supported in the following channels:

  • Chat API
  • Chat widget
  • Telegram
  • Viber
Some channels have their own restrictions on using buttons, such as the maximum number of buttons in one message. Refer to Channel features and restrictions to find out more.

How to use

state: TrackPackage
a: You can track your package by its tracking number on our website.
$response.replies = $response.replies || [];
"type": "inlineButtons",
"buttons": [{"text": "Track package", "url": ""}]