Slack (Action Flow)
Important
Any references to third-party products or services do not constitute Celonis Product Documentation nor do they create any contractual obligations. This material is for informational purposes only and is subject to change without notice. Celonis does not warrant the availability, accuracy, reliability, completeness, or usefulness of any information regarding the subject of third-party services or systems.
With Slack modules in Execution Management System, you can create, update, delete, retrieve, watch, and/or search for messages, files, channels, reactions, users, reminders, and/or statuses.
To get started with Slack, create an account at slack.com/getting-started.
Refer to the Slack API documentation for the list of available endpoints.
DM | Direct Message |
IM | Instant Message |
Private Channel | formerly Group |
Direct Message | formerly IM |
Channel | Referred to as Conversation in the API documentation and Channel in the Slack application |
Connect Slack to Execution Management System
To establish the connection:
Log in to your Execution Management System account, add a Slack module to your Action Flow, and click Create a connection.
Note: If you add a module with an
instant
tag, click Create a webhook, then Create a connection.Depending on the module you add, you may be prompted to choose the Connection type: Slack (user) or Slack (bot). If not, continue to step 4.
Note
Slack Watch modules only function with User connections at this time. If you would like to create a webhook with an interactive bot, you must use the Custom Webhook module.
Optional: In the Connection name field, enter a name for the connection.
Optional: Click Show Advanced settings and enter your custom app client credentials or add additional scopes.
To create client credentials, see the Create Custom App and Client Credentials in Slack section.
Click Save.
If prompted, authenticate your account. If your account has multiple Slack workspaces, select the relevant workspace in the top-right corner and grant access to Execution Management System.
You have successfully established the connection. You can now edit your Action Flow and add more Slack modules. If your connection requires reauthorization at any point, follow the connection renewal steps here.
Note: Some modules may require additional permissions extension. If so, you will be asked to authorize the required permissions.
Create Custom App and Client Credentials in Slack
To create a custom app and client credentials:
Log in to your Slack account and go to the Your Apps page.
Click Create New App.
Select From scratch.
Enter a name for your app, select a workspace, and click Create App. This brings you to the Basic Information page of your new app.
Scroll down to the App Credentials section. Copy your Client ID and store it in a safe place.
In the Client Secret field, click Show, copy your secret, and store it in a safe place.
In the left sidebar, click OAuth & Permissions.
Scroll down to the Redirect URLs section, click Add New Redirect URL, enter the redirect URL listed below for User and/or Bot, and click Add > Save URLs.
Connection Type
Redirect URL
User
https://www.integromat.com/oauth/cb/slack2
Bot
https://www.integromat.com/oauth/cb/slack3
In the Scopes section, add Bot Token Scopes or User Token Scopes. You can add scopes for both types to one custom app.
Click Add an OAuth Scope and select scopes in the dropdown menu. Repeat this for all desired scopes.
Note: If you change permission scopes in your Slack app after creation, you will be prompted in the Slack My Apps pages to reinstall your app.
You now have the client credentials to connect to Execution Management System.
Messages
You can watch public and private channel messages, watch direct and multiparty direct messages, watch scheduled messages, search for messages, list scheduled messages, retrieve private and public channel messages, list replies, create, update, schedule, and delete a message using the following modules.
Triggers when a new message is added to a public channel.
Connection | |
Input Method | Select the input method:
|
Public Channel | Select or map a public channel whose messages you want to watch. |
Public Channel | Enter (map) a public channel name whose messages you want to watch. |
Limit | Set the maximum number of public channel messages Execution Management System will return during one execution cycle. The default value is 2. |
Triggers when a new message is added to a private channel.
Connection | |
Input Method | Select the input method:
|
Private Channel | Select or map a private channel whose messages you want to watch. |
Private Channel | Enter (map) a private channel name whose messages you want to watch. |
Limit | Set the maximum number of private channel messages Execution Management System will return during one execution cycle. The default value is 2. |
Triggers when a new direct message is added to a direct message channel.
Connection | |||||
Input Method | Select the input method:
| ||||
IM Channel | Select or map an IM channel whose direct messages you want to watch. | ||||
IM Channel | Enter (map) an IM channel name whose direct messages you want to watch. Alternatively, you can search for an IM channel.
| ||||
Limit | Set the maximum number of direct messages Execution Management System will return during one execution cycle. The default value is 2. |
Triggers when a new message is added to a multiparty direct message channel.
Connection | |||||
Input Method | Select the input method:
| ||||
Multiparty IM Channel | Select or map a multiparty IM channel whose direct messages you want to watch. | ||||
Multiparty IM Channel | Enter (map) a multiparty IM channel name whose direct messages you want to watch. Alternatively, you can search for a multiparty IM channel.
| ||||
Limit | Set the maximum number of multiparty direct messages Execution Management System name will return during one execution cycle. The default value is 2. |
Returns messages matching a search query.
Connection | |
Query | Enter the search term you want to search the workspace for. See Search in Slack for a list of Search modifiers. |
Limit | Set the maximum number of messages Execution Management System will return during one execution cycle. The default value is 2. |
Sort by | Select a parameter to sort:
|
Direction | Select the sorting direction:
|
Returns a message with a given ID from a specified private channel.
Connection | |||||
Input Method | Select the input method:
| ||||
Private Channel | Select or map a private channel whose messages you want to retrieve. | ||||
Private Channel | Enter (map) a private channel name whose messages you want to retrieve. Alternatively, you can search for a public channel.
| ||||
Message ID (timestamp) | Enter (map) a Message ID of a message to retrieve. |
Returns a message with a given ID from a specified public channel.
Connection | |||||
Input Method | Select the input method:
| ||||
Public Channel | Select or map a public channel whose messages you want to retrieve. | ||||
Public Channel | Enter (map) a public channel name whose messages you want to retrieve. Alternatively, you can search for a public channel.
| ||||
Message ID (timestamp) | Enter (map) a Message ID of a message to retrieve. |
Retrieves a thread messages posted to a conversation.
Connection | |
Channel type | Select the channel type:
|
Public channel | Select or map a public channel whose message you want to create. |
Private channel | Select or map a private channel whose message you want to create. |
IM channel | Select or map a user whose message you want to create. |
Multiple IM channel | Select or map a multiple IM channel whose message you want to create. |
Parent message ID (timestamp) | Enter (map) a Parent message ID of a message whose replies you want to list. |
Limit | Set the maximum number of replies Execution Management System will return during one execution cycle. The default value is 2. |
Creates a new message.
Connection | |
Enter a channel ID or name | Select the input method:
|
Channel ID or name | Enter (map) a Channel ID or name whose message you want to create. NoteYou must specify a public channel, private channel, or an IM channel. You can either pass the channel's name (#general) or encoded ID (C0123BE12L). |
Channel type | Select the channel type:
|
Public channel | Select or map a public channel whose message you want to create. |
Private channel | Select or map a private channel whose message you want to create. |
IM channel | Select or map an IM channel whose message you want to create. |
Multiple IM channel | Select or map a multiple IM channel whose message you want to create. |
Text | Enter (map) the text content of the message you want to create. For detailed information about text formatting, please refer to the Slack documentation. |
Blocks | Enter (map) the blocks to be combined with messages to create visually rich and compellingly interactive messages. For detailed information about text formatting, please refer to the Slack documentation. |
Thread message ID (timestamp) | Enter (map) another message's time stamp value to make this message a reply. Avoid using a reply's time stamp value; use its parent instead. |
Reply broadcast | Select whether they should be made visible to everyone in the channel or conversation. NoteUsed in conjunction with the Thread message ID. |
Link names | Names and channels will not be linkified in the @username or #channel format unless you enable this option. For more information, refer to the formatting spec. |
Parse message text | Select whether to parse the message text. NoteDefines how messages are treated. |
Use markdown | Disable Slack markup parsing by selecting the No option. |
Unfurl primarily text-based content | Enable this option to enable the unfurling of primarily text-based content. For detailed information about unfurling in Slack, refer to the Unfurling links in the messages article. |
Unfurl media content | Disable this option to disable the unfurling of media content. For detailed information about unfurling in Slack, please refer to the Unfurling links in the messages article. |
Icon emoji | Enter (map) an emoji to use as the icon for this message. Overrides Icon URL. NoteThis field only has an effect when using a Bot connection. |
Icon url | Enter (map) an Icon URL to an image to use as the icon for this message. NoteThis field only has an effect when using a Bot connection. |
User name | Enter (map) a User name to create a message. NoteIf not specified, the default bot name will be used. This field only has an effect when using a Bot connection. |
Updates a message.
Connection | |
Enter a channel ID or name | Select the input method:
|
Channel ID or name | Enter (map) an updated Channel ID or name whose message you want to create. NoteYou must specify a public channel, private channel, or an IM channel. You can either pass the channel's name (#general) or encoded ID (C0123BE12L). |
Channel type | Select the channel type:
|
Public channel | Select or map a public channel whose message you want to create. |
Private channel | Select or map a private channel whose message you want to create. |
IM channel | Select or map an IM channel whose message you want to create. |
Multiple IM channel | Select or map a multiple IM channel whose message you want to create. |
Timestamp (Message ID) | Enter (map) the message's time stamp value or the Message ID to whose text you want to update. |
Text | Enter (map) the text content of the message you want to create. NoteFor detailed information about text formatting, please refer to the Slack documentation. |
Blocks | Enter (map) the blocks to be combined with messages to create visually rich and compellingly interactive messages. NoteFor detailed information about text formatting, please refer to the Slack documentation. |
Link names | Names and channels will not be linkified in the @username or #channel format unless you enable this option. For more information, refer to the formatting spec. |
Parse message text | Select whether to parse the message text. NoteDefines how messages are treated. |
Removes a message.
Connection | |
Channel ID | Enter (map) a Channel ID of a channel whose messages you want to delete. |
Message ID (timestamp) | Enter (map) a Message ID of a message to delete. |
Files
You can watch, list, retrieve, download, upload, create and delete the files using the following modules.
Triggers when a new file is added.
Connection | |
Type | Select the file type you want to watch for:
|
Channel type | Select the channel to filter the files from:
|
Public channel | Select or map a public channel to watch the files. |
Private channel | Select or map a private channel to watch the files. |
User | Select or map a user to watch the files. |
Multiple IM channel | Select or map a multiple IM channel to watch the files. |
Created by | Filter files to those created by the selected user. |
Limit | Set the maximum number of files Execution Management System will return during one execution cycle. The default value is 2. |
Returns a list of files within a team.
Connection | |
Type | Select the file type you want to retrieve:
|
Channel type | Select the channel to filter the files from:
|
Public channel | Select or map a public channel to watch the files. |
Private channel | Select or map a private channel to watch the files. |
User | Select or map a user to watch the files. |
Multiple IM channel | Select or map a multiple IM channel to watch the files. |
Created by | Filter files created by the selected user. |
Date from | |
Date to | |
Limit | Set the maximum number of files Execution Management System will return during one execution cycle. The default value is 2. |
Returns details about a file.
Connection | |
File ID | Enter (map) the ID of the file you want to retrieve details about. |
Downloads a file.
Connection | |
URL private download | Enter (map) the URL Private download value from the Get a File module. |
Creates or uploads a file.
Connection | |||||||||||
Channels | Enter (map) the channel's details:
| ||||||||||
File | Enter (map) a file details:
| ||||||||||
Title | Enter (map) the title of the file. | ||||||||||
Thread ID (timestamp) | Enter (map) the Thread ID to upload the file as a reply. | ||||||||||
Initial comment | Enter (map) the message text introducing the file in the specified channel. |
Creates a text file.
Connection | |||||||||||
Channels | Enter (map) the channel's details:
| ||||||||||
File | Enter (map) a file details:
| ||||||||||
Title | Enter (map) the title of the file. | ||||||||||
Thread ID (timestamp) | Enter (map) the Thread ID to create the file as a reply. | ||||||||||
Initial comment | Enter (map) the message text introducing the file in the specified channel. |
Deletes a file.
Connection | |
File ID | Enter (map) the ID of the file you want to delete. |
Channels
You can list, retrieve, list members, set the topic, set the purpose, join a channel, leave a channel, create, archive, and unarchive a channel using this module.
Returns a list of channels in a workspace.
Connection | |
Exclude archived | Select whether to exclude archived channels in the results. |
Type | Select the type of channels you want to retrieve.
|
Limit | Set the maximum number of channels Execution Management System will return during one execution cycle. The default value is 2. |
Next Cursor | Set the cursor parameter equal to the next_cursor value you received on the last request to retrieve the next portion of the collection. For information see the cursor based pagination. |
Returns details about a channel.
Connection | |
Channel ID | Enter (map) the channel ID of the channel you want to retrieve. |
Returns users in the selected Channel.
Connection | |
Channel type | Select the channel type:
|
Public channel | Select or map a public channel whose members you want to list. |
Private channel | Select or map a private channel whose members you want to list. |
Limit | Set the maximum number of members Execution Management System will return during one execution cycle. The default value is 2. |
Changes the topic of a channel.
Connection | |||||
Channel type | Select the channel type:
| ||||
Input Method | Select the input method:
| ||||
Public Channel | Select or map a public channel whose topic you want to set. | ||||
Private Channel | Select or map a private channel whose topic you want to set. | ||||
IM channel | Select or map an IM channel whose topic you want to set. | ||||
Multiparty IM Channel | Select or map a multiparty IM channel whose topic you want to set. | ||||
Public Channel | Enter (map) a public channel whose topic you want to set. Alternatively, you can search a channel:
| ||||
Private Channel | Enter (map) a public channel whose topic you want to set. Alternatively, you can search a channel:
| ||||
IM channel | Enter (map) a public channel whose topic you want to set. Alternatively, you can search a channel:
| ||||
Multiparty IM Channel | Enter (map) a public channel whose topic you want to set. Alternatively, you can search a channel:
| ||||
Topic | Enter (map) the topic name for the channel. Does not support formatting or linkification. For example, |
Changes the purpose of a channel.
Connection | |||||
Channel type | Select the channel type:
| ||||
Input Method | Select the input method:
| ||||
Public Channel | Select or map a public channel whose topic you want to set. | ||||
Private Channel | Select or map a private channel whose topic you want to set. | ||||
IM channel | Select or map an IM channel whose topic you want to set. | ||||
Multiparty IM Channel | Select or map a multiparty IM channel whose topic you want to set. | ||||
Public Channel | Enter (map) a public channel whose topic you want to set. Alternatively, you can search a channel:
| ||||
Private Channel | Enter (map) a public channel whose topic you want to set. Alternatively, you can search a channel:
| ||||
IM channel | Enter (map) a public channel whose topic you want to set. Alternatively, you can search a channel:
| ||||
Multiparty IM Channel | Enter (map) a public channel whose topic you want to set. Alternatively, you can search a channel:
| ||||
Purpose | Enter (map) the new special purpose for the channel. For example, |
Joints to an existing channel.
Connection | |
Channel ID | Enter (map) the Channel ID of a channel you want to join. |
Leaves a channel.
Connection | |
Channel ID | Enter (map) the Channel ID of a channel you want to leave. |
Creates a channel.
Connection | |
Name | Enter (map) the name of the public or private channel to create. |
Is private | Select whether the channel is private. |
Archives a channel.
Connection | |
Channel ID | Enter (map) the channel ID of the channel you want to archive. |
Unarchives a channel.
Connection | |
Channel ID | Enter (map) the channel ID of the channel you want to unarchive. |
Reactions
You can list, add, and remove a reaction using the following modules.
Returns reactions a user made.
Connection | |
User | Select or map a user whose reactions you want to list. |
Limit | Set the maximum number of reactions Execution Management System should return during one execution cycle. The default value is 2. |
Adds a reaction to an item.
Connection | |
Channel type | Select the channel type:
|
Public channel | Select or map a public channel to whose message you want to add a reaction. For example, |
Private channel | Select or map a private channel to whose message you want to add a reaction. For example, |
User | Select or map a user to whose message you want to add a reaction. |
Multiple IM channel | Select or map a multiple IM channel to whose message you want to add a reaction. |
Message ID (timestamp) | Enter (map) the Message ID or a timestamp of the message to add a reaction. For example, |
Reaction (emoji) name | Enter (map) the Reaction (emoji) name. For example, |
Removes a reaction.
Connection | |
Channel type | Select the channel type:
|
Public channel | Select or map a public channel to whose message you want to remove a reaction. For example, |
Private channel | Select or map a private channel to whose message you want to remove a reaction. For example, |
User | Select or map a user to whose message you want to remove a reaction. |
Multiple IM channel | Select or map a multiple IM channel to whose message you want to remove a reaction. |
Message ID (timestamp) | Enter (map) the Message ID or a timestamp of the message to add a reaction. For example, |
Reaction (emoji) name | Enter (map) the Reaction (emoji) name. For example, |
Stars
You can add and remove stars using the following modules.
Adds a star to a channel, message, file, or a file comment.
Connection | |
Add a star to | Select whether you want to add a star to a channel, file, or file comment. |
Channel/File ID/File comment ID | Enter respective IDs. You can star a message by selecting a Channel and entering the message timestamp. |
Removes a star from the channel, message, file, or a file comment.
Connection | |
Add a star to | Select whether you want to remove the star from a channel, file, or file comment. |
Channel/File ID/File comment ID | Enter respective IDs of the objects you want to remove the star from. You can remove a star from the message by selecting a Channel and entering the message timestamp. |
Saved Items
You can save an item and remove the saved item using the following modules.
Adds an Item to saved items.
Connection | |
Message ID (timestamp) | Enter (map) a Message ID of a message whose item you want to save. |
File ID | Enter (map) a File ID of a file to save. |
Removes a saved item.
Connection | |
Message ID (timestamp) | Enter (map) a Message ID of a message whose item you want to remove. |
File ID | Enter (map) a File ID of a file to remove. |
Pins
You can pin and unpin a message using the following modules.
Pins a message to a channel.
Connection | |
Channel type | Select the channel type:
|
Public channel | Select or map a public channel whose message you want to pin. |
Private channel | Select or map a private channel whose message you want to pin. |
User | Select or map a user whose message you want to pin. |
Multiple IM channel | Select or map a multiple IM channel whose message you want to pin. |
Message ID (timestamp) | Enter (map) the timestamp of the message to pin. For example, |
Unpins a message from a channel.
Connection | |
Channel type | Select the channel type:
|
Public channel | Select or map a public channel whose message you want to unpin. |
Private channel | Select or map a private channel whose message you want to unpin. |
User | Select or map a user whose message you want to unpin. |
Multiple IM channel | Select or map a multiple IM channel whose message you want to unpin. |
Message ID (timestamp) | Enter (map) the timestamp of the message to unpin. For example, |
Users
You can watch, search, list, retrieve, invite and kick a user using the following modules.
Triggers when a new user is added or an existing user has changed. Only emit the latest change since the last scenario run.
Connection | |
Limit | Set the maximum number of users Execution Management System will return during one execution cycle. The default value is 2. |
Retrieves a single user by looking them up by their registered email address.
Connection | |
Enter the email address of the user you want to search for. |
Returns a list of all users in a workspace.
Connection | |
Limit | Set the maximum number of users Execution Management System will return during one cycle. The default value is 2. |
Returns details about a member to a workspace.
Connection | |
User ID | Enter (map) the User ID of the user you want to retrieve information about. |
Invites 1-30 users to a public or private channel.
Connection | |
Channel type | Select the channel type:
|
Public channel | Select or map a public channel to add the users. |
Private channel | Select or map a private channel to add the users. |
Users | Select the users you want to add to the channel. |
Removes a user from a channel.
Connection | |
Channel type | Select the channel type:
|
Public channel | Select or map a public channel whose user you want to remove. |
Private channel | Select or map a private channel whose user you want to remove. |
Users | Select the user you want to remove from the channel. |
Reminders
You can list, retrieve, create, complete, and delete a reminder using the following modules.
Lists all reminders created by or for a given user.
Connection | |
Limit | Set the maximum number of reminders Execution Management System will return during one execution cycle. The default value is 2. |
Returns details about a reminder.
Connection | |
Reminder ID | Enter (map) the ID of the reminder you want to retrieve information about. For example, |
Creates a reminder.
Connection | |
Text | Enter (map) the content to appear in the reminder. |
Time | Enter (map) the time when this reminder should happen. Enter the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description. For example, |
User | Select or map the user you want to create a reminder for. |
Completes a reminder.
Connection | |
Reminder ID | Enter (map) the ID of the reminder you want to mark as complete. For example, |
Removes a reminder.
Connection | |
Reminder ID | Enter (map) the ID of the reminder you want to delete. For example, |
Events
You can watch new events using the following module.
Triggers when a new message or other events are created.
Webhook name | Enter (map) a name for the webhook. |
Event type | Select the event type:
|
Connection | |
Channel | Select or map a channel whose event you want to watch. |
Profile
You can set status in events using the following module.
Update a user’s current status.
Connection | |
Status text | Enter (map) the status text. You can enter up to 100 characters. |
Status emoji | Enter (map) the status emojis enabled for the slack team. For example, |
Status expiration | NoteProviding |
Other
Performs an arbitrary authorized API call.
Connection | |
URL | Enter a path relative to NoteFor the list of available endpoints, refer to the Slack API documentation. |
Method | GET to retrieve information for an entry. POST to create a new entry. PUT to update/replace an existing entry. PATCH to make a partial entry update. DELETE to delete an entry. |
Headers | Enter the desired request headers. You don't have to add authorization headers; we already did that for you. |
Query String | Enter the request query string. |
Body | Enter the body content for your API call. |
Example of Use - List Subaccounts
The following API call returns the subaccounts from your Slack account:
URL:
/1.0/subaccounts/list
Method:
GET
Matches of the search can be found in the module's Output under Bundles > Body. In our example, 4 subaccounts were returned: