Slack App Setup - jcraigk/kudochest-slack GitHub Wiki
To integrate KudoChest with Slack, first you need a workspace where you have permission to install apps. You also need a dedicated Slack App, which can be setup by visiting the Slack API website. Click "Create New App" and use the following guide to configure it.
App Manifest
To speed up app configuration, you can use the Slack App Manifest. Make sure you replace <<your-domain>>
with the appropriate value before importing.
The following instructions should produce the same result by editing app configuration manually.
Basic Info
First you'll want to setup the name of the app. You can provide anything you want, but KudoChest
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
).
Avatar
Use the following avatar image or provide a custom one with your organization's style:
App Home
Under the "App Home" tab, ensure the following is enabled:
- Always Show My Bot as Online
App Display Name
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 "KudoChest" and the Default Name to "kudochest".
Show Tabs
Ensure "Home Tab" is disabled. Enable "Message Tab" and allow users to send Slash commands from there.
Event Subscriptions
Enter the Request URL as https://<<your-domain>>/hooks/slack/event
.
Slack will send a challenge param and listen for it to be echoed back. Afterward, you may comment out before_action :verify_challenge_param
in app/controllers/hooks/slack/base_controller.rb
to save some processing on every Slack callback.
Subscribe to the following Bot Events:
- app_home_opened
- channel_archive
- channel_created
- channel_deleted
- channel_rename
- channel_unarchive
- message.channels
- message.groups
- message.im
- message.mpim
- reaction_added
- reaction_removed
- subteam_created
- subteam_members_changed
- subteam_updated
- team_join
- team_rename
- user_change
Interactivity & Shortcuts
Enter the Request URL as https://<<your-domain>>/hooks/slack/action
.
Redirect URLs
Add the following Redirect URLs:
https://<<your-domain>>/slack/install_callback
https://<<your-domain>>/slack/login_callback
Scopes
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
Select Menus
Enter the following Options Load URL: https://<<your-domain>>/hooks/slack/options
Slash Commands
You may provide any slash command but /kudos
is recommended. Make sure BASE_COMMAND
env var matches this value (omit the leading slash).