CASE & ACTIVITY
インフォテックの取り組み
  • 調査・研究
  • Salesforce

Salesforceに新しいケースが登録されたらSlackに通知する

SalesforceとSlackを連携するアプリが公開されているので試してみました!
本稿ではSalesforceのケースレコード作成時にSlackへ通知する一例を紹介します。

なお、実装手順確認時のSalesforceのバージョンはSummer ’22になります。

今回実装した仕様

[前提]
  1.パソコン修理サービスを行っているA社に修理依頼の電話問い合わせがくる。
  2.電話対応を行ったA社のオペレータは対応後に問い合わせ内容をSalesforceのケースに登録する。
  3.ケースに登録されるタイミングでケースの種別によってSlackのチャンネル別にケース作成のお知らせが投稿される。
  4.外出中のA社の修理担当者はSlackに投稿された内容をSlackのモバイルアプリで確認する。

[事前準備]
 ・Slackのヘルプを参考にしてアプリのインストール/接続設定が完了していること。
   ・Salesforce の Slack アプリをインストールして設定する。
   ・Slack に Salesforce アプリをインストールする。
   ・Salesforce アカウントと Slack アカウントを接続する。
 ・モバイルにSlackのアプリがインストールされていること。

[仕様]
 ・ケースの種別は「ノートパソコン、デスクトップパソコン、モニター」の三種類とする。
 ・投稿文のフォーマット例は下記の通りとする。
  【投稿文のフォーマット例】
    ケースが作成されました。
    [ケース名]:ノートパソコン問い合わせ
    [ケース番号]:00001032
    [状況]:New
    [優先度]:Medium

実装手順

ケース種別に合わせたSlackチャンネルを作成

 ・問い合わせ-デスクトップパソコン
 ・問い合わせ-ノートパソコン
 ・問い合わせ-モニター
 ・問い合わせ-その他(フローの条件分岐のデフォルト結果)

  

ケースの種別選択リスト値を作成

 ・ノートパソコン
 ・デスクトップパソコン
 ・モニター

  

Slackへ投稿する定型文を作成

 ケースオブジェクトにカスタム項目作成
   データ形:数式
   戻り値のデータ型:テキスト
   項目の表示ラベル:Slackメッセージ(任意の名称)
   項目名:SlackMessage(任意の名称)

 ・数式
   BR() & “ケースが作成されました。”
    & BR() & “[ケース名]:” & Subject
    & BR() & “[ケース番号]:” & CaseNumber
    & BR() & “[状況]:” & TEXT(Status)
    & BR() & “[優先度]:” & TEXT(Priority)

Slackの投稿先チャンネル情報を紐付け

 アプリケーションランチャーにある「Slack Setup」をクリック

 「Slack Setup」の「Automation Configuration」の「Edit」をクリック

 「+ New Message Destinations」をクリック

 ・ノートパソコンのSlackチャンネル情報作成
   Message Destination Name:ノートパソコン(メッセージ名)
   Slack Workspace:問い合わせ対応(Slackのワークスペース名)
   Slack Channel or Person:問い合わせ-ノートパソコン(Slackのチャンネル名)

 他のSlackチャンネル情報も同様に作成  ※チャンネル情報のIDは、後ほど使用します。
 ・デスクトップパソコンチャンネル作成
   Message Destination Name:デスクトップパソコン(メッセージ名)
   Slack Workspace:問い合わせ対応(Slackのワークスペース名)
   Slack Channel or Person:問い合わせ-デスクトップパソコン(Slackのチャンネル名)
 ・モニターチャンネル作成
   Message Destination Name:モニター(メッセージ名)
   Slack Workspace:問い合わせ対応(Slackのワークスペース名)
   Slack Channel or Person:問い合わせ-モニター(Slackのチャンネル名)
 ・その他チャンネル作成
   Message Destination Name:その他(メッセージ名)
   Slack Workspace:問い合わせ対応(Slackのワークスペース名)
   Slack Channel or Person:問い合わせ-その他(Slackのチャンネル名)

