Skip to main content
Sending Communications Via Slack

Learn how to set up your Slack integration here!

Adam Faludi avatar
Written by Adam Faludi
Updated over a week ago

Enboarder can use Slack when sending sequence notifications to participants rather than email or SMS if you decide to integrate!

Before we begin, did you know you can give your participants the choice of whether they receive comms via slack or not? Click here to read about it!

Using Slack Enterprise Grid? Please go to the bottom of this article as the setup is different for both.

Before you begin: Like anything worth doing, integrations take time. Please allow up to 4 weeks for this integration to be completed, this includes time for scoping, development and testing. You’ll also need to have a system expert and/or system administrator to assist in the completion of this integration.

Let's take a look.

Below is a preview of what your communications will look like when pushed to slack.

If you use a Dynamic Token that references a Form File Upload widget, you can even send it in the notification.

If you wish to return to these communications at a later date, they can be found under 'Apps' as seen below:

Integrating with Slack

Firstly, let's create a Slack app by logging into Slack as an administrator. The app is needed because that's where your Enbaorder messages will show up for your employees.

  • Go to the "Apps" panel on the top left side, then click on App Directory from the top right

  • This will open the Slack App Directory the browser page, click on "Build" in Top right corner

  • The system will redirect you to https://api.slack.com page. Click on "Start Building" to be redirected to the app creation page.

  • Enter an App name such as Enboarder App and use the "Development Slack Workplace" dropdown to select the specific workplace where integration needs to connect then click on "Create App"

  • The system will create the App and take you to the App home page

  • The Basic Information section of the App home page is optional to update the logo and background color, but we recommend it!

  • Next find "OAuth and Permissions" on the left side under the "Features" section.

  • Go to the "Scopes" section in the page and give access for chat:write:user and user:read:email permission.

For this step, search for "chat:write" in select permission scopes search text and select "Send message as user", it will be added to the scope. Next search for "user:read:email" on the search field and select "View email addresses of people on this workspace", it will also be added to the scope. Also search for "user:read scope" ("Access your workspace's profile information) as well. Now press save changes.

So following 3 scopes are required in Bot Token scope:

1. chat:write

2. users:read:

3. users:read:email

If you want to use Slack to send notifications to any public channel, then please add the below scope as well. If this isn't done, then your Slack admin will need to add the Enboarder app in the required channel.

chat:write:public

  • To install this app, go to the Basic Information page and expand the section to "Install your app to your workspace" and click on "Install App to workplace" then "Allow"

  • Once installed, click on "OAuth and Permissions" under the Features sections. Copy the "Bot User OAuth Access Token" from this page. This token needs to be pasted in the Enboarder application when completing the slack integration.

Enboarder configuration

When the OAuth token is copied from Slack's website, head to Enboarder Settings > Apps and Integrations > Click Slack (or filter by Messenger) to show all the Messenger integrations available within Enboarder.

Click the Slack tile, click "Add Integration", enter the Access token and email domain details and click "Integrate Now".

NOTE: The domain here is the email domain shared by users, and not the slack domain. For example, for Enboarder, the Slack domain is http://enboarder.slack.com and users are launched with name@enboarder.com email, we need to provide "enboarder.com" as the domain above (i.e. the email domain not the slack domain).

In case you have multiple domains, Please enter the values separated by Comma symbol. (eg: enboarder.com, us.enboarder.com, eu.enboarder.com)

While launching sequences, we check if the email of the participant in the workflow is the same as listed in the configuration. If the email domain is a match, then we will send a Slack notification instead.

Finally, ensure you enable the Message Tab for the Slack App.

To do this, with the Slack configuration page, under Features > App Home, scroll down to the Show Tabs section and there is an option called Messages Tab. Check this box and you should be good to go!


Slack Enterprise Grid integration

Organisation wide App

If you are using Slack Enterprise Grid and want to provide App access to multiple workspaces (as different workspace may have a different set of users), please opt-in for the org-wide app

Org wide App

An org-wide app is an extension of a regular Slack app. The difference is that it can be deployed across an entire organization. These apps are installed once, at the org level, and have a single token that represents the permissions for the app on many workspaces.

NOTE: In case you have an existing app that is already installed in one workspace and you want to convert this to an org level app, please follow the below steps first:

  • Please uninstall the app for the workspace and revoke all tokens. Then install it again at the org level and provide access to all workspaces. Once you have done this, it should start working across workspaces.

Our suggestion is to create a fresh app instead of migration of any existing app

Opt into org-wide deployment

  • Go to your ‘App Config’ → ‘Setting’s → ‘Org Level Apps’ and press ‘Opt-in’

  • Please select the checkbox and click on ‘Yes Opt-in’

  • Go to the ‘OAuth and Permissions’ menu link under the ‘Features’ sections. You will see the ‘Install to Organization’ button under ‘OAuth Tokens for Your Workspace’ section

  • Please click on ‘Install to Organization

  • The system will show an authorization page, please click on the ‘Allow’ button

  • On successful installation, you will return to ‘OAuth and Permissions’ page and you will see the Oauth token. Copy and note this. This is required in the next step when we are integrating the Enboarder tile.

Keep in mind: even once an Org Admin installs your app across the entire Org, it has not yet been added to any workspaces in the org yet. As a next step please add this app to your workspaces



Send a message to a channel using a webhook

Note: The bot can only send notifications to public channels. First ensure that the bot has either been added to the channel or that the chat:write:app scope added in your bot scopes

To add the bot into a channel, right-click on the channel and select view channel detail. After this, head to the integration tab and click on Add an App:

Basic information required to send a message

Before sending a message using API, please log in to your Slack account and note down the below information:

  • ChannelID OR

  • Channel name

Login to your account and select the channel where you want to send messages. Right-click on the channel and select Open Channel Detail.

Scroll down to the bottom of the detail window. At the bottom, you will see the channel id. Copy and note down this value.

Go to your app and add the below scope in the Bot Token scope

Add the below scope only if the app is not added in the channel:

Sending messages to a channel

Sample Payload

---Please add below in header section

Content-type: application/json

Authorization: Bearer xoxb-your-token

----Here is the sample body with channel ID------

{ "channel": "YOUR_CHANNEL_ID",

"text": "Hello world :tada:" }

----Here is the sample body with channel name------

{ "channel": "YOUR_CHANNEL_NAME",

"text": "Hello world :tada:" }


Response:

Once successful you will get the below response

Sample Response

{ "ok": true, "channel": "XXXXXX", "ts": "1629185542.000100", "message": { "bot_id": "XXXXX", "type": "message", "text": "This content } }

See below how this will look in your webhook:


For any integration questions, please reach out directly to our Support team.

Did this answer your question?