Slack StartStream

Slack StartStream

Certified

Start a streaming Slack message

Begins a stream that can be appended (AppendStream) and finalized (StopStream). Requires chat: write; provide channel plus optional thread and recipient identifiers when streaming into channels.

yaml
type: io.kestra.plugin.slack.app.chats.StartStream

Start a stream with markdown text

yaml
id: slack_start_stream
namespace: company.team

tasks:
  - id: start_stream
    type: io.kestra.plugin.slack.app.chats.StartStream
    token: "{{ secret('SLACK_TOKEN') }}"
    channel: "#general"
    markdownText: "Starting analysis..."

Start a stream in a thread

yaml
id: slack_stream_thread
namespace: company.team

tasks:
  - id: post_message
    type: io.kestra.plugin.slack.app.chats.Post
    token: "{{ secret('SLACK_TOKEN') }}"
    channel: "#general"
    messageText: "Starting new process"

  - id: start_stream
    type: io.kestra.plugin.slack.app.chats.StartStream
    token: "{{ secret('SLACK_TOKEN') }}"
    channel: "#general"
    threadTs: "{{ outputs.post_message.timestamp }}"
    markdownText: "Process details streaming..."

Start a stream and append content

yaml
id: slack_stream_workflow
namespace: company.team

tasks:
  - id: start_stream
    type: io.kestra.plugin.slack.app.chats.StartStream
    token: "{{ secret('SLACK_TOKEN') }}"
    channel: "#general"
    markdownText: "Processing workflow..."

  - id: append_stream
    type: io.kestra.plugin.slack.app.chats.AppendStream
    token: "{{ secret('SLACK_TOKEN') }}"
    channel: "{{ outputs.start_stream.channel }}"
    timestamp: "{{ outputs.start_stream.timestamp }}"
    markdownText: "Step 1 completed"

  - id: stop_stream
    type: io.kestra.plugin.slack.app.chats.StopStream
    token: "{{ secret('SLACK_TOKEN') }}"
    channel: "{{ outputs.start_stream.channel }}"
    timestamp: "{{ outputs.start_stream.timestamp }}"
    markdownText: "All steps completed!"
Properties

Slack token

Channel for the stream

Channel ID or name where the streaming message is posted.

Initial markdown content

Markdown body to seed the streaming message.

Reference (ref) of the pluginDefaults to apply to this task.

Recipient team ID

Team ID for the recipient; required alongside recipientUserId for channel streams.

Recipient user ID

Required when streaming into channels to target a specific user.

Thread timestamp to reply to

Slack ts to nest the stream inside an existing thread.

Stream channel

Stream message timestamp

Use with AppendStream and StopStream.