Skip to content

Defines text for blocks and elements, either as plain text or formatted with mrkdwn.

Used in Alert block, Card block, Container block, Context block, Header block, Image block, Input block, Section block, Video block, Button element, Checkboxes element, Date picker element, Datetime picker element, Email input element, Feedback buttons element, Icon button element, Multi-select menu element, Number input element, Overflow menu element, Plain-text input element, Radio button group element, Rich text input element, Select menu element, Time picker element, URL input element, Workflow button element

Each block or element sets its own length limit and says whether it accepts mrkdwn (a header, for example, only takes plain_text).

mrkdwn supports:

  • *bold*, _italic_, ~strike~, `inline code` and ```code blocks```
  • > at the start of a line for a block quote, and \n for a line break
  • links: <https://example.com|label> and <mailto:[email protected]|Email sales>
  • mentions: <@USER_ID>, <#CHANNEL_ID>, <!subteam^DEPARTMENT_ID>, and <!here>, <!channel>, <!everyone>
  • dates: <!date^1791813600^{date_short} at {time}|Oct 12, 2026 2:00 PM UTC>, shown in the reader’s language and timezone
  • emoji shortcodes such as :white_check_mark:

Write a literal &, < or > as &amp;, &lt; and &gt;.

Date tokens: {date_num} (2026-10-12), {date} (October 12, 2026), {date_short} (Oct 12, 2026), {date_long} (Monday, October 12, 2026), {date_pretty}, {date_short_pretty} and {date_long_pretty} (the same, or today / yesterday / tomorrow), {day_divider_pretty}, {time}, {time_secs} and {ago} (3 minutes ago).

Field Type Description Required?
type String The formatting to use for this text object. Can be one of plain_text or mrkdwn. Required
text String The text. Accepts mrkdwn formatting when type is mrkdwn. The minimum length is 1 and the maximum length is 3000 characters; the block or element holding it may set a lower limit. Required
emoji Boolean Whether emoji shortcodes such as :tada: are shown as emoji. Defaults to true. Only usable when type is plain_text. Optional
verbatim Boolean When false (the default on Slack), URLs, conversation names and certain mentions are parsed automatically. When true, only explicit mrkdwn syntax is processed. Only usable when type is mrkdwn. Optional

Plain text and mrkdwn — how it renders in Repzo Chat

{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "Deal won :tada:",
"emoji": true
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Cedar Retail Group* signed the 3-year CRM contract.\nOwner: <@3f6c2a1e-8b4d-4c7a-9e21-5d0b7f9a1c34|Account owner> · <https://example.com/deals/cedar|Open the deal>\nSigned <!date^1791813600^{date_short_pretty} at {time}|Oct 12, 2026 2:00 PM UTC>"
}
}
]
}

Quotes, code and mentions — how it renders in Repzo Chat

{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "<!subteam^c2b8e5f1-4a6d-4e9b-8f73-1d5a0c6e9b28|@Customer Success> please review the escalation in <#a7d41c90-2e5b-4f83-b6c1-0e9f2d84a517|support-escalations>.\n>The customer reports error `E-401` when syncing invoices.\n~Waiting on engineering~ Fix deployed _this morning_."
}
}
]
}