Problem
Block Kit currently supports slack_file references for images, which allows apps to safely render private Slack-hosted files inside messages without requiring public URLs.
However, this capability is limited to images only. There is no equivalent way to reference Slack-hosted video files (file_id) in Block Kit, even though Slack already supports:
- Video files uploaded to Slack
- A native
video block that requires public or embeddable URLs
This creates an inconsistency: images can be rendered from private Slack files, while videos cannot.
Goal
Provide first-class support for using Slack-hosted video files (slack_file) inside Block Kit, similar to how images currently work.
This would allow apps to:
- Upload a video using
files.uploadV2
- Reference the resulting
file_id in Block Kit
- Render the video inline without requiring a public URL or external hosting
Why this matters
- Many apps handle sensitive or private video content that should not be publicly accessible
- Hosting videos externally (S3, YouTube, etc.) adds operational and security overhead
- Image blocks already solve this problem elegantly via
slack_file
- Feature parity between images and videos would greatly improve developer experience
Proposed direction (non-binding)
Examples of possible approaches:
- Allow
slack_file as a source for the existing video block
- Or introduce a dedicated
video element that accepts { type: "slack_file", file_id }
- Update
@slack/types to reflect the new capability
This issue is primarily about API and SDK support; the exact implementation details are up to the Slack team.
Related context
slack_file is already supported for images in Block Kit
- The
video block currently only supports external URLs
- There does not appear to be an existing feature request covering video +
slack_file support
Happy to help clarify use cases or test early implementations if needed.
Packages:
Select all that apply:
Requirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.
Problem
Block Kit currently supports
slack_filereferences for images, which allows apps to safely render private Slack-hosted files inside messages without requiring public URLs.However, this capability is limited to images only. There is no equivalent way to reference Slack-hosted video files (
file_id) in Block Kit, even though Slack already supports:videoblock that requires public or embeddable URLsThis creates an inconsistency: images can be rendered from private Slack files, while videos cannot.
Goal
Provide first-class support for using Slack-hosted video files (
slack_file) inside Block Kit, similar to how images currently work.This would allow apps to:
files.uploadV2file_idin Block KitWhy this matters
slack_fileProposed direction (non-binding)
Examples of possible approaches:
slack_fileas a source for the existingvideoblockvideoelement that accepts{ type: "slack_file", file_id }@slack/typesto reflect the new capabilityThis issue is primarily about API and SDK support; the exact implementation details are up to the Slack team.
Related context
slack_fileis already supported for images in Block Kitvideoblock currently only supports external URLsslack_filesupportHappy to help clarify use cases or test early implementations if needed.
Packages:
Select all that apply:
@slack/web-api@slack/rtm-api@slack/webhooks@slack/oauth@slack/socket-mode@slack/typesRequirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.