Resources · n8n integration

Slack n8n integrationAutomate Slack with n8n.

Need Slack to react to what your workflows do, and the other way round? The Slack n8n integration covers 44 operations across 7 resources (channels, messages, files, reactions, stars, users, user groups), and the Slack Trigger catches 9 workspace events, from a message posted to a file shared.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Slack n8n integration give you?

The Slack n8n integration links a Slack workspace to n8n through two nodes. The Slack node calls the Slack API and covers 44 operations across 7 resources. The Slack Trigger receives 9 workspace events over a webhook, meaning a URL that Slack calls the second something happens. One credential drives both nodes when it carries an API access token; with OAuth2, the Slack node is covered and the trigger needs one of its own. A single Slack app still serves every workflow on your instance.

Approvals that stay inside Slack. The Message resource has a Send and Wait for Response operation: n8n posts the question, pauses the run, and picks it up when someone answers. With Response Type set to Approval, the signing secret in Signature Secret and Capture Who Responded turned on, the buttons work in the message itself, no browser page opens, and the output records who responded. Restrict Who Can Approve keeps the decision with the people you list; anyone else who clicks gets a private notice and the workflow keeps waiting.

A channel per project, opened and archived on its own. A new row in Google Sheets can create the channel (Channel Visibility decides public or private), invite the right people, set the purpose so nobody asks what the room is for, then archive it once the project closes. Nothing is lost on the way: an archived conversation keeps its history and comes back with Unarchive.

Slack as the front door of a workflow. The trigger fires on a message or a mention in a watched channel, and the run answers with the data your team was asking for, or forwards it to Discord or Gmail when the next step belongs somewhere else. Files travel the same road: File Shared events with Download Files turned on hand the file straight to the following node.

When to reach for HTTP Request instead. Those 44 operations are the boundary of the node. For any other Slack endpoint, the HTTP Request node calls it directly and reuses the same Slack credential through predefined authentication, so you still manage one app and one token.

The limits worth knowing before you build. OAuth2 is the recommended method for the Slack node, but it does not work with the Slack Trigger, which needs an API access token. A few scopes cannot be granted to a bot token (channels:write, stars:read, stars:write, users.profile:write), so the operations behind them ask for a user token. Slack allows one request URL per app, which makes testing and production compete for the same trigger. For the wider picture on the platform itself, the n8n review and the n8n training go past this single integration.

Connect

How do you connect Slack to n8n?

  1. 01

    Create the Slack app and copy its token

    Open your Slack API Apps page and select Create New App, then From a manifest. Pick the workspace, paste the JSON manifest n8n publishes (it sets every scope in one step, from channels:read to users:read), and create the app. Under Features, then OAuth & Permissions, select Install to Workspace and Allow, which takes a Slack workspace admin. Copy the Bot User OAuth Token from the OAuth Tokens section.

  2. 02

    Save the credential in n8n

    In n8n, open Credentials and paste that value into the Access Token field. A credential is created once and reappears in the dropdown of every workflow, so the whole instance shares one Slack app. The access token is required for the Slack Trigger and works with the Slack node, where OAuth2 (Client ID and Client Secret from the same app) is the recommended method.

  3. 03

    Turn on events and verify the URL

    For the trigger, go to Features, then Event Subscriptions in your Slack app and turn on Enable Events. Copy the Webhook URL from n8n into Request URL. Once Slack verifies it, select the bot events to subscribe to, and filter them with the Trigger On field in n8n. For an event that is missing from the n8n list, add it as a bot event and select Any Event. Paste the Signing Secret from Settings, then Basic Information, into Signature Secret.

Triggers

What the Slack Trigger can listen to

Slack Trigger is the node that starts a workflow when something happens in Slack. It listens to 9 events, listed below by family. Pick one or several, activate the workflow: n8n registers the webhook on your Slack account.

What you see in n8n

Every event, by family

One row per object, one chip per action. The event to tick in the node is object.action; hover a chip to read exactly when it fires.

any_event.*1
  • any_event.
    • any_event
app_home_opened.*1
  • app_home_opened.
    • app_home_opened
