-
Notifications
You must be signed in to change notification settings - Fork 1
Features
The award points feature allows employees to recognize each other for their contributions. The manager could award the points to their direct report, or it could also be peer-to-peer. The user issues a Slack slash command by typing /reward, which opens up a modal in which you can type the recipient's details, award type, and a message detailing why they received the award. Once you click on submit, the dedicated public bot channel will receive a message containing the details of the award.
Manually Awarding Points to Peers
- The employee must have the necessary authorization to use the RewardBot.
- The employee should not have used the RewardBot to award points more than three times.
The employee will input the award details, such as the recipient's name, the type of award, and the reason for giving the award, using the appropriate slash command [S1]. The RewardBot will verify the response and save the points in the database [S2]. The RewardBot will send a private message to the awarder confirming the award details[S3].
[S1] The employee triggers the RewardBot using the /reward
slash command, and the bot will prompt them to input the recipient's name, the type of award, and the reason for the award.
[S2] The RewardBot will validate the response and update the recipient's points if the validation is successful.
[S3] The RewardBot will send a message with the award details to the public dedicated bot channel.
- The recipient's record is updated with the awarded points.
- The awarder-to-awardee quarterly award count increases by one. (Only three awards can be given by a specific awarder to a specific awardee in a quarter)
The GitHub integration REST endpoint of RewardBot must be added to the GitHub repository's webhooks. And then, when a user merges a pull request (PR) in a GitHub repository, it will trigger the webhook that will call RewardBot, and RewardBot will automatically award 10 points to the author of the PR. The dedicated public bot channel will receive a message announcing the details of the award.
Integrating our RewardBot with GitHub
- The employee should be present in the database.
- The employee should have raised a PR.
The bot will award the points to the employee who raised the PR once it is merged[S1]. The bot will also post a message on the common channel and inform everyone about the awarded points[S2].
[S1] Once the PR is merged, it automatically awards points to the employee and will update the database [S2] It will post a message on the Slack channel saying Employee ABC has been awarded 10 points for their contribution.
The leaderboard feature allows users to see the top ten performers. The user issues a Slack slash command by typing /leaderboard
, which prompts the RewardBot to retrieve the top ten performers and send the leaderboard as a direct message.
Display the leaderboard showing the name of the top ten performers and their accumulated points.
- The employee should have the necessary permissions to interact with the bot.
- There should be valid entries in the database of the respective employees and their details.
The employee will invoke a slash command, triggering the Reward Bot [S1]. The Reward Bot will then show the leaderboard to the employee on a private channel [S2].
[S1] Employee invokes the bot using the /leaderboard
slash command.
[S2] The bot then sends a direct message containing the leaderboard of the top ten performers to the employee who invoked the command.