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

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.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset 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.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150

Channel for the stream

Channel ID or name where the streaming message is posted.

Initial markdown content

Markdown body to seed the streaming message.

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.