app_mention.*1
  • app_mention.
    • app_mention
channel_created.*1
  • channel_created.
    • channel_created
file_public.*1
  • file_public.
    • file_public
file_share.*1
  • file_share.
    • file_share
message.*1
  • message.
    • message
reaction_added.*1
  • reaction_added.
    • reaction_added
team_join.*1
  • team_join.
    • team_join

Configuration notes

01Set up the Slack TriggerThe Slack Trigger is a webhook node: Slack calls the n8n URL as soon as an event happens, so nothing is polled on a schedule and events land within seconds. The node is at version 1 and handles the 9 events below.

The Slack Trigger is a webhook node: Slack calls the n8n URL as soon as an event happens, so nothing is polled on a schedule and events land within seconds. The node is at version 1 and handles the 9 events below.

Key parameters

  • Trigger On: the events that start the workflow, among the ones your Slack app subscribes to.
  • Watch Whole Workspace: on, the node watches every channel instead of one. Slack then sends an event for any channel your app belongs to, and each one uses an execution, so treat it with care.
  • Channel to Watch: required unless Watch Whole Workspace is on. Pick it from the list, by ID (Slack shows it at the bottom of the channel details with a copy button) or by URL, formatted as https://app.slack.com/client/<channel-address>.
  • Download Files: adds the file itself to the node output, for the File Shared and File Made Public events.
  • Resolve IDs: an option that returns names instead of raw IDs.
When to use it
any time Slack is where the signal starts, rather than where a workflow ends.
02Message and mention eventsTwo events cover what people write. message (New Message Posted to Channel) fires on every message posted to a channel the app was added to. app_mention (Bot / App Mention) fires only when your bot or app is mentioned there, which turns a workflow into something colleagues call on demand instead of a firehose.

Two events cover what people write. message (New Message Posted to Channel) fires on every message posted to a channel the app was added to. app_mention (Bot / App Mention) fires only when your bot or app is mentioned there, which turns a workflow into something colleagues call on demand instead of a firehose.

Key parameters

  • Channel to Watch: both events apply to it, so the trigger listens to one room unless Watch Whole Workspace is on.
  • Usernames or IDs to ignore: an option that drops events coming from the accounts you list, given as usernames or as a comma separated string of encoded user IDs.
Use cases
open a ticket for each message landing in a support channel, or let anyone mention the bot to get a record pulled from an internal tool and posted back as a reply.
03File eventsfile_share (File Shared) fires when a file is shared in a channel the app belongs to. file_public (File Made Public) fires when a file becomes public, which is worth watching on its own when documents should stay inside the workspace.

file_share (File Shared) fires when a file is shared in a channel the app belongs to. file_public (File Made Public) fires when a file becomes public, which is worth watching on its own when documents should stay inside the workspace.

Key parameters

  • Download Files: turn it on and the binary reaches the next node directly, with no second call to fetch it.
  • Channel to Watch: File Shared applies to the selected channel, so the trigger follows one room unless Watch Whole Workspace is on.
  • Resolve IDs: an option that returns the names behind the IDs of the channel and the user who shared the file, which saves a lookup later in the run.
Use cases
route every contract dropped in a client channel to your storage and log the reference next to the deal, or alert a security channel the moment a file is made public and have someone confirm it was meant to be.
04People, channel and reaction eventsThe remaining events describe the workspace itself. team_join (New User) fires when someone is added to Slack. channel_created (New Public Channel Created) reports a new public channel. reaction_added (Reaction Added) fires when a reaction lands on a message the app was added to, and app_home_opened (App Home Opened) when a user opens the Home tab of your app. any_event (Any Event) catches everything, including an event you added as a bot event but cannot find in the n8n list.

The remaining events describe the workspace itself. team_join (New User) fires when someone is added to Slack. channel_created (New Public Channel Created) reports a new public channel. reaction_added (Reaction Added) fires when a reaction lands on a message the app was added to, and app_home_opened (App Home Opened) when a user opens the Home tab of your app. any_event (Any Event) catches everything, including an event you added as a bot event but cannot find in the n8n list.

