-
Notifications
You must be signed in to change notification settings - Fork 3
Slack App Setup
To speed up app configuration, you can use the App Manifest. Make sure you replace <your-karmachest-domain>
with the appropriate value before importing.
First you'll want to setup the name of the app. You can provide anything you want, but KarmaChest
is recommended. You can set the bot display name separately (see below) so don't worry if that name is not available. Enter a description such as Team engagement through micro gratitude
. Select a color - the recommended default is blue (#3491c7
).
You may use the following avatar if you wish:

Ensure the following options are active:
- Enable Events
- Always Show My Bot as Online

You can name your bot separately from the app. Go to "App Home" and click "Edit" next to "App Display Name". Set the bot name to "KarmaChest" and the Default Name to "karmachest".

Ensure Home Tab is disabled. Enable Message Tab and allow users to send Slash commands from there.

To enable the User ++
context action, enter it with reply_tip
Callback ID. Description should be Give 1 karma to the author of the message
.


Enter the Subscriptions Request URL as https://<your-karmachest-domain>/hooks/slack/event
.
For the initial setup, you'll need to respond with the appropriate challenge response. Uncomment before_action :verify_challenge_param
in https://github.com/jcraigk/karmachest/blob/master/app/controllers/hooks/slack/base_controller.rb#L6 during initial app integration.

Subscribe to the following Bot Events:
- app_home_opened
- app_uninstalled
- channel_archive
- channel_created
- channel_deleted
- channel_rename
- channel_unarchive
- message.channels
- message.groups
- message.im
- reaction_added
- reaction_removed
- subteam_created
- subteam_members_changed
- subteam_updated
- team_join
- team_rename
- user_change


Enter the Interactivity Request URL as https://<your-karmachest-domain>/hooks/slack/action
.

Add the following redirect URLs:
https://<your-karmachest-domain>/oauth/slack_integration
https://<your-karmachest-domain>/oauth/callback/slack

Ensure the following OAuth scopes are enabled:
- channels:history
- channels:join
- channels:read
- chat:write
- commands
- emoji:read
- groups:history
- im:history
- im:read
- im:write
- mpim:history
- mpim:read
- reactions:read
- team:read
- usergroups:read
- users.profile:read
- users:read



Enter the following Options Load URL: https://<your-karmachest-domain>/hooks/slack/options

You may provide any slash command but /karma
is recommended. Make sure config.base_command
matches this value in config/application.rb
(omit the leading slash).


Add the following User Token Scopes to enable Slack-based logins:
- identity.basic
- identity.email
Note that logging into the KarmaChest website using Slack OAuth does not automatically associate the user profile. It is the same as logging in with any other OAuth provider in that the user must use the connect
command to associate their Slack profile with their web login after they authenticate.
