How to Set Up the n8n Slack Integration (2026)

Table of Contents

Slack is one of the most popular integrations in any n8n workflow. Customers want daily data reports pushed into specific channels, onboarding automation that creates channels and adds team members, and AI-generated content reviewed before it goes anywhere — all through Slack.

The problem is the n8n Slack node documentation can feel overwhelming the first time you set it up. Credentials work differently depending on whether you want to send messages or trigger workflows, and the Slack app configuration has several steps that aren’t obvious.

This guide walks through the full n8n Slack integration setup — from creating the Slack app and configuring the right scopes, to using the Slack node to send messages, setting up the trigger, working with Slack blocks, and building a real human-in-the-loop approval workflow.

What Is the n8n Slack Integration?

The n8n Slack integration connects your n8n workflows to a Slack workspace, allowing you to send messages, upload files, create channels, and trigger workflows based on Slack events — all without writing any code.

n8n provides two separate components for working with Slack: the Slack node (for actions like sending messages and uploading files) and the Slack trigger node (for starting workflows when something happens in Slack, like a new message being posted to a channel).

Together, these cover 44 different actions and 8 trigger types — from simple message sending to full onboarding automation and AI approval flows.

See also: n8n trigger nodes

n8n Slack Credentials: API Token vs. OAuth

Before you can use either the Slack node or the Slack trigger node in n8n, you need to connect a credential. n8n supports two credential types for Slack, and they have different capabilities.

API Access Token — required for the Slack trigger node, and also works with the Slack node. This is the recommended approach for most workflows because it supports both sending messages and triggering on events.

OAuth — recommended by n8n for the Slack node, but does not work with the trigger node. This means if you only set up OAuth, you can send messages but you cannot trigger workflows from Slack events.

The practical advice: set up an API Access Token credential. It works everywhere. If you want to follow the official recommendation for the Slack node, you can set up both credential types in n8n — one API Access Token for triggers, one OAuth for the node — and use each where appropriate.

To get your API access token, you need to create a Slack app at api.slack.com/apps, configure the correct permission scopes, install the app into your workspace, and copy the OAuth token that’s generated. The sections below walk through each step.

How to Connect n8n to Slack: Step-by-Step

Here is the full process to connect n8n to Slack using an API access token, which gives you access to both the Slack node and the Slack trigger node.

Step 1: Create a Slack App

Go to api.slack.com/apps and sign in with your Slack account. Click Create New App and select From Scratch. Give your app a name (e.g., ‘n8n Automation’) and select the Slack workspace it should live in. Click Create App.

Step 2: Add Permission Scopes

Scopes control what your n8n Slack bot is allowed to do in your workspace. In your new app, go to OAuth & Permissions in the left sidebar and scroll down to Bot Token Scopes.

Add each scope listed in the n8n Slack node documentation. At a minimum for sending messages and triggering on events, you’ll need: channels:read, channels:history, chat:write, files:read, files:write, groups:read, im:read, mpim:read, users:read.

Skip any scopes marked as ‘Not available as a bot token scope’ — these are user-level scopes that won’t work for a bot. Add all the scopes listed in the n8n Slack node docs upfront to save time when you expand your workflows later.

Step 3: Install the App to Your Workspace

Still on the OAuth & Permissions page, scroll up to the Install to Workspace section. Click Install to Workspace and click Allow when prompted. Copy the Bot User OAuth Token that appears — it starts with xoxb-.

Step 4: Add the Credential in n8n

In n8n, open any Slack node or create a new one. Click the Credential dropdown and select Create New. Choose Slack API as the credential type. Paste your Bot User OAuth Token into the Access Token field. Click Save — n8n will test the connection and confirm it’s working.

Step 5: Add the Bot to Your Slack Channel

Your Slack bot isn’t automatically a member of any channel. Before it can post messages to a channel, you need to manually add it. Open the target Slack channel, type @YourBotName in the message box, and click Add to Channel when prompted.

Once the bot is a member of the channel, your n8n workflow can send messages and upload files to it.

Need Help Building AI Automations?

We build custom Claude and n8n automation systems for businesses. Schedule a free consultation.

n8n Slack Node: Key Actions

The n8n Slack node covers 44 different actions organized into six categories. Here’s a breakdown of the ones you’ll use most often.

Message Actions