Key parameters

  • Emoji Names to Filter: limits Reaction Added to the emoji you name, comma separated and not colon separated, for example thumbsup, eyes, white_check_mark. Leave it empty to catch any reaction.
Use cases
start onboarding when a new user joins, or treat a white_check_mark on a request as the green light that moves a task forward.
Actions

Slack actions available in n8n

The Slack node exposes 44 operations across 7 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCreateGetGet ManyUpdateDeleteAddRemoveArchiveCloseDisableEnableGet PermalinkGet User's StatusGet User's ProfileGet UsersHistoryGetInviteJoinKickLeaveMemberOpenSendRenameRepliesSearchSend and Wait for ResponseSet PurposeSet TopicUnarchiveUpdate User's ProfileAdd UsersUpload
Channel✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓
File✓✓✓
Message✓✓✓✓✓✓
Reaction✓✓✓
Star✓✓✓
User✓✓✓✓✓
User Group✓✓✓✓✓✓✓

Channel

17 operations
01

Archive a channel

channel.archive

What you see in n8n

Notes & use cases

Archiving closes a conversation without deleting it: the channel leaves the active list, its history stays readable, and Unarchive brings it back later.

Key parameters

  • Channel: the Slack channel to archive, chosen from the list, by ID or by URL. The field is not marked required, so it often arrives from a previous step through an expression of the form {{ $json.channel }}.
Use cases
close the channel of a finished project at the end of a sprint, or tidy up the one a workflow opened for a single incident.
02

Close a channel

channel.close

What you see in n8n

Notes & use cases

Close ends a direct message or a multi-person direct message. The conversation is not deleted, it simply stops sitting in the sidebar of the people involved.

Key parameters

  • Channel: required. The direct message to close, selected from the list, by ID or by URL. Feed it the ID that Open a channel returned, so the run closes what it opened.
Use cases
a workflow opens a private conversation to collect one answer from a colleague, then closes it once the reply is in, instead of leaving dead threads behind.
03

Create a channel

channel.create

What you see in n8n

Notes & use cases

This operation starts a new channel-based conversation and returns its ID, which every later step of the same run can reuse.

Key parameters

  • Channel: required, a plain text field holding the channel name (the placeholder reads Channel name), so an expression can build it from the record that started the workflow.
  • Channel Visibility: required, either public (Public Channel) or private (Private Channel).
Use cases
open a private channel for each new client file, or a public one per release, with the name built from the deal or the version number.
04

Get a channel

channel.get

What you see in n8n

Notes & use cases

Get a channel reads the information Slack holds about one conversation, which is how a workflow checks what it is about to write into.

Key parameters

  • Channel: required, the channel to read, from the list, by ID or by URL.
  • Include Num of Members: an option that adds the member count to the response, handy when a rule depends on how many people sit in the room.
Use cases
confirm a channel still exists before posting into it, or read the current topic and purpose before a workflow overwrites them.
05

Get many channels

channel.getAll

What you see in n8n

Notes & use cases

Get many channels returns the conversations of a Slack team as a list of items, one per channel, ready to loop over.

Key parameters

  • Return All: on, n8n walks the pages of the API and brings back every channel; off, Limit caps how many come back.
  • Exclude Archived: a filter that leaves archived conversations out of the list.
  • Types: mix and match public_channel, private_channel, mpim and im to keep only the kinds you care about.
Use cases
build an inventory of the workspace in a spreadsheet, or find the channel whose name matches a project code before a message goes out.
06

Get the history of a channel

channel.history

What you see in n8n

Notes & use cases

History pulls the messages and events of one conversation, so a workflow can read what was said instead of only writing into Slack.

Key parameters

  • Channel: required, the conversation to read the history from.
  • Oldest and Latest: the start and the end of the time range to include; Inclusive keeps the messages sitting exactly on those timestamps.
  • Return All: page through the whole range, or leave it off and set Limit.
Use cases
export yesterday's exchanges in a support channel into a report, or measure how much traffic a channel carried over a week.
07

Invite a user to a channel

channel.invite

What you see in n8n

Notes & use cases

Invite adds one or several people to a channel. They find it in their sidebar, with the conversation that already took place.

