JSON format for buttons

The JSON format depends on the button type. Converse supports a maximum of three buttons per interaction regardless of the button type. Only the title property is required.

Phone buttons

Phone buttons take the user to the call screen of their smart phone. The phone number must be fully formed, that is prefixed with '+' followed by country code, area code and local number:

{
  "type": "phone_number",
  "title": "required, string",
  "payload": "full phone number"
}

Postback buttons

Postback buttons send a call to the bot that will trigger the next interaction to run. This payload can be up to 1000 characters long.

{
  "type": "postback",
  "title": "required, string",
  "payload": "message to send to the bot"
}

URL buttons

URL buttons link to external URLs. The URL string must use HTTPS:

{
  "type": "web_url",
  "title": "required, string",
  "url": "string"
}

Account link and unlink buttons

This button initiates log in or log out to a user's account. The callback URL for authentication must be HTTPS:

{
  "type": "account_link",
  "url": "callback URL"
}
{
  "type": "account_unlink",
}