Comment on page


Buttons are the Symphony elements responsible for submitting a form to the bot. As a result, all Symphony form elements are required to have at least one button where `type=action`. When an end-user clicks this button, the form and the value of each of the elements inside will be submitted to the bot via the datafeed and presented as a JSON payload.
In addition, some forms can contain reset buttons. These buttons are used to reset a form back to its original state.
Buttons support six different styles: primary, primary-link, secondary, tertiary, destructive and destructive-link. Each of those has different colors to suit different actions (to convey meaning). Use the class attribute to specify the style.
  • Primary: use the Primary button when there is a clear primary action on a message. You can use it for the submit button, for example.
  • Secondary: use the Secondary button when there are multiple actions of the same importance or some actions with less importance than a single primary action.
  • Destructive: use the Destructive button when an action results in the removal of an item or if it can result in a potentially serious negative consequence.
  • Primary-link, Tertiary and Destructive-link: These styles are variations respectively of the Primary, Secondary and Destructive buttons but without borders. They are low prominence options that can be used alongside a Primary or as standalone buttons with the ability to read more information.


Identifies the clicked button.
No If type is not specified, the default value will be type=”action”
Indicates whether the button is an action button or a reset button. When clicked, the action button sends the form information to the datafeed. On the other hand, the reset button resets the form-data to its initial values. Accepted values: action and reset.
Toggle between new palette of colors: primary, secondary, destructive, primary-link, tertiary and destructive-link.
Adds an icon before the button name. Only icons from our UI Toolkit list are supported. Each icon is identified by its name.

Rules and Limitations

  • If class is not defined, the action button assumes the primary class by default. Action buttons should be used for affirmation or confirmation actions.
  • Reset buttons have the secondary class set by default. Reset buttons should be used when the content of the fields need to return to their original state.


The following example shows the use of the Reset and the Submit button when sending a text inserted in a Text Field.
Using colors
Datafeed Payload
<form id="form_id">
<text-field name="text-field" placeholder="Add your comment here" required="true">Initial value</text-field>
<button type="reset">Reset</button>
<button name="submit_button" type="action">Submit</button>
<button name="send-primary" type="action" class="primary">Primary Button</button>
<button name="send-secondary" type="action" class="secondary">Secondary Button</button>
<button name="send-tertiary" type="action" class="tertiary">Tertiary Button</button>
<button name="send-destructive" type="action" class="destructive">Destructive Button</button>
"id": "UW2p27",
"messageId": "4KrVjUU4gnGziWnlqMmD2n___oxo916XbQ",
"timestamp": 1595966792040,
"initiator": {
"user": {
"userId": 7078106482890,
"firstName": "User",
"lastName": "Bot",
"displayName": "User",
"email": "[email protected]",
"username": "user_bot"
"payload": {
"symphonyElementsAction": {
"stream": {
"streamId": "iMft6PLA4lHrEA9icKJobX___oyCKdVVdA",
"streamType": "ROOM"
"formMessageId": "zGeog3OqoYqVI2lwcX2o1X___oxo-A_ubQ",
"formId": "form_id",
"formValues": {
"action": "submit_button",
"init": "hello, my name is John Smith"

Versions and Compatibility

Main features introduced
Agent needed to parse message sent by the bot
Client 2.0 release
Backward client-compatibility behavior (e.g. external rooms)
Initial release
Since first version
Not working
Reset features behaviour is to show back the initial value of the form
Since first version
Working as previous behavior: clear fields
New styles: • New designs for the buttons • Styles primary destructive and secondary destructive are deprecated • Styles tertiary and destructive are introduced
Since first version
New styles are displayed as the previous ones, tertiary and destructive are displayed as the default blue primary style
New styles: primary-link and destructive-link
Not working
Last modified 4d ago