Key parameters

  • Channel: required, the channel to invite to.
  • User Names or IDs: required, the users to bring in. Choose them from the list, or pass their IDs with an expression when they come from a previous node.
Use cases
put the account manager and the technical lead in the channel a workflow just created, or add every new hire to the channels their team lives in.
08

Join a channel

channel.join

What you see in n8n

Notes & use cases

Here the app itself joins an existing conversation. Slack only delivers events from channels the app belongs to, which makes this operation the usual fix when a trigger stays quiet.

Key parameters

  • Channel: required, the conversation to join, from the list, by ID or by URL.
Use cases
right after Create a channel, have the bot join it so the Slack Trigger starts receiving messages and reactions from that room without anyone adding the app by hand.
09

Kick a user from a channel

channel.kick

What you see in n8n

Notes & use cases

Kick removes a user from a channel, the mirror image of Invite. The person keeps access to everything else in the workspace.

Key parameters

  • Channel: required, the channel to remove the user from.
  • User Name or ID: the account to remove, picked from the list or given as an ID through an expression.
Use cases
when an external collaborator finishes a mission, one run takes them out of the project channels listed in your spreadsheet or in the HR tool, instead of a manual round.
10

Leave a channel

channel.leave

What you see in n8n

Notes & use cases

Leave takes the app out of a conversation. Events from that channel stop reaching the Slack Trigger, and the bot can no longer post there.

Key parameters

  • Channel: required, the conversation to leave.
Use cases
keep the app out of the channels it has no reason to watch. That matters most with Watch Whole Workspace turned on, where every event in every channel the app belongs to costs one execution.
11

Get members of a channel

channel.member

What you see in n8n

Notes & use cases

This operation lists the people in a conversation, one item per member, which is what an audit or a reminder needs before it goes out.

Key parameters

  • Channel: required, the channel to read the members from.
  • Resolve Data: on, n8n resolves the data automatically, since the response otherwise carries only the ID of each resource.
  • Return All: take the full roster, or leave it off and set Limit.
Use cases
check that everyone on a project sits in its channel before a launch, or compare the roster with the tool that holds your teams.
12

Open a channel

channel.open

What you see in n8n

Notes & use cases

Open starts a direct message, or resumes one that already exists. With a single user it creates a one to one conversation; with several it opens a group message and preserves the order of the users.

Key parameters

  • User Names or IDs: the people to open the conversation with. Supply a channel when you do not supply users.
  • Channel ID: resumes an existing im or mpim from its ID, instead of the users field.
  • Return IM: asks Slack for the full IM channel definition in the response.
Use cases
open a direct message to send a personal reminder, keep its ID, and close it once the answer arrives.
13

Rename a channel

channel.rename

What you see in n8n

Notes & use cases

Rename changes the name of a conversation. Two values do the whole job: the channel to rename, and the name it carries from now on.

Key parameters

  • Channel: required, the channel to rename.
  • Name: required, the new name for the conversation.
Use cases
hold a naming convention without policing it, for instance when a deal changes stage and the channel should carry the new status, or when a client is renamed in the CRM.
14

Get a thread of messages posted to a channel

channel.replies

What you see in n8n

Notes & use cases

Replies returns a thread: the parent message and everything posted underneath, which is where most of the real conversation happens.

Key parameters

  • Channel: required, the channel holding the thread.
  • Message Timestamp: required, the timestamp of the parent message, in the 1663233118.856619 form Slack uses to identify a message.
  • Oldest, Latest and Inclusive: bound the replies to a time range; Return All pages through the rest.
Use cases
gather the answers to a question a workflow posted, or attach the whole discussion to the ticket it belongs to.
15

Set the purpose of a channel

channel.setPurpose

What you see in n8n

Notes & use cases

Sets the purpose of a conversation, which is where a channel says what it exists for. Writing it from a workflow means a channel never stays anonymous.

Key parameters

  • Channel: required, the channel to set the purpose of.
  • Purpose: required, the new text.
Use cases
right after Create a channel, write the client name, the owner and the go-live date into the purpose, so whoever joins in two months knows what the room is for without asking.
16

