Skip to main content

Slack Message action

Posts a message to a Slack user or channel. In the action picker it is Slack Message, under Notification Actions.

Fields

FieldRequiredDescription
ConnectionYesThe Slack connection to post through.
RecipientYesA user or channel to message. The picker fills itself from the workspace; the field also accepts variables.
MessageNoThe message. Pick the body type that matches how it is written—see below.
Hide Link PreviewsNoStops Slack expanding a preview card under each link it recognises.
Test Recipient OverrideNoOn 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.

TypeWhat it isReach for it when
FormattedA 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.
MarkdownStandard 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.
BlocksAn 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 JSONA 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.

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

FieldDescription
recipientThe recipient the message was sent to.
channelSlack's resolved channel id.
tsSlack's message timestamp, usable to thread replies.

Was this page helpful?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.