Slack Integration with Orkes Conductor
- v5.3.0 and later
Integrating Slack with Orkes Conductor lets you build workflows that interact with your Slack workspace using the following operations:
- Create Channel
- List Channels
- Get Channel Info
- Join Channel
- Leave Channel
- Invite to Channel
- Kick from Channel
- Rename Channel
- Archive Channel
- List Channel Members
- Set Channel Topic
- Set Channel Purpose
- Send Message
- Send Slack API Message
- Send Message and Wait for Response
- Update Message
- Delete Message
- Get Channel History
- Get Thread Replies
- Get Message Permalink
- Search Messages
- Add Reaction
- Remove Reaction
- Get Reactions
- Upload File
- List Files
- Get File
- Open Conversation
- Close Conversation
- Get User Info
- List Users
- Get User Profile
- Get User Status
- Update User Profile
- Create User Group
- Update User Group
- Disable User Group
- Enable User Group
- List User Groups
This guide explains how to set up and use the integration. Here’s an overview:
- Get the required credentials from Slack.
- Configure a new Slack integration in Orkes Conductor.
- Use Slack integration in workflows.
Step 1: Get the Slack credentials
To integrate Slack with Orkes Conductor, you need a bot token and, depending on the operations you want to use, a user token or an incoming webhook URL.
- The bot token is required for most operations.
- The user token is required for Search Messages, and Update User Profile.
- The webhook URL is only required for the Send Message operation.
Create a Slack app
To create the app:
- Log in to Slack API.
- Select Create an App.
- Choose From scratch, enter a name for your app, and select the workspace where you want to use it.
- Select Create App.
Get the user and bot tokens
To retrieve the bot token:
- In your app settings, go to Features > OAuth & Permissions from the left navigation menu.
- Under Scopes > Bot Token Scopes, add the OAuth scopes for the operations you want to use:
| Scope | Required for |
|---|---|
| channels:read | List Channels, Get Channel Info, List Channel Members, Get Message Permalink |
| channels:history | Get Channel History, Get Thread Replies, Send Message And Wait For Response |
| channels:manage | Create Channel, Archive Channel, Rename Channel, Invite/Kick, Set Topic/Purpose |
| channels:join | Join Channel |
| channels:write.invites | Invite To Channel |
| channels:write.topic | Set Channel Topic, Set Channel Purpose |
| groups:read | Same as channels:read but for private channels |
| groups:history | Same as channels:history but for private channels |
| groups:write | Same as channels:manage but for private channels |
| im:write | Open Conversation, Close Conversation (DMs) |
| mpim:write | Open/Close multi-person DMs |
| chat:write | Send Slack API Message, Send Message And Wait For Response, Update Message, Delete Message |
| reactions:read | Get Reactions |
| reactions:write | Add Reaction, Remove Reaction |
| files:read | Get File, List Files |
| files:write | Upload File |
| users:read | Get User Info, List Users, Get User Status |
| users.profile:read | Get User Profile |
| usergroups:read | List User Groups |
| usergroups:write | Create/Update/Enable/Disable User Group |
- Under Scopes > User Token Scopes, add the OAuth scopes for the operations you want to use:
| Scope | Required for |
|---|---|
| search:read, search:read.files, search:read.im, search:read.mpim, search:read.private, search:read.public, search:read.users | Search Messages |
| users.profile:write | Update User Profile |
- Then go to Settings > Install App > Install to
<Workspace>and follow the prompts to authorize the app. - Once authorized, copy and store the Bot User OAuth Token and the User OAuth Token.
Get the webhook URL
Webhook URL is only needed for the operation Send Message where you need to send messages to a configured channel via Slack webhook.
To retrieve the webhook URL:
- In your app settings, go to Features > Incoming Webhooks from the left navigation menu.
- Toggle on Activate Incoming Webhooks.
- Select Add New Webhook, choose the channel to post to, and select Allow.
- Copy and store the Webhook URL.
Step 2: Add an integration for Slack
After obtaining the credentials, add a Slack integration to your Conductor cluster.
To create an integration:
- Go to Integrations > Connected Apps from the left navigation menu on your Conductor cluster.
- Select + New integration.
- In the Productivity section, choose Slack V2.
- Select + Add and enter the following parameters:
| Parameter | Description | Required/Optional |
|---|---|---|
| Integration name | A name for the integration. | Required. |
| Endpoint | The incoming webhook URL generated in Step 1. Required only for the Send Message operation. | Optional. |
| Bot Token | The bot user OAuth token generated in Step 1. Required for majority of operations. | Optional. |
| User Token | The user OAuth token generated in Step 1. Required for Search Messages, and Update User Profile. | Optional. |
| Description | A description of the integration. | Required. |

