For the complete documentation index, see llms.txt. This page is also available as Markdown.

Slack

Use the Slack node to automate work in Slack, and integrate Slack with other applications. n8n has built-in support for a wide range of Slack features, including creating, archiving, and closing channels, getting users and files, as well as deleting messages.

On this page, you'll find a list of operations the Slack node supports and links to more resources.

Credentials

Refer to Slack credentials for guidance on setting up authentication.

Human-in-the-loop for AI tool calls

This node can be used as a human review step for AI Agent tool calls. When configured this way, the AI Agent will pause and request human approval through this service before executing tools that require oversight. Learn more in Human-in-the-loop for AI tool calls.

Operations

  • Channel

    • Archive a channel.

    • Close a direct message or multi-person direct message.

    • Create a public or private channel-based conversation.

    • Get information about a channel.

    • Get Many: Get a list of channels in Slack.

    • History: Get a channel's history of messages and events.

    • Invite a user to a channel.

    • Join an existing channel.

    • Kick: Remove a user from a channel.

    • Leave a channel.

    • Member: List the members of a channel.

    • Open or resume a direct message or multi-person direct message.

    • Rename a channel.

    • Replies: Get a thread of messages posted to a channel.

    • Sets purpose of a channel.

    • Sets topic of a channel.

    • Unarchive a channel.

  • File

    • Get a file.

    • Get Many: Get and filter team files.

    • Upload: Create or upload an existing file.

  • Message

    • Delete a message

    • Get permalink: Get a message's permalink.

    • Search for messages

    • Send a message

    • Send and Wait for Response: Send a message and wait for a response from the recipient before continuing. Approvers can also respond directly inside Slack. Refer to Approvals in Slack for more information.

    • Update a message

  • Reaction

    • Add a reaction to a message.

    • Get a message's reactions.

    • Remove a reaction from a message.

  • Star

    • Add a star to an item.

    • Delete a star from an item.

    • Get Many: Get a list of an authenticated user's stars.

  • User

    • Get information about a user.

    • Get Many: Get a list of users.

    • Get User's Profile.

    • Get User's Status.

    • Update User's Profile.

  • User Group

    • Create a user group.

    • Disable a user group.

    • Enable a user group.

    • Get Many: Get a list of user groups.

    • Update a user group.

Message search and version-specific behavior

Search messages

Node version 2.7 and above uses the Real-time Search API (assistant.search.context) for the Message > Search operation. Node version 2.6 and below use the deprecated search.messages endpoint. n8n gates this by node version, so the change doesn't affect existing workflows on node version 2.6 and below.

On node version 2.7 and above:

  • New options: Channel Types (public, private, group DM, DM), After and Before (date filters), and Keyword Search Only (disables semantic search).

  • Semantic search: by default, Slack may apply semantic search to question-style queries (for example, queries that start with a question word or end with a question mark), so results aren't always strictly literal keyword matches. Enable Keyword Search Only to force literal matching. Semantic ranking requires Slack AI (a paid plan).

  • Limit: Return All is removed from node version 2.7 and above. Only Limit remains, capped at 50. The endpoint returns 20 results per request and rate limits aggressively (around 10 requests per minute per user), so it isn't built for exhaustive retrieval. Node version 2.6 and below keep Return All.

  • Authentication: the endpoint needs a user token, so use OAuth2 or supply a user token with Access Token authentication. A bot token can't call this endpoint, and the Slack app must have AI features enabled. If you use OAuth2, reconnect your existing credential so it picks up the new search:read.* scopes.

  • Output fields: results use content, message_ts, channel_id, channel_name, and author_name, instead of the previous text, ts, channel, and username.

Custom Bot Profile Photo

From node version 2.6, the Message > Send option Custom Bot Profile Photo (custom icon or emoji) is only available with Access Token authentication, not OAuth2. It relies on the chat:write.customize scope, which is a bot-token-only scope that the OAuth2 user-token path can't use. Node version 2.5 and below still show the option with OAuth2, though Slack ignores it in that case.

Templates and examples

Browse Slack node documentation integration templates or search all templates

Refer to Slack's documentation for more information about the service.

Required scopes

Once you create a Slack app for your Slack credentials, you must add the appropriate scopes to your Slack app for this node to work. Start with the scopes listed in the Scopes | Slack credentials page.

If those aren't enough, use the table below to look up the resource and operation you want to use, then follow the link to Slack's API documentation to find the correct scopes.

Resource

Operation

Slack API method

Channel

Archive

Channel

Get Many

Channel

History

Channel

Replies

Channel

Set Purpose

Channel

Set Topic

Channel

Unarchive

File

Get

File

Get Many

File

Upload

Message

Delete

Message

Get Permalink

Message

Search

Node version 2.7 and above: assistant.search.context (Real-time Search API). Node version 2.6 and below: search.messages (deprecated).

Message

Send

Message

Send and Wait for Response

Message

Update

Reaction

Add

Reaction

Get

Reaction

Remove

Star

Add

Star

Delete

Star

Get Many

User

Get

User

Get Many

User

Get User's Profile

User

Get User's Status

User

Update User's Profile

User Group

Create

User Group

Disable

User Group

Enable

User Group

Get Many

User Group

Update

What to do if your operation isn't supported

If this node doesn't support the operation you want to do, you can use the HTTP Request node to call the service's API.

You can use the credential you created for this service in the HTTP Request node:

  1. In the HTTP Request node, select Authentication > Predefined Credential Type.

  2. Select the service you want to connect to.

  3. Select your credential.

Refer to Custom API operations for more information.

Last updated

Was this helpful?