The most commonly used section of the Slack node. Send Message posts text or rich content to any channel your bot has access to. Configure with your credential, select the channel from the list, write your message, and run.

Send Message (Blocks) sends a richly formatted message using Slack’s Block Kit. Blocks let you include buttons, dropdowns, form elements, and dividers — useful for approval flows, interactive bots, and formatted reports.

Send and Wait for Response is the human-in-the-loop action. It sends a message with approve/decline buttons and pauses the workflow until someone responds. Covered in detail below.

Reply in Thread responds to a specific message in a thread rather than posting to the main channel.

Channel Actions

Channel actions let you create, archive, rename, and manage Slack channels programmatically. A common use case is onboarding automation: when a new client or employee is added, n8n can create a dedicated Slack channel and invite the right people automatically.

File Actions

File actions include uploading and retrieving files. Uploading a file — like a CSV or spreadsheet — to a Slack channel is a common pattern for automated daily reports. Instead of attaching a file to an email, you post it directly into a Slack channel where the team can see it immediately.

See also: n8n workflow basics

How to Set Up the n8n Slack Trigger Node

The n8n Slack trigger node starts a workflow automatically when something happens in your Slack workspace. It has 8 trigger types including new message posted to a channel, file shared, new channel created, new user added, and reaction added.

Setting up the n8n Slack trigger node requires a webhook connection between n8n and Slack’s Event Subscriptions. Here’s how:

In n8n, add a Slack trigger node to your workflow and select your API credential. Choose your trigger type — for example, New Message Posted to a Channel. Click Execute Step to start listening. n8n will generate a webhook URL (Test URL for development, Production URL when your workflow is live).

In your Slack app settings at api.slack.com, go to Event Subscriptions and toggle Enable Events to on. Paste your n8n webhook URL into the Request URL field. Slack will send a verification ping — as long as n8n is listening, it will respond and the URL will be marked as verified.

Under Subscribe to Bot Events, click Add Bot Event and search for message.channels. Select Messages posted to a channel and save.

Important: when you switch from development to production, you need to activate your workflow in n8n and update the webhook URL in Slack’s Event Subscriptions from the Test URL to the Production URL. The production URL is stable and doesn’t change.

One important note: n8n does not support Slack’s Socket Mode, which requires a WebSocket connection. n8n uses standard HTTP webhooks for all event subscriptions. Make sure Socket Mode is turned off in your Slack app settings.

See also: n8n webhook setup

Sending Rich Messages with Slack Blocks

Slack’s Block Kit lets you send messages that go beyond plain text — with formatted sections, buttons, dropdown menus, dividers, and form inputs. In the n8n Slack node, you access this by setting the message type to Blocks instead of Simple Text Message.

Blocks are particularly useful when you want your n8n Slack bot to present interactive options to a user — like selecting from a list of items, confirming an action, or filling in a quick form inside Slack.

To use blocks in n8n: open the Slack node and set the operation to Send Message. Under Message Type, select Blocks. Build your block structure using Slack’s Block Kit Builder at app.slack.com/block-kit-builder and copy the JSON output. Paste the block JSON into the Blocks field in n8n. Run the node — the formatted message will appear in your Slack channel with the interactive elements rendered.

Real Workflow Example: Daily Data Report to Slack and Email

Here’s a real workflow that shows how the n8n Slack integration handles daily automated reporting for a business.

A customer needed data from Google BigQuery pulled daily and delivered to their team two ways: as a file in a Slack channel and as an email. The data lived in BigQuery and was accessed through Metabase — a reporting layer with a native n8n node.

The workflow structure: a Schedule Trigger fires daily at a set time. An Edit Fields node holds the four SQL query IDs to run against Metabase. The queries are split into individual items using a Split In Batches node, then each query runs through the Metabase node to retrieve the data. The data from each query is converted to a CSV file using the Convert to File node.

The Slack node uploads each file to a dedicated company Slack channel using the Upload File action. A comment is added to each file post so recipients know what they’re looking at. In parallel, the same file is sent as an email attachment using the Gmail or SMTP node. A Merge node collects all iterations at the end of the loop before triggering the next batch.

The key Slack node configuration for file uploads: set Resource to File, Operation to Upload, and map your converted file data to the File Content field. Add a Comment field with context about the data — this appears as a caption in the Slack channel alongside the file.

n8n Slack Human-in-the-Loop: Send and Wait for Approval

