--- title: "Slack Module" slug: "slack" updated: 2026-07-02T17:04:04Z published: 2026-07-02T17:04:04Z canonical: "documentation.decisions.com/slack" --- > ## 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](/version-10/docs/establishing-an-oauth-provider) and generating [OAuth](/version-10/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/version-10/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](/version-10/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 **Projects > Integration > OAuth > Providers** , click **ADD OAUTH PROVIDER.****![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1783011789372.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 **Projects > Integration > OAuth > Tokens** and click **CREATE TOKEN.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1783011821481.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 request 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](/version-10/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 table below 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](/version-10/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. |