Set the topic of a channel

channel.setTopic

What you see in n8n

Notes & use cases

Sets the topic of a conversation. The topic changes far more often than the purpose, which describes the channel, and that is what makes it worth automating.

Key parameters

  • Channel: required, the channel to set the topic of.
  • Topic: required, the text to display.
Use cases
show the current deployment status or the name of the person on duty, refreshed every morning by a scheduled workflow.
17

Unarchive a channel

channel.unarchive

What you see in n8n

Notes & use cases

Unarchive brings an archived conversation back to the active list, with its history untouched.

Key parameters

  • Channel: required, the archived conversation to restore, picked from the list or passed as the ID your workflow stored when it archived the channel.
Use cases
a client reopens a project months later, and the workflow that handles the reopening restores the old channel instead of creating a new one, so the past discussion and the files shared back then travel with it.

File

3 operations
18

Get a file

file.get

What you see in n8n

Notes & use cases

Get a file reads a single file stored in Slack and returns what the API knows about it.

Key parameters

  • File ID: the identifier of the file to read. The field is not marked required, so it usually arrives through an expression pointing at the field of the incoming item that carries the ID.
Use cases
after a File Shared event, read the record before deciding whether the workflow stores the document, or check one file whose ID an earlier run wrote down.
19

Get many files

file.getAll

What you see in n8n

Notes & use cases

Get many files searches and filters the files of the team, the operation to reach for when nobody remembers where a document ended up.

Key parameters

  • Channel Name or ID: keeps only the files listed in one channel.
  • Types: filters by kind, among all, gdocs, images, pdfs, snippets, spaces and zips.
  • Message Timestamp From and Message Timestamp To: keep the files created inside that window, both bounds included.
  • Return All: page through every match, or leave it off and set Limit.
Use cases
list the PDFs shared in a client channel last month and hand the result to the next node for an archive.
20

Upload a file

file.upload

What you see in n8n

Notes & use cases

Upload sends a file produced by the workflow into Slack, either as a new file in the workspace or posted directly into the channels you name.

Key parameters

  • File Property: required, the name of the binary property that holds the data of the file to upload, so the node knows which output of the previous step to take.
  • Channel Names or IDs: the channels the file is sent to, with Initial Comment for the message that introduces it.
  • Thread Timestamp: posts the file as a reply. Use the timestamp of the parent message, never that of a reply.
Use cases
drop the generated invoice or the weekly export under the message that asked for it.

Message

6 operations
21

Delete a message

message.delete

What you see in n8n

Notes & use cases

Removes a single message from Slack. Two values point at it: the conversation it belongs to, and its timestamp, which Slack uses in place of a message ID.

Key parameters

  • Delete Message From: pick channel or user, depending on whether the message was posted in a channel or in a direct message.
  • Channel: the Slack channel to delete the message from, picked from the channel list.
  • Message Timestamp: the timestamp of the message to delete, in the 1663233118.856619 form.
Use cases
clear an alert a workflow posted once the incident is closed, or take down a status message that went to the wrong channel.
24

Send a message

message.post

What you see in n8n

Notes & use cases

Posts a message to a channel or as a direct message. The options decide whether the result reads like a plain notification or like a small interface.

Key parameters

  • Send Message To: channel to post in a channel, user to send a direct message.
  • Channel: the Slack channel to send to.
  • Message Text: the text to post, with Slack markdown on by default and switchable in Options.
  • Message Type: text for a simple message, block to paste JSON from Slack's Block Kit Builder into Blocks, attachment for attachments.
  • Include Link to Workflow: appends a link to the workflow, useful once several workflows post to the same channel.
Use cases
announce a new signup in the sales channel, or post the daily recap built by the previous nodes.
25

Send message and wait for response

message.sendAndWait

What you see in n8n

Notes & use cases

Pauses the workflow until someone answers in Slack. n8n posts the request, waits, then resumes with the decision attached to the item.

Key parameters

  • Message: the request the approver reads, sent to the Channel or user in Send Message To.
  • Response Type: approval for buttons, freeText for a written reply, customForm for a form built in Form Elements.
  • Capture Who Responded: turn it on to switch the approval buttons to Slack interactive buttons and record who responded. Restrict Who Can Approve then limits who may act.