One of the most valuable use cases for the n8n Slack integration is building approval workflows where an AI agent’s output gets reviewed by a human before anything irreversible happens.

The n8n Slack node includes a Send and Wait for Response action (found under Human Review when adding a node) that pauses the workflow, sends a message to Slack with approve/decline buttons, and only resumes once a team member responds.

Here’s how to set it up: build your workflow up to the point where a human decision is needed — typically after an AI agent has generated some output. Add the Slack node from the Human Review section (click + on the workflow, scroll to Human Review, select Slack).

Configure the node with your Slack credential, the target channel, and a message that includes the content to be reviewed. Set the Response Type to Approval. Choose Approve and Disapprove if you want two routing options (recommended), or Approve Only for a simpler flow.

Add an If node after the Slack human review node. Use the expression {{ $json.data.approved }} — true routes to the approved branch, false routes to the declined branch.

When the workflow runs, a message appears in your Slack channel with Approve and Decline buttons. Clicking Approve resumes the workflow on the true branch. Clicking Decline routes to the false branch where you can log the rejection, trigger a re-run, or notify someone.

See also: n8n human in the loop

Frequently Asked Questions

What is the n8n Slack node?

The n8n Slack node is a built-in integration that lets your workflows send messages, upload files, manage channels, and interact with users in a Slack workspace. It supports 44 actions organized into message, channel, file, reaction, user, and user group categories.

What is the difference between the n8n Slack node and the Slack trigger node?

The n8n Slack node performs actions — it sends messages, uploads files, or manages channels when a workflow runs. The n8n Slack trigger node starts a workflow automatically when something happens in Slack, like a new message being posted to a channel. You need an API Access Token credential to use the trigger; OAuth only works with the node.

How do I connect n8n to Slack?

Create a Slack app at api.slack.com/apps, add the required permission scopes under OAuth & Permissions, install the app to your workspace, copy the Bot User OAuth Token, and paste it into a new Slack API credential in n8n. Then add your bot to any Slack channel it needs to post in by mentioning it with @botname.

Why is my n8n Slack trigger not working?

The most common causes: (1) the webhook URL in Slack’s Event Subscriptions is pointing to the test URL but your workflow is set to production, or vice versa — update the URL to match. (2) Your workflow is not active — toggle the workflow on in n8n. (3) Socket Mode is enabled in your Slack app — n8n uses HTTP webhooks, not Socket Mode, so disable it. (4) The bot hasn’t been added to the channel where events should be monitored.

Can I send formatted messages from n8n to Slack?

Yes. Set the Slack node’s message type to Blocks to use Slack’s Block Kit, which supports formatted text sections, buttons, dropdown menus, dividers, and form inputs. Build your block structure using Slack’s Block Kit Builder, copy the JSON, and paste it into the Blocks field in n8n.

Next Steps and Homework

Getting connected is the hardest part of the n8n Slack integration setup. Once your credential is in place and your bot is in a channel, adding Slack actions to any workflow takes minutes.

The most common starting points: send a message after a scheduled trigger (daily reports, status updates), add a human review step after an AI agent, and upload files from a data pipeline directly into a channel.

Here’s a challenge to put this into practice: build a workflow where posting a message in a specific Slack channel triggers an AI agent to search for helpful resources, FAQs, or next steps based on the keywords in that message — then auto-reply in the thread. The JSON workflow files for this tutorial are available in the Skool community — import them directly into n8n and adapt them for your use case.

Join Our AI Community

Get access to the JSON workflow files from this article, weekly live sessions, and a community of builders working through the same challenges. Everything is free and the community is active.

Free Community

Join 1,000+ AI Automation Builders

Weekly tutorials, live calls & direct access to Ryan & Matt.

Join Free →

Keep Learning

How to Connect Notion to n8n: Step-by-Step (2026)

The n8n Notion integration lets you automate your Notion workspace without writing a single line of code. You can create pages, update...

How to Connect Airtable to n8n: Complete Guide (2026)

This n8n airtable integration tutorial covers how the n8n Airtable integration lets you create, read, update, and delete records in your Airtable...

n8n telegram

This n8n telegram bot tutorial shows you things most people don't realize are possible: text a message to trigger an automation, get...

n8n text classifier node

A text classifier is an automated system that categorizes text into predefined labels or classes based on its content. It’s a powerful...