How To Create a Slack App for n8n Workflows
November 19, 2025 · Mike Murphy
In this tutorial, you will learn how to create a Slack App/Bot to send messages from Slack to trigger n8n workflows and have n8n send messages back.
Description
In this tutorial, you will learn how to create a Slack App/Bot to send messages from Slack to trigger n8n workflows and have n8n send messages back.
The Step-By-Step Guide:
Step 1: Setup n8n Workflow Nodes (Slack Trigger, AI Agent, Open AI Model, Slack Message)
Step 2: Create New Slack Channel
Step 3: Create New Slack App/Bot (https://api.slack.com/apps)
Step 4: Go to OAuth & Permissions and add Scopes
Step 5: Set Credentials for Slack API in n8n
Step 6: Event Subscriptions in Slack API (Verify WebHook URLs)
Step 7: Add Slack App/Bot to Slack Channel
Step 8: Test n8n Workflow and Activate when ready
Detailed Step By Step Blog Post:
https://mikemurphy.co/slackapp
Get Hostinger VPS for n8n:
https://mikemurphy.co/vps
n8n Docs (OAuth Scopes):
https://docs.n8n.io/integrations/builtin/credentials/slack/#scopes
——————
——————
✅ Chapters:
00:00 Intro: About The Tutorial
00:59 Pre-Tutorial Tip: Add More Scopes!
01:37 Purpose of Tutorial
02:36 Step-By-Step Guide Begins
02:48 Create New Workflow (n8n)
03:01 Add Slack Trigger
03:14 Add Slack Message Node
03:24 Add AI Agent + LLM
03:51 Overview of SlackApp Steps
05:10 Create New Slack Channel
05:27 Go to Slack API
06:15 OAuth & Permissions (Slack API)
06:42 n8n Docs (Scopes)
07:45 How To Add OAuth Scopes
08:34 Install App in Workplace
09:09 OAuth Token
10:26 Set Credentials for Slack
11:18 Channels to Watch
11:58 Attention: Change Trigger On Field
13:08 Create New Slack Message Credential
14:00 Inactive/Active Workflows
14:30 Event Subscriptions
14:47 Subscribe to bot events
15:26 Request URL (Enable Events)
16:23 Reinstall Warning Banner
16:47 Add SlackApp To Channel
17:36 Fix AI Agent Node
18:30 Slack Message Node Configuration
19:15 Remove n8n Attribution
19:54 Inactive & Active Wbhook URLs
20:34 Production WebHook URL (Active)
21:12 Test Workflow!
22:10 Recap
——————
THE CHEATSHEET FOR SLACK + N8N
Step 1: Set Up (n8n)
- Create New Workflow in n8n
- Rename Workflow (top-left)
- Click ‘Save’
- Click + symbol and search for Slack
- Search for ‘Message’ and click on Slack Node (On New Message Posted To Channel)
- Click + symbol and search for Slack
- Search for ‘Message’ and click on Slack Node (Send a Message)
- Click + symbol and search for AI. Click to add ‘AI Agent’ node
- Click + at the bottom of AI Agent node and add ‘Open AI Chat Model’
Step 2: Create New Slack Channel
- Open Slack
- Right-click on Channels in left sidebar
- Click ‘Create New Channel’
- Enter name of Channel
- Click ‘Next’
- Click ‘Skip’
- Click ‘Create’
Step 3: Create New Slack App
- Go to api.slack.com/apps (Slack API)
- Click ‘Create New App’
- Click ‘From scratch’
- Enter App Name
- Pick Slack Workspace
- Click ‘Create’
- Basic Credentials Page
- Signing Secret needed for Slack API Credentials
Step 4: OAuth & Permissions (Scopes):
- Click on ‘OAuth & Permissions’ in left sidebar
- Go to Scopes Section
- Bot Token Scopes
- Click ’Add an OAuth Scope and add:
- app_mentions:read, assistant:write, channels:history, channels:join, channels:read,chat:write, files:read, files:write, groups:history, groups:read, im: history, im: read, mpim:history, mpim:read, reactions:read, reactions:write, search:read.files, usergroups:read, usergroups:write
- Click ’Add an OAuth Scope and add:
- User Token Scopes
- Click ’Add an OAuth Scope and add:
- channels:history, channels:write, stars:read, stars:write
- Click ’Add an OAuth Scope and add:
- Click ‘Install to Slack Workspace Name’
- Confirm Workspace is selected
- Review app permissions
- Click ‘Install’
- OAuth Bot User Token Create
- Used as ‘Authorization Token in Slack API Credentials in n8n’
Step 5: Set Slack API Credentials (n8n):
- Go to n8n
- Double-click on Slack Trigger Node
- Go to ‘Credential to connect with’ in Parameters
- Click drop-down menu and select:
- Click on + New Credential
- For Access Token field, return to Slack API OAuth & Permissions Page
- Click ‘Copy’ button to copy ‘Bot User OAuth Token’
- Return to n8n and Paste in Access Token field
- Return to Slack API…Basic Information
- Copy Signing Secret and return to n8n
- Paste in ‘Signature Secret’ field
- Click in top left to rename credentials to ‘Slack Trigger’
- Click ‘Save’ and confirm ‘Connection Successful’
- In Slack Trigger Node Parameters:
- Change ‘Trigger On’ field to Bot/App Mention
- Click ‘Add Field’ in Options Section
- Select ’Usernames or IDs toIgnore ’
- Select SlackApp name
- (Optional) Set 2nd set of Credentials for Slack Message Node
- Click on + New Credential
- For Access Token field, return to Slack API OAuth & Permissions Page
- Click ‘Copy’ button to copy ‘Bot User OAuth Token’
- Return to n8n and Paste in Access Token field
- Return to Slack API…Basic Information
- Copy Signing Secret and return to n8n
- Paste in ‘Signature Secret’ field
- Click in top left to rename credentials to ‘Slack Message’
- Click ‘Save’ and confirm ‘Connection Successful’
- Slack Message Node Parameterss
- Resource: Message
- Operation: Send
- Send Message To: Channel
- Channel: Select Channel Name
- Message Type: Simple Text Message
- Message Text: Add Placeholder
Step 6: Event Subscriptions in Slack API (Verify WebHook URLs)
- Go to Slack API and click on ‘Event Subscriptions’ in left sidebar
- Toggle On ‘Enable Events’
- Click ‘Subscribe to Bot Events’
- Click ‘Add Bot User Event’
- app_mention
- message.channels
- message.groups
- message.im
- Go to n8n
- Double-click on Slack Trigger Node
- Twirl open ‘WebHook URLs’
- Select ‘Test’
- Click to Copy Test WebHook URL to clipboard
- Return to Slack API
- Paste in Test WebHook URL and look for ‘Verified’
- Click ‘Save Changes’ at the bottom of the page
Step 7: Add Slack App/Bot to Slack Channel
- Open Slack
- Click on new channel name
- Go to message field
- Type @nameofslackappbot and type anything
- Press Return to send message
- Look for Slackbot message and click ‘Add Them’ to channel
Step 8: Test n8n Workflow and Activate when ready
- Return to n8n
- Save Workflow
- Click ‘Execute Workflow’ (while workflow is set to Inactive)
- Return to Slack and send @slackapp message so Slack Trigger can catch it
- If Prompt error in AI Agent, double-click to open
- Change Source for Prompt to ‘Define Below’
- Go to left panel where ‘Slack Trigger’ info is
- Select ‘Text’ field and drag on Prompt field
- Click ‘Execute Step’ to test AI Agent & Model (output in right panel)
- Double-click on Slack Message Node
- In left panel (Input) select ‘Text Output’ from AI Agent
- Drag ‘Text Output’ into ‘Message Text’ field
- Execute Step and it should be sent to Slack channel
- To turn of ‘Automated with this n8n Workflow’
- Go to Options
- Select ‘Include Link to Workflow’
- Toggle Off
- Click ‘Save’
- Toggle Inactive to Active
- Double-click ‘Slack Trigger Node’
- Expand ‘WebHook URLs’
- Click ‘Production’ and click on URL to copy to clipboard
- Go to Slack API
- Go to ‘Event Subscriptions’
- Click ‘Change’
- Paste in Production WebHook URL and wait for ‘Verified’
- Go to bottom and click ‘Save’
- Test in Slack
- Select Channel
- Enter Message to @slackappbot
- Type anything
- Tap Return to Send
- Wait for response
Scopes (Bot Token)
app_mentions:read
View messages that directly mention @finbar in conversations that the app is in
assistant:write
Allow “finbar” to act as an App Agent
channels:history
View messages and other content in public channels that “finbar” has been added to
channels:join
Join public channels in a workspace
channels:read
View basic information about public channels in a workspace
chat:write
Send messages as @finbar
files:read
View files shared in channels and conversations that “finbar” has been added to
files:write
Upload, edit, and delete files as “finbar”
groups:history
View messages and other content in private channels that “finbar” has been added to
groups:read
View basic information about private channels that “finbar” has been added to
im:history
View messages and other content in direct messages that “finbar” has been added to
im:read
View basic information about direct messages that “finbar” has been added to
mpim:history
View messages and other content in group direct messages that “finbar” has been added to
mpim:read
View basic information about group direct messages that “finbar” has been added to
reactions:read
View emoji reactions and their associated content in channels and conversations that “aimike” has been added to
reactions:write
Add and edit emoji reactions
search:read.files
Search a workspace’s files
usergroups:read
View user groups in a workspace
usergroups:write
Create and manage user groups
users.profile:read
View profile details about people in a workspace
users:read
View people in a workspace
Scopes (User Token)
Scopes that access user data and act on behalf of users that authorize them.
channels:history- View messages and other content in a user’s public channels
channels:write- Manage a user’s public channels and create new ones on a user’s behalf
stars:read- View a user’s starred messages and files
stars:write- Add or remove stars for a user
Subscribe to bot events
app_mentionmessage.channelsmessage.groupsmessage.im