Use cases
hold a refund until a manager approves it. Without the signing secret in the credential's Signature Secret field, the buttons show but no click resumes the run.
26

Update a message

message.update

What you see in n8n

Notes & use cases

Rewrites a message already in the channel, so one post carries the current state.

Key parameters

  • Channel: the Slack channel to update the message from.
  • Message Timestamp: the timestamp of the message to update, carried over from the node that posted it.
  • Blocks: the JSON from Slack's Block Kit Builder, pasted in to replace the layout, with expressions for the variable part.
  • Notification Text: the fallback text shown in Slack notifications, markdown included unless Options say otherwise.
  • Parse: under Update Fields, client, full or none changes how Slack treats the new text.
Use cases
move a deployment message from queued to done, or refresh a counter posted at the start of the day.

Reaction

3 operations
27

Add a reaction

reaction.add

What you see in n8n

Notes & use cases

Puts an emoji on a message that already exists, a mark the team reads at a glance.

Key parameters

  • Channel: the Slack channel the message sits in.
  • Message Timestamp: the timestamp of the message to react to.
  • Emoji Code: the code, not the character, so +1 rather than the thumbs-up emoji itself.
Use cases
mark a request as picked up once the workflow has created the ticket, or flag with a code the messages an AI step has already read.
28

Get a reaction

reaction.get

What you see in n8n

Notes & use cases

Reads the reactions on one message and hands them to the next node, so a workflow can count who reacted with what. Nothing is written back to Slack.

Key parameters

  • Channel: the Slack channel to get the reactions from.
  • Message Timestamp: the timestamp of the message to read.
Use cases
run a light vote in a channel and let the workflow act on the tally, or check that someone acknowledged an alert with an emoji before escalating it.
29

Remove a reaction

reaction.remove

What you see in n8n

Notes & use cases

Takes one emoji back off a message. The reaction is named the same way it was added, by channel, timestamp and code, so the removal undoes exactly what an earlier step marked.

Key parameters

  • Channel: the Slack channel the message was posted in.
  • Message Timestamp: the timestamp of the message.
  • Emoji Code: the same code used when the reaction was added, +1 for instance.
Use cases
drop the in-progress emoji when a job finishes, so a channel that follows several states stays readable.

Star

3 operations
30

Add a star

star.add

What you see in n8n

Notes & use cases

Stars a message or a file for the account the credential belongs to, the same account whose list Get many stars reads back.

Key parameters

  • Item to Add Star: message or file.
  • Channel and Message Timestamp: where the message sits, when the target is a message.
  • File ID: the file to star, when the target is a file.
  • File Comment: under Options, stars a comment left on a file instead.
Use cases
star the invoice files a workflow picks up during the month, so the accountant finds them gathered in one place.
31

Delete a star

star.delete

What you see in n8n

Notes & use cases

Unstars an item. Nothing is required at the top of the node: every value travels in Options, and you fill only the ones that match what was starred.

Key parameters

  • Channel Name or ID: the channel where the starred message was posted, chosen from the list or set with an expression.
  • Message Timestamp: the timestamp of the message to unstar.
  • File ID or File Comment: the file, or the comment on a file, to unstar instead.
Use cases
clear the star a workflow added once the document has been processed, so the starred list stays a real to-do rather than an archive.
32

Get many stars

star.getAll

What you see in n8n

Notes & use cases

Lists the stars of the authenticated user, one item per starred message or file. It reads the account behind the credential, not the workspace as a whole.

Key parameters

  • Return All: on, the node keeps asking for pages until the list is exhausted; off, Limit fixes the maximum number of stars.
Use cases
build a weekly digest of everything the automation account has starred, or check whether an item was already flagged before starring it again.

User

5 operations
33

Get information about a user

user.info

What you see in n8n

Notes & use cases

Fetches the Slack record of a single user from an ID. Useful when an event or an earlier node leaves an ID behind and the rest of the workflow needs a name.

Key parameters

  • User: the ID of the user to get information about, picked from the list or supplied by an expression such as {{ $json.data.responder.id }} after an approval step.
