
Slack Upload
CertifiedUpload a file to Slack
Slack Upload
Upload a file to Slack
Uploads a file from Kestra internal storage to one or more channels (optionally threaded). Requires files: write; threads need the chat: write scope.
type: io.kestra.plugin.slack.app.files.UploadExamples
Upload a file to a Slack channel
id: slack_file_upload
namespace: company.team
tasks:
- id: upload_file
type: io.kestra.plugin.slack.app.files.Upload
token: "{{ secret('SLACK_TOKEN') }}"
channels: ["#general"]
from: "{{ outputs.previous_task.uri }}"
filename: "report.pdf"
title: "Monthly Report"
initialComment: "Here is the monthly report."
Upload a file with a title and alt text
id: slack_file_upload_detailed
namespace: company.team
tasks:
- id: upload_file
type: io.kestra.plugin.slack.app.files.Upload
token: "{{ secret('SLACK_TOKEN') }}"
channels: ["#general", "#reports"]
from: "{{ inputs.file }}"
filename: "analysis.png"
title: "Data Analysis Chart"
altTxt: "Chart showing sales trends over the last quarter"
Upload a file as a thread reply
id: slack_file_thread_upload
namespace: company.team
tasks:
- id: upload_file
type: io.kestra.plugin.slack.app.files.Upload
token: "{{ secret('SLACK_TOKEN') }}"
channels: ["#general"]
from: "{{ outputs.generate_report.uri }}"
filename: "detailed_report.pdf"
title: "Detailed Report"
timestamp: "{{ outputs.send_message.timestamp }}"
Properties
filename *string
Filename
from *string
Source file URI
Internal storage URI of the file to upload (inputs/outputs/other tasks).
Pebble expression referencing an Internal Storage URI e.g. {{ outputs.mytask.uri }}.
token *string
Slack token
altTxt string
Alt text
Accessibility text, useful for images or visual content.
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
{}1150channels array
Target channels
Channel IDs or names to share the file to; multiple allowed.
initialComment string
Initial comment
Optional message attached to the uploaded file.
snippetType string
Snippet language
Syntax highlighting label for code snippets (e.g., python, java, javascript).
timestamp string
Thread timestamp
Slack ts to post the file as a thread reply; requires matching channel and chat: write.
title string
File title
Optional display title shown in Slack.
Outputs
id *string
Uploaded file ID
name string
Filename
permalink string
Permalink
permalinkPublic string
Public permalink
title string
File title
urlPrivate string
Private URL