Docs
Docs and feature guides
Start learning
Authentication
Messaging
Metadata
Surfaces
Block Kit
Interactivity
APIs
Workflows
Enterprise
Apps for Admins
Gov Slack
Reference
Docs and feature guides
Start learning
  • Overview
  • Intro to the Slack platform

Planning your app

  • Overview
  • Planning interaction
  • Choosing APIs
  • Communicating
  • Interaction guidelines

Designing a great experience

  • Overview
  • Designing home tabs
  • Designing modals
  • Shortcut guidelines
  • Choosing voice & tone
  • Localizing apps
  • Onboarding experiences
  • General guidelines

Building an app

  • Overview
  • Developing with JavaScript
  • Developing with Python
  • Developing with Java
  • Workflow Builder
  • Block Kit Builder
  • SDKs & tools
  • App blueprints

Distributing an app

  • Overview
  • Submitting to the App Directory
  • Guidelines and requirements for App Directory Apps
  • App Directory Checklist
  • Developer Policies
  • Distributing apps publicly
Authentication
  • Overview

Installation & Permissions

  • Basic app setup
  • Installing with OAuth
  • Quickstart: what's new
  • Migration guide
  • Token rotation

Security

  • Verifying requests
  • Best practices

Access tokens

  • Token types
  • Configuration tokens

Sign in with Slack

  • Sign in with Slack
  • Get Started with SIWS links

Reference

  • Scopes
  • Sign in with Slack
Messaging

Managing messages

  • Overview
  • Retrieving messages
  • Sending messages
  • Modifying messages
  • Scheduling messages
  • Using Webhooks

Composing messages

  • Overview
  • Formatting text
  • Message layouts
  • Interactive messages
  • Block Kit Builder

Working with files

  • Overview
  • Preparing your app for files
  • Uploading files to Slack
  • Adding remote files

Reference

  • Messages
  • Blocks
  • Secondary attachments
  • Link unfurling
  • Upgrading to blocks
Metadata
  • Overview

Guides

  • Publishing metadata
  • Using metadata

Metadata events

  • message_metadata_posted
  • message_metadata_updated
  • message_metadata_deleted
  • Event scope

Metadata schemas

  • Reference
Surfaces
  • Overview

Home tabs

  • Overview
  • Using your Home tab
  • Events in App Home

Modals

  • Overview
  • Using modals

Messages

  • Overview
  • Sending messages
  • Rich message layouts
  • Interactive messages

Reference

  • Defining views
Block Kit
  • Overview

Block basics

  • Building with Block Kit
  • Interactivity in Block Kit
  • Block Kit Builder
  • App templates

Reference

  • Overview
  • Blocks
  • Block elements
  • Interactive components
  • Composition objects
  • Defining views
  • block_actions payloads
  • View interaction payloads
  • Upgrading to modals
  • Accessibility
Interactivity
  • Overview
  • Handling user interaction

Entry points

  • Overview
  • Shortcuts
  • Slash Commands
  • Interactive components

Shortcuts

  • Overview
  • Implementing shortcuts

Interaction payloads

  • Overview
  • Shortcuts payloads
  • block_actions payloads
  • View interaction payloads
APIs
  • Overview

Connection protocols

  • Overview
  • Using the Events API over HTTP
  • Intro to Socket Mode
  • Socket Mode implementation

Usage guides

  • Using the Web API
  • Pagination
  • Rate limits
  • Slack Connect
  • Slack Connect APIs
  • Status API
  • Calls API
  • Presence & status
  • Bookmarks API

Reference

  • Methods
  • Event types
  • Object types
Workflows
  • Overview

Workflows for users

  • Introduction
  • Pre-built workflows

Workflows for developers

  • Webhook triggers
  • Steps from apps
  • Workflow Powerups

Reference

  • Configuration views
  • workflow_step
  • workflow_step_edit
  • workflow_step_execute
  • workflow_published
  • workflow_unpublished
  • workflow_deleted
  • workflow_step_deleted
Enterprise

Single-workspace apps

  • Overview
  • Preparing your app
  • Testing an Enterprise app

Organization-wide apps

  • Overview
  • Preparing for org-wide app deployment
  • OAuth & Installation for org-wide apps
  • Using APIs with org-wide apps
  • Migration
  • Reference
Apps for Admins
  • Overview

User management

  • Managing users
  • Managing invite requests
  • Resetting sessions
  • Provisioning with SCIM

Workspace management

  • Managing channels
  • Managing app approvals

Security

  • Monitoring audit events
  • Monitoring anomaly events
  • Calling the Audit Logs API
Gov Slack

What is GovSlack

  • Overview
Reference

Translated content

  • 🇯🇵

Stay updated

  • Changelog
  • Beta features
  • Developer blog
  • Roadmap
  • @SlackAPI

Resources

  • Our tools
  • Get support
  • Partner with us
  • API Terms of Service
  • Slack Fund
  • FAQ
  • Slack Engineering

Community

  • Community Discussion
  • Tools and resources
  • Groups and events
  • Code of Conduct
  • Hosting providers

Get Help

Tutorials
Tutorials
Create a Hello World app
Create an app to give kudos
Create a bot to welcome users
Create a GitHub issue with a workflow
Create an app to send announcements
Create a social app to log runs with running buddies
Create an approval app with workflows using Typescript and Deno
Your apps
Sign in to Slack to manage apps
Start learning
  • Overview
  • Intro to the Slack platform

Planning your app

  • Overview
  • Planning interaction
  • Choosing APIs
  • Communicating
  • Interaction guidelines

