-
Salesforceで入力した情報をSlackで社内共有する〜その2〜
- 2021年5月13日
- Salesforce
- Slack
前回、Salesforce、Slackそれぞれに連携用のアプリをセットアップすることで、
Salesforceで更新した情報をSlackに自動で投稿できるようにしました。
前回の記事:Salesforceで入力した情報をSlackで社内共有する
ですが、投稿できる項目や表示される項目名に制約があり、実際の業務に沿った投稿ができているか、というと、「?」という状態でした。
そこで、今回は、もっと柔軟に投稿できる内容をカスタマイズしていきたいと思います。
「プロセスビルダー」を使って連携する
前回の投稿では、自動投稿させたいSlackチャンネルにて、
/Salesforce
と打ち、そこで出てきた、設定オプションから、連携させたいオブジェクトを指定して連携させていました。
が、今回は、その設定は使用しません。
代わりに、Salesforceの標準機能である、「プロセスビルダー」を使って設定していきます。
※「フロー」でもできます。
では早速、前回作成したSalesforceの環境(Trailheadで作成したPlaygroundを使用しました)を使って、プロセスビルダーを設定していきたいと思います。
参考:Slack で Salesforce を使えるように設定する「ステップ 8 :カスタムメッセージの宛先を作成する」
https://slack.com/intl/ja-jp/help/articles/360044038514-Slack-%E3%81%A7-Salesforce-%E3%82%92%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B
プロセスビルダーは、
入力画面などで何かしらの変更を行った(データ更新した)ときに、そのデータが事前に設定した条件に当てはまったら、システムに何かしらの処理を行わせたいときに使う機能です。
※「プロセスビルダー」や「フロー」などの自動化プロセスに関する詳細は以下などをご参照ください。
Trailhead Salesforce フロー:適切な自動化ツールを選択する
Salesforceにインストールした、Slackアプリには、プロセスビルダー用のApex処理が用意されています。
今回はこちらのApex処理を利用します。
まず、
アプリケーションランチャから
「Slack Setup」を起動します。
前回の記事では、「System Connections」までしか設定していませんでしたが、最後の「Automation Configuration」まで、「Continue」を押しては、各画面で設定し、各画面の「Finish」を押して、を繰り返しながら設定を進めます。基本的には、「Automation Configuration」までは何も設定せず、「Finish」を押していって問題ありません。
「Automation Configuration」画面では、更新したレコードをSlackに通知するためのIDを定義します。
「New Message Destinetion」ボタンを押して、通知先のSlackチャンネルを設定します。
「Save」ボタンを押すと、IDが採番されます。
リストの「MESSAGE DESTINATION ID」に、IDが表示されているはずですので、そのIDをコピーしておきます。
次に、プロセスビルダーを設定していきます。
設定>プラットフォームツール>プロセスの自動化>プロセスビルダー
「新規」ボタンを押して、新しいプロセスを定義します。
Saveしたら、オブジェクトをクリックして、前回と同様の通知を行いたいので、商談を指定します。
「条件を追加」では、以下のような設定を行ってみました。
- アクションの実行条件:数式の評価が true になる
- 数式の構築:
ISCHANGED([Opportunity].Amount) || ISCHANGED([Opportunity].StageName) || ISNEW()
次に、
「ルール適用時のアクション」を設定します。
- アクション種別:Apex
- Apex クラス:「Slack: Post Message」
とします。
「Apex 変数を設定」では、
- Message Destination ID:「Automation Configuration」画面でコピーしたIDを貼り付け
- Record ID:商談IDを指定
に設定します。
保存ボタンを押して、設定完了です。
最後に、「有効化」ボタンを押してプロセスが実行されるようにします(有効化しないと何も起きません)。
では、Slackに投稿されるメッセージを確認してみましょう!
Salesforceにて新しく商談を登録すると、、
メッセージが表示されました。
どんな案件内容かもわからず、だいぶ不親切ですね。。
そこでもう一手間かけてみます。
このプロセスビルダーのアクションでは、Slackへの投稿文章が指定できます。
プロセスビルダーの「Slack: Post Message」アクションにて、
「Apex 変数を設定」欄に行を追加します。
次に、項目には「Message」を指定し、種別は「数式」として、テンプレート内容を記述します。
今回は以下のようにしてみました。
BR() & "商談が更新されました。"
& BR() & "■会社:" & [Opportunity].Account.Name
& BR() & "■商談名:" & [Opportunity].Name
& BR() & "■ステータス:" & TEXT([Opportunity].StageName)
& BR() & "■金額:¥" & TEXT([Opportunity].Amount)
& BR() & "■更新日時:" & TEXT(DATEVALUE([Opportunity].LastModifiedDate))
この内容でどうなるか試してみましょう!
あれ、
<br>がそのまま表示されてしまいました。。
改行がある文章を表示するには数式は使えないようです(以前はできたのですが勝手にHTMLタグが適用されないよう、置換するようになったのかもしれません)。
回避策として、商談に数式項目を用意してみました。
Slack用のメッセージとして、以下の数式内容を設定しました。こうすることでSalesforce内で改行された文章にしておきます。
BR() & "商談が更新されました。"
& BR() & "■会社:" & Account.Name
& BR() & "■商談名:" & Name
& BR() & "■ステータス:" & TEXT(StageName)
& BR() & "■金額:¥" & TEXT(Amount)
& BR() & "■更新日時:" & TEXT(DATEVALUE(LastModifiedDate))
次に、先ほど設定したプロセスビルダーでも追加した項目を設定するように変更します。
Messageを以下の内容に変更します。
- 種別:項目の参照
- 値:先ほど追加した数式項目
では、リトライしてみます!
今度は改行されてくれました!
文章も前回のものと比べてだいぶ分かりやすくなりました。
あとは金額を3桁区切りにしたり、体裁を整えてあげると良さそうです。
他にも、更新された内容ごとに、メッセージの「商談が更新されました。」の部分を分かりやすく変えてみたりするとなお分かりやすいのではないでしょうか。
現場のメンバー間でより情報連携がスムーズになるよう、メッセージを工夫し、商談推進に役立ててみてはいかがでしょうか?
さらに細かく定義したい場合
今回はプロセスビルダーにてSlackが用意しているApexクラスを指定しましたが、もちろん、独自にApexクラスを作成することで、もっと柔軟なメッセージを送信することができるようになります。
Slackでは、自動投稿用の手段が提供されており、それをApexクラスに組み込むことで実現することができます。
当社では、商談のメッセージ投稿の他に、
- 活動履歴
- リード(HPの問い合わせフォームから登録された情報)
を独自のApexクラスを使用してSlackに連携しています。
CRMと普段使いのチャットツールを連携させて、情報収集の敷居をどんどん低くしていきましょう!
株式会社ソリューションウェアでは、営業支援システム(SFA)を始めとして、Salesforceを有効活用し、社内活性化を実現するためのご支援をさせていただいております。
日々のお困りごとや、今回のブログで不明な点、もっと聞きたい点がありましたら、お気軽にお問い合わせくださいませ!
お問い合わせはこちら
この記事を書いた人 : 國田健史
AWS bluebird css CSV docker docker compose electron ES6 es2015 Git Heroku ITコンサルティング JavaScript justinmind less mongoDB Node.js php PostgreSQL Private Space Promise React react-router reactjs Salesforce scss Selenium Builder selenium IDE Selenium WebDriver stylus TypeScript VirtualBox VisualStudioCode vue vuejs webpack システム開発プロジェクト セキュリティ ワイヤーフレーム 上流工程 卒FIT 帳票 要件定義 設計 電力小売業界