KudosBuddy (Slack Bot) is a simple Laravel-based api designed to recognize, appreciate, and give credit to team members within your Slack workspace. By allowing team members to share kudos and view scores, the app aims to motivate and encourage a positive work environment.
- Share kudos with team members.
- View and track kudos scores attained by team members.
Follow these steps to set up and test the app in your Slack workspace.
- PHP > 7.4
- Laravel 10 or higher
- Slack App (create a new app in your Slack workspace)
-
Clone the repository to your local machine:
git clone https://github.com/mantey-github/KudosBuddy.git cd KudosBuddy
-
Install dependencies using Composer:
composer install
-
Set up your environment variables by creating a
.env
file and adding the necessary configurations (e.g. Slack Bot API token, Database settings). -
Generate the application key:
php artisan key:generate
-
Run database migrations:
php artisan migrate
-
Configure your Slack App:
- Create a new app in your Slack workspace.
- Install the app to the desired channel.
- In your app settings, get the Bot User OAuth Token by enabling OAuth & Permissions.
- Scroll down to Bot token scopes and add the following scopes
app_mentions:read
,chat:write
,chat:write.customize
,channels:read
,channels:history
andteam:read
. These are the permissions the app or bot needs to read and write messages to the Slack channels. - Enable and subscribe to Slack events and set the
Request URL
where subscribe events notification will be sent to:Request URL: https://your-bot-domain.com/slack/listen
Make sure to replace https://your-bot-domain.com with the actual URL where your app is hosted.
To share a kudos with a team member, send a message to the Slack channel where KudosBuddy is installed:
Kudos to @team_member_name your_message_here
For example:
Kudos to @Joshua Graham for an outstanding job on the new UI designs! 🌟
To view the scores attained by team members:
@app_name_or_bot_name scores
For example:
@KudosBuddy scores
Contributions are welcome! Feel free to submit pull requests or open issues if you encounter any problems or have suggestions for improvements.