Slack
Author: langgenius
Type: tool
Overview
Slack is a cloud-based team communication platform. This plugin lets Dify apps and agents interact with a Slack workspace through the Slack Web API using a Bot User OAuth Token, covering messages, channels, users, reactions, and files. It also keeps the classic Incoming Webhook tool for simple one-way message posting.
Tools
Messages
- Send Message – post a message to a channel, group, or DM (), with optional threaded reply.
- Update Message – edit a message the bot posted ().
- Delete Message – delete a message ().
- Get Message Permalink – get a permalink URL for a message ().
- Schedule Message – schedule a message for future delivery ().
- Incoming Webhook – post a message via an Incoming Webhook URL (no bot token needed).
Channels
- List Channels – list conversations ().
- Get Channel Info – channel metadata ().
- Create Channel – create a public or private channel ().
- Get Channel History – fetch recent messages ().
- Get Thread Replies – fetch replies in a thread ().
- Invite Users to Channel – add users to a channel ().
- Archive Channel – archive a channel ().
- Set Channel Topic – set a channel's topic ().
Reactions
- Add Reaction – add an emoji reaction ().
- Remove Reaction – remove an emoji reaction ().
Users
- List Users – list workspace members ().
- Get User Info – get a user's profile ().
- Look Up User by Email – find a user by email ().
Files
- Upload File – upload a file and optionally share it to a channel ( + ).
Configuration
Option A — Bot User OAuth Token (recommended, unlocks all tools)
Go to the Slack API platform and click Create New App. Slack offers two ways to create the app — either works:
Fastest — "From a manifest" (pre-fills all scopes)
- Choose From a manifest, select your workspace, and paste the manifest below.
- Click Next → Create.
- On the app page, click Install to Workspace and authorize.
- Open OAuth & Permissions and copy the Bot User OAuth Token (starts with ).
Paste it exactly as-is. The block is required — Slack rejects a manifest that requests scopes without declaring a bot user. Also note Slack's manifest editor does not accept inline comments, so the block above is comment-free; each scope's purpose is listed in the table under the "Blank app" section below.
Manual — "Blank app" (the new name for "From scratch")
-
Choose Blank app, name it, and pick your workspace.
-
Go to OAuth & Permissions → Scopes → Bot Token Scopes and add the scopes for the tools you need:
-
Click Install to Workspace and authorize.
-
Copy the Bot User OAuth Token (starts with ).
Then, in Dify
- Install the Slack plugin and paste the token into the Access Token field. (A user token starting with is also accepted, in which case actions run as the authorizing user.)
- Invite the bot to any channel it needs to act in ().
Note: You must click Install to Workspace after adding scopes for the token to appear. Changing scopes later requires re-installing the app.
Option B — Incoming Webhook (Incoming Webhook tool only)
- In your Slack app settings, enable Incoming Webhooks and Add New Webhook to Workspace.
- Copy the webhook URL (starts with ).
- Provide it as the parameter of the Incoming Webhook tool.
Notes
- Bot tokens cannot use (that requires a user token), so message search is not included.
- The bot must be a member of a channel to read its history or post to it (unless the channel is public and your scopes allow it).
Privacy
See PRIVACY.md [blocked].