Use cases
turn the raw ID left by a Slack event into something readable before writing a row, or name the person who triggered a workflow in the ticket it opens.
34

Get many users

user.getAll

What you see in n8n

Notes & use cases

Pulls the list of users in the workspace, one item per member. From there a workflow can match Slack accounts against another system, or simply count them.

Key parameters

  • Return All: enabled, n8n collects the full member list page by page; disabled, Limit decides how many users come back.
Use cases
compare the Slack roster with the HR list every Monday and flag the accounts that no longer match, or refresh a lookup table other workflows read.
35

Get a user's profile

user.getProfile

What you see in n8n

Notes & use cases

The profile holds what a person shows about themselves in Slack: first name, last name, status, custom fields. This operation reads it for one user and returns it as an item.

Key parameters

  • User: the ID of the user whose profile you want, picked from the user list or set with an expression.
Use cases
read the custom profile fields of the person who opened a request, so a routing step can send it to the right team without asking again.
36

Get a user's presence status

user.getPresence

What you see in n8n

Notes & use cases

Checks whether a user is online in Slack right now. The answer describes the present moment, so read it just before the workflow needs to decide something.

Key parameters

  • User: the ID of the user to get the online status of.
Use cases
route an urgent request to someone who is online instead of paging the whole channel, or hold a reminder until the person is back.
37

Update a user's profile

user.updateProfile

What you see in n8n

Notes & use cases

Writes values back into a Slack profile. Everything lives in Options, and two of those fields carry a condition worth checking before the workflow goes live.

Key parameters

  • First Name and Last Name: the name shown in Slack.
  • Email: can only be changed by admins, for users on paid teams.
  • User ID: the user to change, which only team admins on paid teams may specify.
  • Set Status and Custom Fields: the status line and the custom profile fields.
Use cases
set a status from the shift planner when an on-call rotation starts, or fill custom fields from the HR tool at the end of an onboarding.

User Group

7 operations
38

Add users to a user group

userGroup.updateUsers

What you see in n8n

Notes & use cases

Adds people to a user group that already exists. Existing members are preserved, so the list you pass is an addition and never a replacement.

Key parameters

  • User Group ID: the encoded ID of the user group to update.
  • User Names or IDs: the users to add, chosen from the list or given as IDs through an expression.
  • Include Count: under Options, returns the number of users in the group alongside the result.
Use cases
add new hires to the group a channel mentions, straight from the onboarding workflow, so nobody has to think about it on day one.
39

Create a user group

userGroup.create

What you see in n8n

Notes & use cases

Creates a user group, the handle that reaches several people at once. Two of its values have to be unique in the workspace, which any workflow generating groups needs to plan for.

Key parameters

  • Name: a name for the user group, unique among user groups.
  • Handle: the mention handle, unique among channels, users and user groups.
  • Description: a short description of the group.
  • Channel Names or IDs: the channels the group uses as a default.
Use cases
open a group per project when the project starts, with its default channels already attached.
40

Disable a user group

userGroup.disable

What you see in n8n

Notes & use cases

Switches a user group off. The group is not destroyed, since Enable brings it back with the same ID, which makes this the safe way to retire a handle nobody should ping anymore.

Key parameters

  • User Group ID: the encoded ID of the user group to update.
  • Include Count: under Options, adds the number of users in the group to the response.
Use cases
disable the group of a project that has shipped, and keep the option of turning it back on if the project comes back.
41

Enable a user group

userGroup.enable

What you see in n8n

Notes & use cases

Turns a disabled user group back on. It takes the same single identifier as Disable, so the pair can be driven from a schedule or from a form without any other lookup.

Key parameters

  • User Group ID: the encoded ID of the user group to update.
Use cases
bring a seasonal support group back at the start of the busy period, or re-enable an on-call group the morning a rotation resumes.
42

Get many user groups

userGroup.getAll

What you see in n8n

Notes & use cases

Every user group in the workspace comes back as an item, and three options widen what each one carries.

