Message with Markdown

Chatbot messages can be further customized using Markdown syntax to add style, linking, and interaction within the Zoom Client.

With the Markdown syntax, you can also use the @ symbol to notify/mention a person or group of people in a Zoom Chat channel.

Using Markdown in Messages

To enable markdown, set "is_markdown_support": true in the Chatbot message request body.

Markdown can be applied to the Header, Sub Header, Text (without using the "link" property), and Form Field (when "editable" is set to false) message types. The Footer message type also supports one of the markdown styles: link.

NOTE: When using Markdown, setting the message "style" ("color", "bold", "italic") is unsupported.

For the Header, Sub Header, and Text, add the Markdown as a string for the value of the "text" key.

{
  "robot_jid": "{{bot_jid}}",
  "to_jid": "{{to_jid}}",
  "account_id": "{{account_id}}",
  "is_markdown_support": true,
  "content": {
    "head": {
      "text": "_this header is italic_",
      "sub_head": {
        "text": "~this sub header has a strikethrough~"
      }
    },
    "body": [{
      "type": "message",
      "text": "*this text is bold*"
    }]
  }
}

For the Form Field, add the Markdown as a string for the value of the "value" key.

{
  "robot_jid": "{{bot_jid}}",
  "to_jid": "{{to_jid}}",
  "account_id": "{{account_id}}",
  "is_markdown_support": true,
  "content": {
    "body": [{
      "type": "fields",
      "items": [{
        "key": "Code",
        "value": "``console.log('this form field value is monospace')`",
        "editable": false
      }]
    }]
  }
}

For the Footer, add the Markdown as a string for the value of the "footer" key.

{
  "robot_jid": "{{bot_jid}}",
  "to_jid": "{{to_jid}}",
  "account_id": "{{account_id}}",
  "is_markdown_support": true,
  "content": {
    "body": [{
      "type": "section",
      "sections": [],
      "footer": "<https://zoom.us>"
    }]
  }
}

Supported Markdown Reference

Here is the supported Markdown functionality reference. Click on each respective style to see how it looks in Zoom Chat.

Style Syntax Works With  
Bold *this text is bold* Header
Sub Header
Text
Form Field
Italic _this text is italic_ Header
Sub Header
Text
Form Field
Strikethrough ~this text has a strikethrough~ Header
Sub Header
Text
Form Field
Monospace `this text is monospace` Header
Sub Header
Text
Form Field
Block Quote > this text is a block quote Header
Sub Header
Text
Form Field
Link <https://zoom.us> Header
Sub Header
Text
Form Field
Footer
Chat Link <#{{ channel_jid or user_jid }}|Name Here> Header
Sub Header
Text
Form Field
Mention All (@all) <!all> Header
Sub Header
Text
Form Field
Mention Individual (@name) <!{{ user_jid }}|Name Here> Header
Sub Header
Text
Form Field
Image <img:https://domain.ext/image.png|alt text> Header
Sub Header
Text
Form Field
Inline Image this text has an inline image <img:https://domain.ext/image.png|alt text> Header
Sub Header
Text
Form Field
Footer

To escape markdown syntax, put a \ in front of the character. For example, to display * in a message, add a slash in front of it \*.

Example Request Body

{
  "robot_jid": "{{bot_jid}}",
  "to_jid": "{{to_jid}}",
  "account_id": "{{account_id}}",
  "is_markdown_support": true,
  "content": {
    "head": {
      "text": "_this header is italic_",
      "sub_head": {
        "text": "~this sub header has a strikethrough~"
      }
    },
    "body": [{
      "type": "section",
      "sections": [{
          "type": "message",
          "text": "*this text is bold*"
        },
        {
          "type": "fields",
          "items": [{
            "key": "Code",
            "value": "`console.log('this form field value is monospace')`",
            "editable": false
          }]
        }
      ],
      "footer": "<https://zoom.us>"
    }]
  }
}

Render in Zoom Chat


Bold

Makes the text bold.

Syntax:

*this text is bold*

Example:


Italic

Makes the text italic.

Syntax:

_this text is italic_

Example:


Strikethrough

Gives the text a strikethrough.

Syntax:

~this text has a strikethrough~

Example:


Monospace

Makes the text monospace, good for code snippits.

Syntax:

`this text is monospace`

Example:


Block Quote

Indents and gives the text italics.

Syntax:

> this text is a block quote

Example:


Link

Displays a clickable url.

Syntax:

<https://zoom.us>

Example:


Chat Link

Adds a Zoom Chat message link to text. Displays the users profile or a channel when hovered. Navigates to a chat with the user or channel when clicked.

Syntax:

<#{{ channel_jid or user_jid }}|Name Here>

Example:


Mention All (@all)

Notifies everyone in a channel.

Syntax:

<!all>

Example:


Mention Individual (@name)

Notifies an individual user in a channel.

Syntax:

<!{{ user_jid }}|Name Here>

Example:


Image

Sends an image. Alternative text can be added for accessibility and screen readers by adding a | and text after the image url.

Syntax:

<img:https://marketplace.zoom.us/competition/images/zoom.png|zoom logo>

Example:


Inline Image

Sends an inline image. Alternative text can be added for accessibility and screen readers by adding a | and text after the image url.

Syntax:

this text has an inline image <img:https://marketplace.zoom.us/competition/images/zoom.png|zoom logo>

Example:


Need help?

The first place to look is on our Developer Forum. If you can't find the answer or your request includes sensitive information, contact Developer Support.