Conversation subjects, User Messages and System Messages support limited wiki-style formatting.


TalkJS supports limited markup syntax similar to popular chat tools such as WhatsApp and Slack:


Only code can contain newlines; all other markup is only applied when the marked-up text contains no newlines.

Markup is only applied if the begin/end-characters come at the beginning or the end of a word. For example:

  • _this becomes italic_
  • this_ doesn't _change.

Multiple kinds of markup can be combined _*like this*_.

Chat with input containing some markdown syntax containing *this* _is_ ~an~ ```example```)

Chat with a formatted message saying this is an example

You can make clickable text with simple <..|..> formatting. All URLs must be absolute.

Note: This syntax is intended as a simple way to make programmatically generated messages a bit more interactive. Therefore, it only works with messages sent with the REST API and not with messages sent from the chat UI.

Clickable URLs

Unformatted URLs are also made clickable in all messages, just like they are in emails:

Note: this only works if the "Suppress Contact Information" setting for a role is disabled or configured such that the specified URL is not masked.


Like in user messages, all unicode emojis are supported. Just put the unicode emoji character in the message string and TalkJS will make them work appropriately cross-platform.

You can also add interactive buttons and links that execute your custom code when they are clicked. See the Actions in chat messages section of the Action Buttons and Links page for more information.