見出し画像

#Slack から #Salesforce の活動を記入することができるようにすると記録が楽になるだろうという実践の話

2022.3.9 以下のフォームを利用できるアプリを無償公開しました

以下本文ーーーー
Salesforceには、活動オブジェクトというものが存在しており、様々なオブジェクトに活動内容を記入するような使い方ができます。

基本的には、商談の営業報告を書くという用途を想定して作られているのですが、対象とするオブジェクトは商談やリード/コンタクトのみではなく、カスタムオブジェクトでもなんでも利用することができます。

そこで、弊社リバネスでは活動報告を商談履歴以外にも、各種面談の履歴であったり、支援先のメンタリングの記録といった形で利用しています。

一方で、使い方が多様化してくると、逆に使わなくなってしまうということが発生するようです。人間は選択肢が増えすぎると思考が止まるという話を以前聞いたことがあるのですがそれに近いのかもしれません。真面目な人の場合は、厳密にどのオブジェクトに紐付けるのが正解なのかを考えすぎて結局入力をやめてしまうという本末転倒なアクションさえ起こります。これは良くないですね。

従来の方法ではなにかの報告を書こうとした場合、当該レコードを検索して探し出します。関連レコードが複数出てくる事によって上記のような絞り込み不可能状態になってそこで手が止まるというパターンになるのだろうと思います。そこで今回はSlackから投稿させることでうまく誘導できやしないだろうかと検討をしてみました。

Slackから報告を書く場合のUI

弊社の場合は、多くの選択肢があると書いたのですが、とりあえず現状の実装では上図の通り。商談系、人物に紐づく話、特定のプロジェクト申請書類に関する話の4手段を実装してあります。

ここでのポイントは、最初に対象範囲を決めてしまうことです。なるべく悩まずに済む方法を追求すべきだということ。本当は内容を勝手にAIが解釈して最適なレコードに紐付けるべきなのだとは思いますが、現状そこまでの学習材料が無い&多分無理だろうなということで、ある程度は人間の力を借りながらやってみたいと思います。
ボタンでターゲットとなるレコード群を選択すると入力画面が立ち上がります。

検索画面

今回は商談ボタンを押してみましたので商談の検索画面が立ち上がります。ここでのポイントは、Slackで書いた内容をそのまま本文に引き継ぐことができるということです。二度入力は誰もしたくないですよね。
検索すると、入力画面が表示されます。

入力画面

Subjectと詳細は必須として残りの項目については余裕があれば入力という形にして省力化を図りました。開始時間・終了時間は現在時間から一時間前を自動的に入力するようになっています。目的は記録をできるだけ残してもらうことなので、この際細かい部分は微妙だったとしても構わないという方向にしてあります。
最後に作成ボタンを押せばSalesforce側に記録されて、レスポンスが帰ってきます。

Salesforceからのレスポンス

こうすることで、Slack側からSalesforceの元レコードへも簡単に遷移することができます。便利!

今後SalesforceはSlackを買収したことで実際にSalesforceを開かなくても色々な事が進んでいく方法にシフトしていくと予想していますが、こういった実装についても恐らく純正で対応していくのかもしれませんが、ひとまずオレオレ実装が出来ていますよという紹介でした。

技術的な話

Slack側にはSlackアプリをインストールしているのですが、これはBolt for PythonというSlackが出している開発フレームワークを使って開発しています。デプロイ先はHerokuです。これがSlackとSalesforceの間を取り持っています。
Salesforce側は、Apexという開発言語が使えますので、それを使ってREST APIを作っています。Slackアプリ側からこのAPIを叩くことで情報の送信をおこなうという形です。
興味があればお知らせください!

noteにはこれまでの経験を綴っていこうかと思います。サポートによって思い出すモチベーションが上がるかもしれない。いや、上がるはずです。