- (Optional) Toggle the Active button off if you don’t want to activate the integration instantly.
- Select Save.
Step 3: Use Slack integration in workflows
Once the integration is ready, this can be used directly within the workflows.
To use Slack integration in a workflow:
- Go to Definitions > Workflow from the left navigation menu on your Conductor cluster.
- Select + Define workflow.
- In your workflow, select the (+) icon and select Connected Apps.

- In Add Task panel on the right, search for Slack, and select the integration created in Step 2.
The following operations are available for use with this integration.
| Operation | Description |
|---|---|
| Create Channel | Creates a new public or private Slack channel. |
| List Channels | Retrieves a list of channels in the workspace. |
| Get Channel Info | Retrieves details about a specific channel. |
| Join Channel | Adds the bot to an existing channel. |
| Leave Channel | Removes the bot from a channel. |
| Invite to Channel | Invites one or more users to a channel. |
| Kick from Channel | Removes a user from a channel. |
| Rename Channel | Renames an existing channel. |
| Archive Channel | Archives a channel, making it read-only and hidden from the active channel list. |
| List Channel Members | Retrieves the list of members in a channel. |
| Set Channel Topic | Sets or updates the topic of a channel. |
| Set Channel Purpose | Sets or updates the purpose (description) of a channel. |
| Send Message | Sends a message to a channel via a Slack incoming webhook. |
| Send Slack API Message | Sends a message to a channel using the Slack Web API bot token. |
| Send Message and Wait for Response | Sends a message and waits for a reply before the workflow continues. |
| Update Message | Edits the text of an existing message. |
| Delete Message | Deletes a message from a channel. |
| Get Channel History | Retrieves messages and events from a channel's history, with optional time range filtering. |
| Get Thread Replies | Retrieves all replies in a message thread. |
| Get Message Permalink | Retrieves a permanent link to a specific message. |
| Search Messages | Searches for messages across the workspace matching a query. Requires a user token with search:read scope. |
| Add Reaction | Adds an emoji reaction to a message. |
| Remove Reaction | Removes an emoji reaction from a message. |
| Get Reactions | Retrieves all reactions on a specific message. |
| Upload File | Uploads a file and optionally shares it in a channel with an initial comment. |
| List Files | Retrieves a list of files the bot has access to, with optional filters by type, user, or channel. |
| Get File | Retrieves details about a specific file. |
| Open Conversation | Opens or resumes a direct message (DM) or multi-person DM with one or more users. |
| Close Conversation | Closes a direct message or multi-person DM. |
| Get User Info | Retrieves details about a specific user. |
| List Users | Retrieves the list of users in the workspace. |
| Get User Profile | Retrieves the profile of a specific user, including custom fields. |
| Get User Status | Retrieves the present status of a user. |
| Update User Profile | Updates a user's profile fields such as status text and emoji. |
| Create User Group | Creates a new user group that can be mentioned with a handle. |
| Update User Group | Updates the name, handle, description, or associated channels of a user group. |
| Disable User Group | Disables a user group so it can no longer be mentioned. |
| Enable User Group | Re-enables a previously disabled user group. |
| List User Groups | Retrieves the list of user groups in the workspace. |
- Select the required operation, configure the parameters, and select Save > Confirm.
- Select Execute to run the workflow.
For the complete operations parameters and output reference, see Slack Operations Reference.