感謝を可視化するSlackアプリを作ってみた ~さらにポジティブな雰囲気に溢れた組織へ~
まずはじめに
ブイクックで業務委託でエンジニアをしています、kazuです。
弊社ブイクックでは、社内でのコミュニケーションツールとしてSlackを使っています。
弊社のSlackでは、投稿に対して気軽にたくさん絵文字をつけたりなどしていて、みんな軽快なやりとりをしています。
今回、さらにポジティブなリアクションが飛び交って、雰囲気の良い組織になればいいなと思って、「plusplus」というSlackアプリケーションを開発しました。
アプリでできること
このアプリがAppとして追加されているチャンネル内で@ユーザー名 ++
と打てば、メンションされたユーザーに「ありがとうポイント」を1つプレゼントできます。
現時点では、機能はこれだけです。でもこれだけでも十分に良いアプリだなあと自負しています😀
下の画像は、僕がこのアプリを使って、各メンバーに日頃感謝していることを伝えた時のものです。
この投稿に対して、メンバーがめっちゃ嬉しいコメントを返してくれたんですが、僕の宝物のため、出したくないなと思ったので、出しません😂
どうやって作ったか
Slackが提供してくれているBoltという、Slackアプリを簡単に作れるフレームワークを利用しました。
現時点では、
- javascript
- python
- java
などで動作するようです。
今回、私はjavascriptを使うことにして、node.jsアプリケーションとして作成しました。BoltでのSlackアプリの開発はとてもやりやすくて、何より公式ドキュメントが充実しています。
上のドキュメントをやれば、Slackチャンネルでの任意のメッセージを伴った投稿をトリガーとして、それに対して、リアクションを送ったり、コメントを投稿させたりすることができるようになります。
また、Socket Modeを利用すれば、公開しているエンドポイントではなくても(つまり、自分のローカル環境でのみ動作するプログラムでも)、SlackでのイベントをListenして、アクションを送ることが可能です。開発がとても楽ですね。
Instead of sending payloads to a public endpoint, Slack will use a WebSocket URL to communicate with your app. WebSockets use a bidirectional stateful protocol with low latency to communicate between two parties—in this case, Slack and your app.
ref: https://api.slack.com/apis/connections/socket
以下のような実装で簡単に実現できます。
// "++" を含むメッセージをリッスンします
app.message('++', async ({ message, say }) => {
// イベントがトリガーされたチャンネルに say() でメッセージを送信します
await say(`<@${receivedUser}> get ${point} points!🎉`);
});
作ってみてどうか
ポイントを贈られた時、自分がメンバーに貢献していることを実感でき、それがどんどん溜まっていくことはとても嬉しいものです。感謝を示すスタンプも日頃からよく使われていますが、それと比べてplusplusは、「ポイント」という形で、自分がどれだけ他に貢献できているかを実感できることが良いと考えています。
最後に
以下の記事(気軽なポジティブ・フィードバック好き)に書かれていますが、働く我々はどこまで行ってもやはり人間なので、人に喜んでもらったり、ポジティブなリアクションを貰えるととっても嬉しいと思います。
私が思うに、何をアウトプットしたとしても、ポジティブなリアクションを貰える安心感があれば、どんどんアウトプットが増えると思っています。
それぞれが他の誰かのために沢山アウトプットが生まれるチームは、ものづくりをするチームとして強いと思っています。
ブイクックのみんな、これからどんどんplusplus使ってね!
読んでくださった方、どうもありがとうございます😁
Hello Vegan!誰もがヴィーガンを選択できる社会をつくるために、ヴィーガン生活を支えるプロダクトを創り続けます。 一緒にヴィーガン業界をリードする強くて優しい仲間を募集しています。 会社HP:vcook.co.jp/ 募集要項:doc.vcook.co.jp/recruit
Discussion