Slack
Register OAuth2 app
Go to https://api.slack.com/apps and create a new app.

Name your application and select a workspace.

Basic Information
Then you receive your clientID, clientSecret and signingSecret.

After that create an App-Level Token with the following scopes: authorizations:read
. This token is used verify authorization of the user for incoming Events API requests from Slack.


Copy and paste those values into the Backoffice.
clientID
is theClient ID
from the Slack app.clientSecret
is theClient Secret
from the Slack app.authToken
is theApp-Level Token
from the Slack app.signingSecret
is theSigning Secret
from the Slack app (just under Client Secret).botToken
is theBot User OAuth Token
from the Slack app (required when you plan to use "Send as Bot" feature).

OAuth & Permissions
Redirect URL
The next thing is adding the redirect URL and scopes.
Example redirect URL: https://api.YOUR_SUBDOMAIN.appmixer.cloud/auth/slack/callback

Bot Scopes
In order to be able to send messages as bot to channels, you have to add these scopes in the OAuth & Permissions
section, specifically in the Bot Token Scopes
section.
Note: Adding bot scopes will create a Bot User OAuth Token
in the "OAuth Tokens" section, which you'll need to copy as the botToken
value in the Backoffice when using "Send as Bot" features.
chat:write
Send messages as @BOT
chat:write.customize
Send messages as @BOT with a customized username and avatar
chat:write.public
Send messages to channels @BOT isn't a member of
User Scopes
In order to be able to work with channels and groups as user, you have to add these scopes in the OAuth & Permissions
section, specifically in the User Token Scopes
section.

In order to use the application accross workspaces you have to distribute it.


Events API
Some components (New Channel Message
or New User
) use Slack Events API (https://api.slack.com/events-api). In order to use this components in Appmixer, you have to register Appmixer's Slack URI in Slack first.
Go to https://api.slack.com/apps then choose your Appmixer app.
Go to your app settings (https://api.slack.com/apps/{your-app-id}/event-subscriptions)

The Request URL has to point to your Appmixer backend server. The rest of the URL /plugins/appmixer/slack/events
has to remain like this. Your Appmixer backend server has to be running before you enter the URL. Slack will immediately try to connect to that URL.
Then you need to subscribe to these events:
messages.channels
,message.groups
for theNew Channel Message
componentteam_join
for theNew User
component


Don't forget to hit Save Changes:

You can now use the appmixer.slack.list.NewChannelMessageRT component in a flow.
Slack app migration
In Appmixer 4.2 the Slack module was upgraded. We did remove all the legacy API and switched to their newest API. For some time, it was possible to use the Appmixer Slack module with both legacy Slack apps and the new Slack apps. But the legacy apps are deprecated and will retire in August 2021 (https://api.slack.com/legacy/workspace-apps). If you use the legacy Slack app, you either have to create a new Slack app or migrate the existing one.
In order to migrate your Slack legacy app, go to Oauth & Permission section.

Then scroll down to Scopes and hit the Update Scopes button.

Ignore the first page, because that's all about scopes for bots.

Scroll all the way down and hit continue. You get to a second page with user scopes.

Select channels:read, channels:history, channels:write, groups:read, groups:write, groups:history, chat:write and users:read.
Verify the scopes and migrate the app.

And confirm. The Appmixer Slack module since version 4.2.1 is already updated and ready for the new Slack apps.

Flows that use the SendPrivateChannelMessage component won't work. The component will appear unauthenticated. The reason is a different Oauth scope in the new Slack app version. In this case, the user has to authenticate the component again.
Last updated
Was this helpful?