n8n has two built-in Slack nodes: the Slack node, which works with channels, files, messages, reactions, stars, users and user groups, and the Slack Trigger, which starts a workflow on Slack events such as a new message, a mention or a reaction. Community nodes add what the built-in nodes don’t have, most of all a Socket Mode trigger that needs no public webhook URL. This guide covers the built-in nodes and their credential (from n8n’s documentation) and the Slack community packages on our hub (from the descriptions and READMEs their authors publish on npm, and our own download data).
Quick comparison
| Built-in Slack nodes | Slack community nodes | |
|---|---|---|
| Covers | Channels, files, messages (including send and wait for an approval), reactions, stars, users, user groups, plus a trigger for Slack events | Socket Mode triggers, Slack Lists, streaming AI agent replies, Slack’s MCP server, text formatting for Slack |
| Receiving events | Through a webhook: Slack sends events to your n8n URL | Socket Mode packages open a connection to Slack instead, so no public URL is needed |
| Comes with n8n | Yes | No, installed as a community package |
| n8n Cloud | Available | Only packages that n8n has verified |
What the built-in Slack node can do
- Channel: Archive, Close, Create, Get, Get Many, History, Invite, Join, Kick, Leave, Member, Open, Rename, Replies, Set Purpose, Set Topic, Unarchive
- File: Get, Get Many, Upload
- Message: Delete, Get Permalink, Search, Send, Send and Wait for Response, Update
- Reaction: Add, Get, Remove
- Star: Add, Delete, Get Many
- User: Get, Get Many, Get User’s Profile, Get User’s Status, Update User’s Profile
- User Group: Create, Disable, Enable, Get Many, Update
Send and Wait for Response sends a message and waits for the recipient to answer before the workflow continues; approvers can respond directly inside Slack. Two version notes from the documentation: from node version 2.7, Message > Search uses Slack’s Real-time Search API, which needs a user token (OAuth2, or a user token as the access token) and is capped at 50 results; and from node version 2.6, the Custom Bot Profile Photo option only works with Access Token authentication.
The Slack Trigger
The Slack Trigger listens for Any Event, App Home Opened, Bot / App Mention, File Made Public, File Shared, New Message Posted to Channel, New Public Channel Created, New User and Reaction Added. You pick one channel to watch or turn on Watch Whole Workspace, which the documentation warns uses one execution for every event in any channel your app is in.
The trigger works through Slack’s Event Subscriptions: you paste n8n’s webhook URL into your Slack app as the Request URL. Slack allows only one request URL per app, so a workflow works with either the test URL or the production URL, not both at once. From n8n 1.106.0 you can add your app’s Signing Secret to the credential so the trigger verifies that requests come from Slack, and n8n recommends doing so.
Set up the Slack credential
The Slack credential supports two methods. An API access token is required for the Slack Trigger and works with the Slack node, but is not recommended there. OAuth2 is the recommended method for the Slack node and doesn’t work with the Slack Trigger.
- Open your Slack API Apps page and select Create New App > From a manifest. n8n’s documentation recommends a manifest because it sets all the scopes in one step, and gives a ready manifest with the bot scopes the nodes use.
- Under OAuth & Permissions, select Install to Workspace (you must be a Slack workspace admin) and Allow.
- Copy the Bot User OAuth Token into the Access Token field of your n8n credential.
- For the trigger, turn on Enable Events under Event Subscriptions, paste n8n’s webhook URL as the Request URL and subscribe to the bot events you need. Copy the Signing Secret from Basic Information into the credential.
On n8n Cloud, OAuth2 needs no app of your own. On a self-hosted instance, the documentation also gives a manifest for an OAuth2 app, which takes n8n’s OAuth Callback URL.
Slack community nodes
Our Slack hub lists the Slack packages that pass our quality rule. The most downloaded, with the description each author gives on npm (weekly npm downloads as of 27 October 2026):

