Message types schema reference
Learn more about the schema and available fields for message types.
A message type schema defines the fields that a message type will have in the template editor and forms the structure of the message contents returned by the guides API.
An example schema is shown below:
Variants
#Your schema must have one or more variants. Each of these variants must have:
- A
keyuniquely identifying the variant for the message type - A
nameto display in the message template editor to select the variant - One or more
fields(see below)
Every schema must define a variant with the key "default". You can name your variants anything you would like, but the variant key must be unique.
Fields
#All fields must have:
type: The type of the field to render (see below)key: A unique key for the field in the variantlabel: A label to render
Field types
#Text
#A plain text, single line text field.
Settings
#Indicates this field is required
An optional friendly description
The default value to display
The minimum length to validate
The maximum length to validate against
Example
Markdown
#A markdown editor for creating rich text. Will always be rendered as HTML.
Settings
#Indicates this field is required
An optional friendly description
The default value to display
Example
#Textarea
#A multi-line plain text area
Settings
#Indicates this field is required
An optional friendly description
The default value to display
The minimum length to validate
The maximum length to validate against
Example
#Boolean
#A checkbox that returns either true or false (checked or unchecked).
Settings
#Indicates this field is required
An optional friendly description
The default value to set
Example
#Select
#A single select box that defines a static list of options for editors to pick from.
Settings
#A list of option objects that must include a label and a value
Indicates this field is required
The value of the default option to set
Example
#Usage
#In your template preview, you can access the value of the selected option using the field's key. For example:
Multi-select
#A multi-select box that defines a static list of options for editors to pick from.
Settings
#A list of option objects that must include a label and a value
Indicates this field is required
The values of the default options to set
Example
#Usage
#In your template preview, you can access the selected values using the field's key. For example:
Button
#A button, with text to display and an action to perform when clicked.
Every button field contains two subfields:
A text field that represents the button's text
A text field that represents the button's action
Settings
#Indicates this field is required
An optional friendly description
Example
#URL
#Settings
#Indicates this field is required
An optional friendly description
The default URL to display
Example
#Image
#An image field, used to display an image with alt text and an optional action to perform when clicked.
Every image field contains three subfields:
A URL field that represents the source of the image to be displayed
A text field that represents the image's alt text
An optional text field that represents an action to perform when the image is clicked
Settings
#Indicates this field is required
An optional friendly description