Slack Message action
Posts a message to a Slack user or channel. In the action picker it is Slack Message, under Notification Actions.
Fields
| Field | Required | Description |
|---|---|---|
| Connection | Yes | The Slack connection to post through. |
| Recipient | Yes | A user or channel to message. The picker fills itself from the workspace; the field also accepts variables. |
| Message | No | The message. Pick the body type that matches how it is written—see below. |
| Hide Link Previews | No | Stops Slack expanding a preview card under each link it recognises. |
| Test Recipient Override | No | On the Advanced tab. During a dry run, this step posts here instead of the automation-level Slack test target. Leave it unset to use that target. |
Composing the message
The Message field offers four ways to write it. Pick the one that matches how much control you need—every one of them accepts variables.
| Type | What it is | Reach for it when |
|---|---|---|
| Formatted | A rich-text editor: bold, italic, strikethrough, links, inline and block code, bulleted and numbered lists, and tables. | Almost always. It is the default, and what you type is what Slack shows. |
| Markdown | Standard markdown, rendered by Slack. Adds headings, task lists, block quotes, and fenced code blocks with syntax highlighting. | The content is already markdown—most often an AI agent's output. |
| Blocks | An ordered list of Slack blocks configured one at a time. | You want structure a text editor cannot express, such as a chart or a two-column summary. |
| Raw Block Kit JSON | A Block Kit payload pasted verbatim. | You need exact control, or a block type not offered under Blocks. |
Formatted versus Markdown
Formatted treats your text as text: punctuation such as an asterisk, an underscore, or a backtick arriving from a variable reaches Slack as those literal characters. Markdown treats the same punctuation as syntax. So if a variable might contain arbitrary prose, use Formatted; if it contains markdown you want rendered, use Markdown.
The Formatted editor deliberately offers only formatting Slack can render. Underline, superscript, and subscript are absent because Slack's message format has no equivalent for them—a message using them would lose that styling silently on delivery.
Markdown's toolbar is deliberately bare for the same reason in reverse: you are writing the characters, so a button that inserts them would fight you.
Blocks
Configure blocks one at a time, in the order Slack should show them:
Header, Section, Markdown, Rich Text, Context, Divider, Image, Video, Remote File, Table, Data Table, Chart (Pie, or Bar / Line / Area), Card, Carousel, Container, Task Card, Plan, Buttons, and Link Button.
Raw Block Kit JSON
Paste either shape Slack's Block Kit Builder produces—a bare array of blocks, or an object with a blocks key—so a payload moves across without editing. Variables can be inserted anywhere in the JSON, including inside string values.
A second field, Fallback Text, holds the plain text shown in notifications and by clients that cannot render blocks. Slack shows the message with no preview text when it is empty.
Link previews
Slack expands a preview card beneath any link it recognises. Turn on Hide Link Previews to suppress them for a message—useful when the message is mostly links and the previews would bury the text. Left off, Slack applies its usual behaviour.
Output
| Field | Description |
|---|---|
recipient | The recipient the message was sent to. |
channel | Slack's resolved channel id. |
ts | Slack's message timestamp, usable to thread replies. |