Slackへの投稿フロー作成

 ケースレコード作成時にSlack投稿のアクションを呼び出すためレコードトリガフローを選択します。
 下記のようなフローを作成して有効化します。
 ※ここではエラー処理は考慮しないものとします。

 レコードトリガフローの作成
  オブジェクト:ケース
  フローをトリガする条件:レコードが作成された
  フローを最適化:アクションと関連レコード

 決定(分岐)を作成
  表示ラベル:分岐(任意の名称)
  API参照名:branch(任意の名称)
 結果(分岐条件)を作成
  ノートパソコンの条件
   表示ラベル:ノートパソコン(任意の名称)
   結果のAPI参照名:result1(任意の名称)
   結果を実行する条件の要件:すべての条件に一致(AND)
   リソース:$Record > ケース種別
   演算子:次の文字と一致する
   値:ノートパソコン
  デスクトップパソコンの条件
   表示ラベル:デスクトップパソコン(任意の名称)
   結果のAPI参照名:result2(任意の名称)
   結果を実行する条件の要件:すべての条件に一致(AND)
   リソース:$Record > ケース種別
   演算子:次の文字と一致する
   値:デスクトップパソコン
  モニターの条件
   表示ラベル:モニター(任意の名称)
   結果のAPI参照名:result3(任意の名称)
   結果を実行する条件の要件:すべての条件に一致(AND)
   リソース:$Record > ケース種別
   演算子:次の文字と一致する
   値:モニター
  デフォルト設定
   表示ラベル:その他

 新規アクション(メッセージ送信処理)の作成
  ノートパソコンの送信処理作成
   アクション:Slack:Post Message
   表示ラベル:投稿1(任意の名称)
   API参照名:Post1(任意の名称)
   Message Destination ID:xxxxxxxxxxxxxxxxxx(ノートパソコンのチャンネル情報ID)
   Record ID:{!$Record.Id}(ケースのレコードID)
   Message:{!$Record.SlackMessage__c}(作成したケースの項目)

 他のアクションも同様に作成
  デスクトップパソコンの送信処理作成
   アクション:Slack:Post Message
   表示ラベル:投稿2(任意の名称)
   API参照名:Post2(任意の名称)
   Message Destination ID:xxxxxxxxxxxxxxxxxx(デスクトップパソコンのチャンネル情報ID)
   Record ID:{!$Record.Id}(ケースのレコードID)
   Message:{!$Record.SlackMessage__c}(作成したケースの項目)
  モニターの送信処理作成
   アクション:Slack:Post Message
   表示ラベル:投稿3(任意の名称)
   API参照名:Post2(任意の名称)
   Message Destination ID:xxxxxxxxxxxxxxxxxx(モニターのチャンネル情報ID)
   Record ID:{!$Record.Id}(ケースのレコードID)
   Message:{!$Record.SlackMessage__c}(作成したケースの項目)
  その他の送信処理作成
   アクション:Slack:Post Message
   表示ラベル:投稿4(任意の名称)
   API参照名:Post4(任意の名称)
   Message Destination ID:xxxxxxxxxxxxxxxxxx(その他のチャンネル情報のID)
   Record ID:{!$Record.Id}(ケースのレコードID)
   Message:{!$Record.SlackMessage__c}(作成したケースの項目)

動作確認

1.Salesforceからケースを作成してみます。
  ケースが作成されるとフローが動作してSlackのチャンネルに作成した投稿文が投稿されます。
  種別:ノートパソコン
  状況:New
  優先度:Medium
  発生源:Phone
  ケース名:ノートパソコン問い合わせ

2.モバイルからSlackのチャンネルに投稿されていることを確認します。

 

 

最後に

SlackとSalesforceを連携させてみましたがいかがでしたでしょうか。
Slackをコミュニケーションツールの主としている企業は便利になりそうです。
今後のさらなる機能拡張に期待したいです。