---
title: "Slack Module"
slug: "slack"
updated: 2026-03-30T22:35:02Z
published: 2026-03-30T22:35:02Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.decisions.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Slack Module

## Overview

| ## Module Details |
| --- |
| **Core or GitHub Module** | Github Module |
| **Restart Required?** | No |
| **Steps Exposed?** | Yes |
| **Step Location** | Integration > Slack Messenger |
| **Settings Location** | N/A |
| **Prerequisites** | - Slack account and application - Experience using [OAuth](/v9/docs/establishing-an-oauth-provider) and generating [OAuth](/v9/docs/creating-oauth-tokens) tokens in Decisions - Knowledge of [Slack's API](https://api.slack.com/apps) for correct scopes - [Project Dependency](https://documentation.decisions.com/docs/project-dependencies). |

The **Slack Module** allows a user to integrate the Slack application with Decisions. Depending on the permitted scopes provided to the Slack application, users will be able to create and archive channels, invite users into a channel, pin and unpin messages and delete messages sent by the application through Flows. [Installing the Slack module](/v9/docs/installing-modules-decisions) will add 13 steps to **Integration > Slack Messenger**in the Flow Toolbox.

Slack has two client types - **Bot** and **User**. Each has its own **Access Token**. Bot clients are unable to use certain steps such as Search for Text in Channels and Create Channel. Setting up each type of client is broken out below.

---

## Configuration of User Clients

First you need to register your client application.

1. Go to [https://api.slack.com/apps](https://api.slack.com/apps) and login.
2. Click **Create New App**.
3. Give the app a name and assign it to a workspace.
4. Click **OAuth & Permissions** located in the left menu.
5. Under **Scopes**– User Token Scopes click Add an OAuth Scope and set the scopes. You can choose whichever scopes you desire from the list Slack provides. The recommended ones are: channels:history, channels:read, channels:write, chat:write, im:write, pins:write, search:read, users:read.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2023-09-12_15h48_12.png)
6. At the top of the page, click**Install to Workspace**.  
![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2023-09-12_15h51_28.png)
7. Click**Allow.**![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2023-09-12_15h52_59.png)

### Create a Provider for Slack OAuth in **Decisions**

1. Go to **System > Integration > OAuth > Providers** , click **ADD OAUTH PROVIDER.****![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/Screenshot%202024-04-19%20145641.png)**
2. Fill out the form. The below table lists URLs used for the integration:

| URL | Description | Example |
| --- | --- | --- |
| Token Request URL | The Token Request URL found on Slack's API documentation. | https://slack.com/api/oauth.v2.access |
| Authorize URL | The OAuth URL found in Slack's API documentation. | https://slack.com/oauth/v2/authorize |
| Callback URL | The CallbackURL used to receive the token. This must be configured as the RedirectURL in Slack for the integration. | [portalbaseurl]/HandleTokenResponse |
3. **Client Id** and **Client Secret Key**can be found under the **Basic Information Page.**![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2023-09-12_16h12_30.png)![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1627401656877%20-%209_12_23(1).png)
4. The other options can be left blank. Press **SAVE**when complete.

### Get Access Token in **Decisions**

1. Go to **System > Integration > OAuth > Tokens** and click **CREATE TOKEN.****![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/Screenshot%202024-04-19%20145813.png)**
2. Set **Token Name** value.
3. Choose the provider you have created.
4. Set Additional values to user_scope=channels:history,channels:read,channels:write,chat:write,im:write,pins:write,search:read,users:read
5. Click **Request Token.** A browser window will be open. Just follow the instructions in it.

---

## Configuration of Bot Clients

This example will demonstrate how to configure the **Slack Module.**

1. Navigate to Slack in a browser and visit [Slack's API](https://api.slack.com/apps) page to create a new application.
2. Select **OAuth & Permissions**.
3. Under **Bot****Token Scopes**, click **Add an OAuth Scope**. Listed below in the screenshot are some scopes recommended for use with Decisions.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1657222586196(1).png)
4. Once the Scopes have been configured, select **Install to Workspace.**  
![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1627398650494.png)
5. A prompt will requesting permission to install the app to the workspace. Click**Allow.****![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1660327021741.png)**
6. In Decisions, create an [OAuth Provider](/v9/docs/establishing-an-oauth-provider).
7. Enter the values for the **Token Request URL**, **Authorize URL**, **Callback URL**, **Default****Consumer,**and**Secret****Keys.** The**Default Consumer Key** and**Default Consumer Secret Key**can be located on**Slack API**for developers by clicking the**Basic Information**section**.**The fields are labeled as **Client ID** and**Client Secret.**The below table lists URLs used for the integration:

| URL | Description | Example |
| --- | --- | --- |
| Token Request URL | The Token Request URL found on Slack's API documentation | https://slack.com/api/oauth.v2.access |
| Authorize URL | The OAuth URL found in Slack's API documentation | https://slack.com/oauth/v2/authorize |
| Callback URL | The CallbackURL used to receive the token. This must be configured as the RedirectURL in Slack for the integration. | [portalbaseurl]/HandleTokenResponse |
8. Once the **CallBackURL** is configured in Decisions, define a **RedirectURL** that matches the **CallbackURL** within the application. This can be found under the**OAuth & Permissions** section.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1657223083519.png)
9. Create an [OAuth Token](/v9/docs/creating-oauth-tokens).
10. Enter a name for the token and select the Provider.****Under**Scope**,****enter the scopes defined under Bot Tokens. Click **Request Token**. Follow the instructions on the browser window and click **OK** when done.

