
Slack Post
CertifiedPost a Slack message
Slack Post
Post a Slack message
Sends a message with text, blocks, or attachments. Accepts either raw JSON payload or messageText; channel and thread can also come from the payload. Requires chat: write.
type: io.kestra.plugin.slack.app.chats.PostExamples
Post a simple text message
id: slack_post_message
namespace: company.team
tasks:
- id: post_message
type: io.kestra.plugin.slack.app.chats.Post
token: "{{ secret('SLACK_TOKEN') }}"
channel: "#general"
messageText: "Hello from Kestra!"
Post a message with custom payload
id: slack_post_custom
namespace: company.team
tasks:
- id: post_message
type: io.kestra.plugin.slack.app.chats.Post
token: "{{ secret('SLACK_TOKEN') }}"
channel: "#general"
payload: |
{
"text": "Workflow completed successfully",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Status:* :white_check_mark: Success"
}
}
]
}
Post a message to a thread
id: slack_post_thread
namespace: company.team
tasks:
- id: post_message
type: io.kestra.plugin.slack.app.chats.Post
token: "{{ secret('SLACK_TOKEN') }}"
channel: "#general"
messageText: "Main message"
- id: reply_message
type: io.kestra.plugin.slack.app.chats.Post
token: "{{ secret('SLACK_TOKEN') }}"
channel: "#general"
messageText: "Reply in thread"
timestamp: "{{ outputs.post_message.timestamp }}"
Properties
token *string
Slack token
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150channel string
Channel to send message
Channel ID or name; can also be set inside the payload.
iconEmoji string
Message icon emoji
Emoji code (e.g., : wave: ) that overrides iconUrl.
iconUrl string
Message icon URL
HTTPS image used as icon when iconEmoji is not provided.
messageText string
Message Text or JSON String
The message content as a raw string. It can be plain text with markdown, or a JSON object. If not a valid JSON object, it is automatically wrapped in {"text": "..."}. This property is ignored if the payload property is set.
payload string
Slack message payload
timestamp string
Thread timestamp to reply to
Slack ts value for replying in a thread; must belong to the same channel.
username string
Display username
Overrides the bot's default display name for this message.
Outputs
timestamp *string
Timestamp of posted message