| Package | Weekly downloads | Author’s description |
|---|---|---|
| @mbakgun/n8n-nodes-slack-socket-mode | 963 | Slack Socket Mode node for 100+ Slack events, with proxy mode |
| @360build/n8n-nodes-slack-socket-mode | 25 | Same description as the package above |
| @apclarke/n8n-nodes-slack-socket-mode-ack | 19 | Acknowledges Slack’s event delivery correctly to prevent dropped events |
| @yamachu/n8n-nodes-mcp-client-for-slack | 16 | MCP client for Slack’s MCP server |
| @z0mt3c/n8n-nodes-slack-socket-trigger | 11 | Socket Mode trigger, messages only for now |
| n8n-nodes-slack-ai-streaming-agent | 11 | AI Agent node with native Slack streaming output |
| n8n-nodes-slackify-markdown | 9 | Converts markdown to Slack-compatible markdown |
| n8n-nodes-slack-socket-mode-ack | 9 | Socket Mode fork with a fire-and-forget acknowledgement fix for slash commands |
| n8n-nodes-slack-lists | 9 | Slack Lists (slackLists.* API) |
| @ngtongsheng/n8n-nodes-slack-socket-mode-pubsub-trigger | 7 | Experimental Socket Mode trigger using a publish-subscribe pattern |
| n8n-nodes-markdown-slack-blocks | 5 | Converts markdown to Slack Block Kit blocks |
| n8n-nodes-html-to-slack | 4 | Converts HTML to Slack mrkdwn |
Socket Mode triggers
The most used Slack community package, @mbakgun/n8n-nodes-slack-socket-mode, exists because, as its README puts it, n8n’s Slack integration only supports webhooks. With Socket Mode the node connects to Slack itself, so it receives events without a public URL, also on a local development instance. Its README lists many events beyond the built-in trigger’s (among them block_actions for button clicks, reaction_removed and app_home_opened), an optional regex filter on the whole event, and support for an HTTP or HTTPS proxy. The credential takes three values from your Slack app: the Bot Token (xoxb-), an App-Level Token with the connections:write scope (xapp-) and the Signing Secret.
@360build/n8n-nodes-slack-socket-mode, @apclarke/n8n-nodes-slack-socket-mode-ack and n8n-nodes-slack-socket-mode-ack ship the same README; the npm descriptions of the last two say they change how Slack’s event delivery is acknowledged. @z0mt3c/n8n-nodes-slack-socket-trigger handles messages only, and the @ngtongsheng package describes itself as experimental.
Slack Lists
n8n-nodes-slack-lists fills a gap its README names: the built-in Slack node does not support Slack Lists. It creates Lists, grants and revokes access, and creates, gets, updates and deletes items, plus a Slack Lists Trigger that polls a List and fires when it is edited. It reuses n8n’s built-in Slack credential. Its README notes that Slack Lists are only available on paid Slack plans.
AI agents in Slack
n8n-nodes-slack-ai-streaming-agent is an AI Agent node that streams its reply into Slack as it is generated, using Slack’s AI Apps streaming API, with the same model, tool and memory connections as n8n’s built-in AI Agent. Its README lists self-hosted n8n and a Slack app with the Agents & AI Apps feature turned on as prerequisites. @yamachu/n8n-nodes-mcp-client-for-slack connects n8n’s AI Agent to Slack’s MCP server, using a Slack OAuth2 app.
Formatting messages for Slack
Three small utility nodes convert text before you send it: n8n-nodes-slackify-markdown (markdown to Slack markdown), n8n-nodes-markdown-slack-blocks (markdown to Block Kit blocks) and n8n-nodes-html-to-slack (HTML to Slack mrkdwn, ready for the Slack node’s send operation).
Check each node page here for the latest release and, where it has one, its GitHub repository for open issues before you build on a package.
How to choose
- Send, update or search messages, manage channels and users: the built-in Slack node.
- Ask someone in Slack to approve a step: the built-in node’s Send and Wait for Response.
- React to Slack events on an instance Slack can reach: the built-in Slack Trigger.
- React to Slack events without a public URL, or to events the trigger doesn’t list: @mbakgun/n8n-nodes-slack-socket-mode.
- Slack Lists: n8n-nodes-slack-lists.
- Anything else in Slack’s Web API: the HTTP Request node with Slack’s API documentation.
To install a package on a self-hosted instance, an owner or admin enters its npm name in Settings > Community Nodes; full steps are in How to Install n8n Community Nodes. On n8n Cloud only verified community nodes can be installed, see Verified vs Unverified n8n Community Nodes. Similar guides: Discord and Telegram.
FAQ
Does n8n have a Slack node?
Yes, two: the Slack node for channels, files, messages, reactions, stars, users and user groups, and the Slack Trigger for starting workflows on Slack events.
Why does my Slack Trigger only work in testing or in production?
Slack allows one request URL per app, so events go either to n8n’s test URL or to its production URL. n8n’s documentation describes switching the Request URL in your Slack app when you move between the two.
Can n8n receive Slack events without a public URL?
Not with the built-in trigger, which uses a webhook. Socket Mode community nodes such as @mbakgun/n8n-nodes-slack-socket-mode connect to Slack from your instance instead.
Which credential method should I use for Slack in n8n?
OAuth2 is recommended for the Slack node. The Slack Trigger needs an API access token (your app’s Bot User OAuth Token).
What is the most used Slack community node?
@mbakgun/n8n-nodes-slack-socket-mode, with 963 weekly npm downloads on 27 October 2026.