Designing a great experience

  • Overview
  • Designing home tabs
  • Designing modals
  • Shortcut guidelines
  • Choosing voice & tone
  • Localizing apps
  • Onboarding experiences
  • General guidelines

Building an app

  • Overview
  • Developing with JavaScript
  • Developing with Python
  • Developing with Java
  • Workflow Builder
  • Block Kit Builder
  • SDKs & tools
  • App blueprints

Distributing an app

  • Overview
  • Submitting to the App Directory
  • Guidelines and requirements for App Directory Apps
  • App Directory Checklist
  • Developer Policies
  • Distributing apps publicly
Authentication
  • Overview

Installation & Permissions

  • Basic app setup
  • Installing with OAuth
  • Quickstart: what's new
  • Migration guide
  • Token rotation

Security

  • Verifying requests
  • Best practices

Access tokens

  • Token types
  • Configuration tokens

Sign in with Slack

  • Sign in with Slack
  • Get Started with SIWS links

Reference

  • Scopes
  • Sign in with Slack
Messaging

Managing messages

  • Overview
  • Retrieving messages
  • Sending messages
  • Modifying messages
  • Scheduling messages
  • Using Webhooks

Composing messages

  • Overview
  • Formatting text
  • Message layouts
  • Interactive messages
  • Block Kit Builder

Working with files

  • Overview
  • Preparing your app for files
  • Uploading files to Slack
  • Adding remote files

Reference

  • Messages
  • Blocks
  • Secondary attachments
  • Link unfurling
  • Upgrading to blocks
Metadata
  • Overview

Guides

  • Publishing metadata
  • Using metadata

Metadata events

  • message_metadata_posted
  • message_metadata_updated
  • message_metadata_deleted
  • Event scope

Metadata schemas

  • Reference
Surfaces
  • Overview

Home tabs

  • Overview
  • Using your Home tab
  • Events in App Home

Modals

  • Overview
  • Using modals

Messages

  • Overview
  • Sending messages
  • Rich message layouts
  • Interactive messages

Reference

  • Defining views
Block Kit
  • Overview

Block basics

  • Building with Block Kit
  • Interactivity in Block Kit
  • Block Kit Builder
  • App templates

Reference

  • Overview
  • Blocks
  • Block elements
  • Interactive components
  • Composition objects
  • Defining views
  • block_actions payloads
  • View interaction payloads
  • Upgrading to modals
  • Accessibility
Interactivity
  • Overview
  • Handling user interaction

Entry points

  • Overview
  • Shortcuts
  • Slash Commands
  • Interactive components

Shortcuts

  • Overview
  • Implementing shortcuts

Interaction payloads

  • Overview
  • Shortcuts payloads
  • block_actions payloads
  • View interaction payloads
APIs
  • Overview

Connection protocols

  • Overview
  • Using the Events API over HTTP
  • Intro to Socket Mode
  • Socket Mode implementation

Usage guides

  • Using the Web API
  • Pagination
  • Rate limits
  • Slack Connect
  • Slack Connect APIs
  • Status API
  • Calls API
  • Presence & status
  • Bookmarks API

Reference

  • Methods
  • Event types
  • Object types
Workflows
  • Overview

Workflows for users

  • Introduction
  • Pre-built workflows

Workflows for developers

  • Webhook triggers
  • Steps from apps
  • Workflow Powerups

Reference

  • Configuration views
  • workflow_step
  • workflow_step_edit
  • workflow_step_execute
  • workflow_published
  • workflow_unpublished
  • workflow_deleted
  • workflow_step_deleted
Enterprise

Single-workspace apps

  • Overview
  • Preparing your app
  • Testing an Enterprise app

Organization-wide apps

  • Overview
  • Preparing for org-wide app deployment
  • OAuth & Installation for org-wide apps
  • Using APIs with org-wide apps
  • Migration
  • Reference
Apps for Admins
  • Overview

User management

  • Managing users
  • Managing invite requests
  • Resetting sessions
  • Provisioning with SCIM

Workspace management

  • Managing channels
  • Managing app approvals

Security

  • Monitoring audit events
  • Monitoring anomaly events
  • Calling the Audit Logs API
Gov Slack

What is GovSlack

  • Overview
Reference

Translated content

  • 🇯🇵

Stay updated

  • Changelog
  • Beta features
  • Developer blog
  • Roadmap
  • @SlackAPI

Resources

  • Our tools
  • Get support
  • Partner with us
  • API Terms of Service
  • Slack Fund
  • FAQ
  • Slack Engineering

Community

  • Community Discussion
  • Tools and resources
  • Groups and events
  • Code of Conduct
  • Hosting providers

Get Help

View all scopes

files:write

View other scopes

Upload, edit, and delete files as your slack app

Facts

Supported token types

UserDeprecated workspace tokensBot

Compatible API methods

files.comments.deletefiles.completeUploadExternalfiles.deletefiles.getUploadURLExternalfiles.revokePublicURLfiles.sharedPublicURLfiles.upload

For new Slack apps, files:write replaces both files:write:user and files:write:bot. Here's a bit more detail on why perspectival scopes are disappearing.

On this page

Facts
Additional information

Docs

Start learning
Authentication
Messaging
Metadata
Surfaces
Block Kit
Interactivity
APIs
Workflows
Enterprise
Apps for Admins
Gov Slack

Keep updated

Subscribe to our changelog to see the latest changes to the Slack platform.

Subscribe

Join our community

Connect with other developers, builders, designers, and product managers to build the future of work.

Join