# slack_post

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [cloud-data-platform-full.txt](https://docs.redpanda.com/cloud-data-platform-full.txt)

---
title: slack_post
latest-operator-version: v26.1.4
latest-console-tag: v3.7.3
latest-connect-version: 4.93.0
latest-redpanda-tag: v26.1.9
docname: connect/components/outputs/slack_post
page-component-name: cloud-data-platform
page-version: master
page-component-version: master
page-component-title: Cloud
page-relative-src-path: connect/components/outputs/slack_post.adoc
page-edit-url: https://github.com/redpanda-data/cloud-docs/edit/main/modules/develop/pages/connect/components/outputs/slack_post.adoc
page-git-created-date: "2025-05-02"
page-git-modified-date: "2026-05-26"
---

<!-- Source: https://docs.redpanda.com/cloud-data-platform/develop/connect/components/outputs/slack_post.md -->

**Available in:** Cloud, [Self-Managed](https://docs.redpanda.com/connect/components/outputs/slack_post/%20%22View%20the%20Self-Managed%20version%20of%20this%20component%22)

Posts a new message to a Slack channel using the Slack API method [chat.postMessage](https://api.slack.com/methods/chat.postMessage).

```yml
# Common configuration fields, showing default values
output:
  label: ""
  slack_post:
    bot_token: "" # No default (required)
    channel_id: "" # No default (required)
    thread_ts: "" # No default (optional)
    text: "" # No default (optional)
    blocks: "" # No default (optional)
    markdown: true
    unfurl_links: false
    unfurl_media: true
    link_names: 0
```

See also: [Examples](#examples)

## [](#fields)Fields

### [](#blocks)`blocks`

A Bloblang query that should return a JSON array of [Slack blocks](https://api.slack.com/reference/block-kit/blocks).

You can either specify message content in the `text` or `blocks` fields, but not both.

**Type**: `string`

### [](#bot_token)`bot_token`

Your Slack bot user’s OAuth token, which must have the correct permissions to post messages to the target Slack channel.

**Type**: `string`

### [](#channel_id)`channel_id`

The encoded ID of the target Slack channel. This field supports [interpolation functions](https://docs.redpanda.com/cloud-data-platform/develop/connect/configuration/interpolation/#bloblang-queries).

**Type**: `string`

### [](#link_names)`link_names`

When set to `1`, this output finds and links to [user groups](https://api.slack.com/reference/surfaces/formatting#mentioning-groups) mentioned in Slack messages.

**Type**: `bool`

**Default**: `false`

### [](#markdown)`markdown`

When set to `true`, this output accepts message content in Markdown format.

**Type**: `bool`

**Default**: `true`

### [](#text)`text`

The text content of the message. This field supports [interpolation functions](https://docs.redpanda.com/cloud-data-platform/develop/connect/configuration/interpolation/#bloblang-queries).

You can either specify message content in the `text` or `blocks` fields, but not both.

**Type**: `string`

**Default**: `""`

### [](#thread_ts)`thread_ts`

Specify the thread timestamp (`ts` value) of another message to post a reply within the same thread. This field supports [interpolation functions](https://docs.redpanda.com/cloud-data-platform/develop/connect/configuration/interpolation/#bloblang-queries).

**Type**: `string`

**Default**: `""`

### [](#unfurl_links)`unfurl_links`

When set to `true`, this output provides previews of linked content in Slack messages. For more information about unfurling links, see the [Slack documentation](https://api.slack.com/reference/messaging/link-unfurling).

**Type**: `bool`

**Default**: `false`

### [](#unfurl_media)`unfurl_media`

When set to `true`, this output provides previews of rich content in Slack messages, such as videos or embedded tweets.

**Type**: `bool`

**Default**: `true`

## [](#examples)Examples

### [](#echo-slackbot)Echo Slackbot

A slackbot that echo messages from other users

```yaml
input:
  slack:
    app_token: "${APP_TOKEN:xapp-demo}"
    bot_token: "${BOT_TOKEN:xoxb-demo}"
pipeline:
  processors:
    - mutation: |
        # ignore hidden or non message events
        if this.event.type != "message" || (this.event.hidden | false) {
          root = deleted()
        }
        # Don't respond to our own messages
        if this.authorizations.any(auth -> auth.user_id == this.event.user) {
          root = deleted()
        }
output:
  slack_post:
    bot_token: "${BOT_TOKEN:xoxb-demo}"
    channel_id: "${!this.event.channel}"
    thread_ts: "${!this.event.ts}"
    text: "ECHO: ${!this.event.text}"
```