Skip to content

Text objects with "type": "mrkdwn" — and a message’s top-level text — use Slack’s mrkdwn, a small markdown dialect. plain_text shows text as written (emoji shortcodes still work when emoji isn’t false). For full Markdown, use a markdown block.

You write People see
*bold* bold
_italic_ italic
~strike~ strike
`code` code
```block of code``` A code block (nothing inside it is formatted)
> quoted line at the start of a line A quote
A new line (\n) A line break
You write People see
<https://example.com> https://example.com
<https://example.com|the docs> the docs
<mailto:[email protected]|Email sales> Email sales

Only http, https and mailto links are shown as links. Repzo pages open inside Workstation.

You write People see
<@USER_ID> A mention chip with the person’s current name
<#CHANNEL_ID> A link to the channel (the name shows only for public channels)
<!here>, <!channel>, <!everyone> @here, @channel, @everyone
<!subteam^DEPARTMENT_ID> @Department name — Slack user groups map to Workstation departments

Use the ids from /api/v1/chat/users, /api/bot/channels.list and the departments API. You can add a fallback label after a |: <@USER_ID|Dana>.

<!date^UNIX_TIME^FORMAT|fallback> shows a date in each reader’s own locale and time zone:

Due <!date^1792479600^{date_long_pretty} at {time}|Oct 20, 2026>
Token Example
{date_num} 2026-10-20
{date} October 20, 2026
{date_short} Oct 20, 2026
{date_long} Tuesday, October 20, 2026
{date_pretty}, {date_short_pretty}, {date_long_pretty} As above, or “today”, “yesterday”, “tomorrow”
{time} 10:00 AM
{time_secs} 10:00:00 AM
{ago} in 3 days

The fallback shows wherever the date can’t be formatted (search results, notifications).

:white_check_mark:, :tada:, :warning: and the other standard shortcodes become emoji. Skin tones work as :thumbsup::skin-tone-3:.

Write a literal &, < or > as &amp;, &lt; and &gt; — as on Slack — so they aren’t read as links or mentions.