Skip to main content

Slack Integration with Orkes Conductor

Available since
  • 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:

  1. Get the required credentials from Slack.
  2. Configure a new Slack integration in Orkes Conductor.
  3. 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.

Create a Slack app

To create the app:

  1. Log in to Slack API.
  2. Select Create an App.
  3. Choose From scratch, enter a name for your app, and select the workspace where you want to use it.
  4. Select Create App.

Get the user and bot tokens

To retrieve the bot token:

  1. In your app settings, go to Features > OAuth & Permissions from the left navigation menu.
  2. Under Scopes > Bot Token Scopes, add the OAuth scopes for the operations you want to use:
ScopeRequired for
channels:readList Channels, Get Channel Info, List Channel Members, Get Message Permalink
channels:historyGet Channel History, Get Thread Replies, Send Message And Wait For Response
channels:manageCreate Channel, Archive Channel, Rename Channel, Invite/Kick, Set Topic/Purpose
channels:joinJoin Channel
channels:write.invitesInvite To Channel
channels:write.topicSet Channel Topic, Set Channel Purpose
groups:readSame as channels:read but for private channels
groups:historySame as channels:history but for private channels
groups:writeSame as channels:manage but for private channels
im:writeOpen Conversation, Close Conversation (DMs)
mpim:writeOpen/Close multi-person DMs
chat:writeSend Slack API Message, Send Message And Wait For Response, Update Message, Delete Message
reactions:readGet Reactions
reactions:writeAdd Reaction, Remove Reaction
files:readGet File, List Files
files:writeUpload File
users:readGet User Info, List Users, Get User Status
users.profile:readGet User Profile
usergroups:readList User Groups
usergroups:writeCreate/Update/Enable/Disable User Group
  1. Under Scopes > User Token Scopes, add the OAuth scopes for the operations you want to use:
ScopeRequired for
search:read, search:read.files, search:read.im, search:read.mpim, search:read.private, search:read.public, search:read.usersSearch Messages
users.profile:writeUpdate User Profile
  1. Then go to Settings > Install App > Install to <Workspace> and follow the prompts to authorize the app.
  2. 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:

  1. In your app settings, go to Features > Incoming Webhooks from the left navigation menu.
  2. Toggle on Activate Incoming Webhooks.
  3. Select Add New Webhook, choose the channel to post to, and select Allow.
  4. 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:

  1. Go to Integrations > Connected Apps from the left navigation menu on your Conductor cluster.
  2. Select + New integration.
  3. In the Productivity section, choose Slack V2.
  4. Select + Add and enter the following parameters:
ParameterDescriptionRequired/Optional
Integration nameA name for the integration.Required.
EndpointThe incoming webhook URL generated in Step 1. Required only for the Send Message operation.Optional.
Bot TokenThe bot user OAuth token generated in Step 1. Required for majority of operations.Optional.
User TokenThe user OAuth token generated in Step 1. Required for Search Messages, and Update User Profile.Optional.
DescriptionA description of the integration.Required.

Slack Integration with Orkes Conductor

  1. (Optional) Toggle the Active button off if you don’t want to activate the integration instantly.
  2. 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:

  1. Go to Definitions > Workflow from the left navigation menu on your Conductor cluster.
  2. Select + Define workflow.
  3. In your workflow, select the (+) icon and select Connected Apps.

Adding Slack Integration in Conductor workflow

  1. 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.

OperationDescription
Create ChannelCreates a new public or private Slack channel.
List ChannelsRetrieves a list of channels in the workspace.
Get Channel InfoRetrieves details about a specific channel.
Join ChannelAdds the bot to an existing channel.
Leave ChannelRemoves the bot from a channel.
Invite to ChannelInvites one or more users to a channel.
Kick from ChannelRemoves a user from a channel.
Rename ChannelRenames an existing channel.
Archive ChannelArchives a channel, making it read-only and hidden from the active channel list.
List Channel MembersRetrieves the list of members in a channel.
Set Channel TopicSets or updates the topic of a channel.
Set Channel PurposeSets or updates the purpose (description) of a channel.
Send MessageSends a message to a channel via a Slack incoming webhook.
Send Slack API MessageSends a message to a channel using the Slack Web API bot token.
Send Message and Wait for ResponseSends a message and waits for a reply before the workflow continues.
Update MessageEdits the text of an existing message.
Delete MessageDeletes a message from a channel.
Get Channel HistoryRetrieves messages and events from a channel's history, with optional time range filtering.
Get Thread RepliesRetrieves all replies in a message thread.
Get Message PermalinkRetrieves a permanent link to a specific message.
Search MessagesSearches for messages across the workspace matching a query. Requires a user token with search:read scope.
Add ReactionAdds an emoji reaction to a message.
Remove ReactionRemoves an emoji reaction from a message.
Get ReactionsRetrieves all reactions on a specific message.
Upload FileUploads a file and optionally shares it in a channel with an initial comment.
List FilesRetrieves a list of files the bot has access to, with optional filters by type, user, or channel.
Get FileRetrieves details about a specific file.
Open ConversationOpens or resumes a direct message (DM) or multi-person DM with one or more users.
Close ConversationCloses a direct message or multi-person DM.
Get User InfoRetrieves details about a specific user.
List UsersRetrieves the list of users in the workspace.
Get User ProfileRetrieves the profile of a specific user, including custom fields.
Get User StatusRetrieves the present status of a user.
Update User ProfileUpdates a user's profile fields such as status text and emoji.
Create User GroupCreates a new user group that can be mentioned with a handle.
Update User GroupUpdates the name, handle, description, or associated channels of a user group.
Disable User GroupDisables a user group so it can no longer be mentioned.
Enable User GroupRe-enables a previously disabled user group.
List User GroupsRetrieves the list of user groups in the workspace.
  1. Select the required operation, configure the parameters, and select Save > Confirm.
  2. Select Execute to run the workflow.

For the complete operations parameters and output reference, see Slack Operations Reference.