Key parameters

  • Return All: leave it off and Limit bounds the number of groups; turn it on for the complete list.
  • Include Users: adds the list of users for each group.
  • Include Disabled: adds the groups that have been disabled.
  • Include Count: adds the number of users in each group.
Use cases
audit who belongs to which group before a reorganization, or check from a workflow that the group about to be mentioned still exists.
43

Get users from a user group

userGroup.getUsers

What you see in n8n

Notes & use cases

Open one group and get its members back. The response carries user IDs by default, and a single option turns them into full user objects, which spares a lookup per person.

Key parameters

  • User Group ID: the encoded ID of the user group.
  • Resolve Data: under Options, returns full user objects instead of just user IDs.
Use cases
send a direct message to everyone in a group without mentioning the handle in a public channel, or compare a group against a rota before a handover.
44

Update a user group

userGroup.update

What you see in n8n

Notes & use cases

Edits an existing group without touching its membership. Name, handle, description and default channels all sit in Update Fields, where you add only what should change.

Key parameters

  • User Group ID: the encoded ID of the user group to update.
  • Name: a new name, still unique among user groups.
  • Handle: a new mention handle, unique among channels, users and user groups.
  • Channel Names or IDs: the default channels of the group.
Use cases
rename the group when a team changes name, or repoint its default channels after a workspace cleanup.
Need help

Need help automating Slack with n8n?

A person reads every message.

FAQ

Frequently asked questions

01Is the Slack n8n integration free?
Yes on the n8n side. The Slack node and the Slack Trigger ship with n8n, so there is nothing to install and no extra cost, on n8n Cloud as on a self-hosted instance (Community Edition, Sustainable Use license). A workflow built on one runs the same way on the other. What you do need is a Slack app in your workspace, created from the manifest n8n publishes, and the token it produces. Installing that app takes a Slack workspace admin, so plan that step with whoever holds the keys. The scopes you grant decide what the node is allowed to do, not what it costs.
02What credentials and scopes does the Slack node need?
Two methods exist: an API access token and OAuth2. The access token is required for the Slack Trigger and works with the Slack node, although n8n does not recommend it there. OAuth2 is the recommended method for the Slack node and does not work with the trigger, so a workspace using both often keeps two credentials. Scopes decide the rest. The manifest n8n publishes grants channels:read, channels:history, chat:write, files:read, files:write, groups:read, reactions:read, usergroups:read, users.profile:read and users:read, among others. Some scopes cannot be granted to a bot token, including channels:write, stars:read, stars:write and users.profile:write, so the operations behind them need a user token.
03What are the limits of the Slack node in n8n?
The node exposes 44 operations across 7 resources, and that list is the boundary. For an endpoint it does not cover, the HTTP Request node calls the Slack API directly and reuses the same credential through predefined authentication, so you still manage one app. Lists are paginated: leave Return All off and the node stops at Limit, which suits a preview and breaks an export. Slack registers one request URL per app, so a published workflow and a test run compete for the same trigger. And search:read is deprecated by Slack, kept for node versions 2.6 and below, which matters for message search.
04Does the Slack Trigger work in real time?
Yes. The Slack Trigger is a webhook node, meaning Slack calls an n8n URL the moment something happens instead of n8n asking on a schedule, so events land within seconds. You turn on Enable Events in the Slack app, paste the n8n Webhook URL into Request URL, then pick the bot events to subscribe to; the Trigger On field filters which of them actually start the workflow. Two things to watch. Slack keeps one request URL per app, so moving between the test URL and the production URL means editing the app. And adding the signing secret to Signature Secret lets n8n verify each call comes from Slack, available from n8n 1.106.0.
05n8n or Make for Slack automation?
It depends on where the workflow should run and how you want to pay for it. Make is hosted by Make, with no self-hosting option, and bills per operation, so a Slack workflow that reads a busy channel and loops over each message costs more as volume grows. n8n runs on n8n Cloud or on your own server, which keeps message content and shared files inside infrastructure you control. Both platforms lay the logic out on a visual canvas, so that is rarely what separates them. Make often feels friendlier on a first workflow. When Slack automations move data between internal tools or carry approvals, self-hosting and a flat cost usually settle it.