---

## Locating Slack Channel ID

The **Slack Channel ID** can be located in Slack by right clicking the **channel > view channel details**. In addition the **Get Channel List** and**Get Channel ID by Name** steps will also display the **Channel ID** as outputs. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1657308764605.png)

---

## Module Steps

| Step Name | Description |
| --- | --- |
| [Archive Channel](https://documentation.decisions.com/step-library/docs/archive-channel) | Changes a channel's status to Archived meaning that no new messages can be added to it. |
| [Create Channel](https://documentation.decisions.com/step-library/docs/create-channel) | Allows a user to create a public or private channel. |
| [Delete Message from Channel](https://documentation.decisions.com/step-library/docs/delete-message-from-channel) | Allows messages to be removed that were posted by the bot within the Slack application. |
| [Get Channel Id by Name](https://documentation.decisions.com/step-library/docs/get-channel-id-by-name) | Retrieves a Channel ID by inputting the channel name. |
| [Get Channel List](https://documentation.decisions.com/step-library/docs/get-channel-list) | Returns a list of all channels created within the Slack workspace. |
| [Get Messages from Channel](https://documentation.decisions.com/step-library/docs/get-message-from-channel) | Receives messages from the specified channel. |
| [Get User List in Channel](https://documentation.decisions.com/step-library/docs/get-user-list-in-channel) | Shows all the users in a particular channel. |
| [Invite to Channel](https://documentation.decisions.com/step-library/docs/invite-to-channel) | Invite a Slack user to a channel. |
| [Open Channel with Users](https://documentation.decisions.com/step-library/docs/open-channel-with-users) | Create a Channel and invite users at the same time. |
| [Pin Message to Channel](https://documentation.decisions.com/step-library/docs/pin-message-to-channel) | Pins a message at the top of a channel, which makes it easier for users to view the message. |
| [Post Message to Channel](https://documentation.decisions.com/step-library/docs/post-message-to-channel) | Sends a message to the specified channel as the integrated application. |
| [Search for Text in Channels](https://documentation.decisions.com/step-library/docs/search-for-text-in-channel) | Reviews Channels for specified text. |
| [Unpin Message to Channel](https://documentation.decisions.com/step-library/docs/unpin-message-to-channel) | Allows a user to remove a pinned message from a channel. |

---

For further information on Modules, visit the [Decisions Forum](https://community.decisions.com/categories/Modules).
