社員のコミュニケーションを促進するアプリを作ってみた
はじめに
こんにちは。荒武です。今回はコピペテックの取り組みで作成した「ペア通知アプリ」について紹介したいと思います。
アプリを作った背景
今回作成したアプリが何なのかをざっくり説明すると「Salesforce上のユーザーからペアを作成してそのペアをSlackに通知するためのアプリ」なのですが、そもそもなぜこんなアプリを作ったのでしょうか。
弊社co-meetingでは社員同士のコミュニケーションを促進するために週に1度ペアを作って一緒に仕事をする時間を設けています。このアプリができる前はRandom CoffeeというSlackアプリを用いてペアの作成と通知を行っていました。
しかしこのアプリは完全にランダムにペアを作成するので社員の少なさに起因して、連続して同じペアになることがぼちぼちあるという問題がありました。
そこで、この問題を解決するために自前でアプリを作ることにしました。
どんなアプリなのか
アプリで実現したいことは主に以下の3つでした。
任意のユーザーからペアを作れる
作成されるペアは前回のペアと異なる
作成したペアをSlackに通知できる
任意のユーザーからペアを作れる
こちらは権限セットを用いて実現することにしました。ペア作成はApexで行うのですが、どのユーザーをペアの候補とするかはユーザーに特定の権限セットが付与されているかで判定することにしました。
作成されるペアは前回のペアと異なる
こちらは履歴保存用のオブジェクトとApexを用いることで実現しました。
ペア候補のユーザーを取得した後に、あるユーザーに対して履歴を用いて前回のペアを除いたランダムなユーザーをペアリングするようなロジックを作成し、前回と重複したペアが作成されないようにしました
作成したペアをSlackに通知できる
これが一番面倒そうかなと思ったのですが蓋を開けたらフローとSalesforce for Sackを用いればノーコードで簡単に実現できました。通知を送りたいワークスペースにSalesforce for Sackをインストールし、任意のSalesforce組織と接続すればフローからSlackへの通知アクションを用いることでSlackへの通知を行うことができます。通知するメッセージは前述のApexを用いてパラメータとして指定するだけです。
最終的にこんな感じの通知がSlackに飛びます。
おわりに
作ってみてSlack for Salesforceとフローが超便利だなと感じました。作る前は大変そうだなと思っていたのですが、流石Salesforce、Slackとの連携は簡単にできちゃいました。
また、このアプリは社内で使われるアプリなのでユーザーの声が直で聞けたのもよかったです。