【Salesforce Service Cloud】ケースオブジェクトの基本
はじめに
ケースは、Salesforce でお問い合わせを管理するための標準オブジェクトです。
お問合せには顧客からのお問合せ、社内からのお問い合わせなど複数のパターンが存在しますし、その中でもお問い合わせの内容はさらに細分化してきます。
これらの多岐にわたる情報を一人、ないし 1 チームで全て処理するのは困難極まりないです。
ケースオブジェクトではこのようなシーンに対して、お問い合わせの内容によって担当者を振り分けたり、別のチームへ担当を変更したり、担当変更時には通知するなどのよくある事例に対しての様々な標準機能を備えています。
また、標準機能だけでは実現が難しい場合には自由に独自でカスタマイズすることもできます。
今回はケースオブジェクトでよく使われる機能の概要と実際にいくつかの標準機能を使用しながら実装例を紹介していこうと思います。
この記事でわかること
この記事を読む上での前提条件
概要
ケースに対してよく使われる機能は以下になります。
| 機能名 | 利用シーン | 概要 |
|---|---|---|
| web-to-ケース | ケース作成チャネル | 設定に沿って生成された HTML の Form からデータをポストするとケースが作成される |
| メール-to ケース | ケース作成チャネル | 専用に発行されたアドレスに対してメールを送信するとケースが作成される |
| ケースの割り当てルール | ケース作成・更新時 | 作成されたケースに対して、項目値に基づいて、キューやユーザを割り振る |
| エスカレーションルール | ケース作成・更新時 | 作成されたケースに対して経過時間などの条件に基づいて、キューやユーザーを割りる |
| オムニチャネル | ケース作成・更新時 | 項目、ケースの担当数などのユーザーの状況に応じて担当を振り分ける |
| 自動化プロセス ・フロー ・プロセスビルダー ・Apex トリガー |
ケース作成チャネル ケース作成・更新時 |
標準機能で実現できないケースに対して独自にカスタマイズする |
| ワークフロールール | ケース作成・更新時 | 作成されたケースに対して、メール送信、項目更新などワークフローを構築する。※廃止予定機能のため新規での使用はしない 2023/01 |
上記のいくつかの機能を組み合わせ以下のような実装をするのがベターです。

実践
先ほどの実装例をもとにケースの割り当てルールとエスカレーションルールの実装を試してみます。
ケースオブジェクト登録のチャネルは、手動作成、web-to-ケース、メール-to-ケースの 3 パターンで試します。
ユースケースは以下としましょう。
オペレータが確認した問い合わせ内容に対して、適切な部署に担当を割り振り担当先へ通知する。
ユーザの追加とキューの作成
ケースの割り当てルールおよびエスカレーションルールでは、割り当て先に特定のユーザまたは複数ユーザをグループ化して管理するキューを指定することができます。
ユースケース的には部署ごとにキューを作成し、部署に所属している社員をユーザとしてキューに追加するイメージです。
部署人数を 2 人と仮定してもう1ユーザの追加、自分と追加分の 2 ユーザをキューに追加する作業を行います。
まずユーザからです。クイック検索ボックスで ユーザ を検索し以下キャプチャのユーザを追加してください。(名前とかは適宜変更ください)

ユーザ作成時に指定したアドレスに対してメールが通知されますので添付されたリンクからパスワードのリセットを行いユーザ登録を完了させます。



次にキューの作成です。クイック検索ボックスで ユーザ を検索し 新規 ボタンをクリックし以下の設定を行い 保存 します。
-
表示ラベルとキュー名に任意の値を設定 -
選択されたオブジェクトにケースを追加 -
選択済みのユーザに現在ログインしているユーザと先ほど作成したユーザを追加

メールテンプレートの作成
ケースの割り当てルールおよびエスカレーションルールによって割り当て先が決定されると担当になったユーザ、キューに対してメールで通知することが可能です。
この通知の時に使用するメールテンプレートをあらかじめ作成しておきます。
クイック検索ボックスで テンプレート を検索し Classicメールテンプレート から 新規テンプレート ボタンをクリックします。

テンプレートの形式を選択し、次へ ボタンをクリックします。(今回はテキストにします)

メールの中に salesforce のオブジェクト項目の値を差し込みたい場合は 差し込み項目ルックアップ から 差し込み項目の種類 と 差し込み項目 を選択し、自動生成される 差し込み項目値 をメールテンプレート内の任意の場所で使用します。
今回は込み入ったことはしないので メールテンプレート名, テンプレートの一意の名前, 件名, メール内容 に適当な値を入力して 保存 ボタンをクリックします。

割り当てルールの条件項目を追加する
今回のユースケースをどう実現させようかということで、ケースの標準項目の Status の選択リストに Escalated という値がありますので、こちらとこれから新規で追加する エスカレーション先 という項目を組み合わせて条件を設定しようと思います。

項目の作成は特段難しいことないのでサクッとキャプチャだけ。今回は選択リストを選択して、選択肢に dep_A,B,C の 3 つを設定しておきます。



エスカレーションルールの設定
割り当て設定を行うための準備が完了しましたので、実際にやってみます。
まずはエスカレーションルールからです。
クイック検索ボックスで エスカレーション を検索し エスカレーションルール から 新規 ボタンをクリックします。

ルール名 に任意の名前を設定し、有効 チェックボックスにチェックし 保存 ボタンをクリックします。

エスカレーションルール 画面に遷移しますので、新規 ボタンをクリックします。

エスカレーションルールのエントリーを行います。
以下の 4 ステップを任意で設定し、保存 ボタンをクリックします。
- ステップ 1
- ルールが実行される順番を整数を指定。(今回は 1 を設定)
- ステップ 2
- ルールの条件を指定します。ケースオブジェクトに対して変更が入った時、項目 A の値が B になったときに実行のような条件を追加するイメージです。
- ここでは取り急ぎ条件なしにしてます。(次のケース割り当てルールで同じ設定がありますのでそちらで確認します)
- ステップ 3
- エスカレーションルールが実行される時間帯に営業時間を含めるか否かなどの設定を行います
- ステップ 4
- エスカレーションルールの条件およびアクションが適用されるタイミングを設定します。

次に エスカレーションアクション のとこの 新規 ボタンをクリックします。
先ほどルールのエントリが完了しましたので、今後は条件が一致し、ルールが適用された時のアクションの詳細を設定します。

赤枠内のアクションを設定し 保存 ボタンをクリックします。
概要としては、先ほどのエントリーで設定した条件に一致し、ルールが適用された時に いつ アクションを起こすかの設定を このルールがが適用される時間の条件を指定してください で決めます。(最短 30 分)
ルールが適用され割り当てが変更されますので、変更を 誰に に どのメールテンプレート で通知するのかを残りのセクションで指定します。
ここで先ほど作成した、キュー・ユーザであったりメールテンプレートが選択できるようになってるかと思います。

ケース割り当てルールの設定
次にケース割り当てルールの設定についてみていきます。
基本的な設定方法はエスカレーションルールと同じようなやり方になります。
違いとしてはエスカレーションルールは時間ベースでのルールでエントリーとアクションで 2 回設定を行う必要がありましたが、ケースの割り当てルールではエントリだけ行うで完了です。
クイック検索ボックスで ケース を検索し ケースの割り当てルール から 新規 ボタンをクリックします。

ルール名 に任意の名前を設定し、有効 チェックボックスにチェックし 保存 ボタンをクリックします。

ケースの割り当てルール 画面に遷移しますので、エントリ のところの 新規 ボタンをクリックします。

エスカレーションルールの時と同じよう 4 ステップを任意で設定し、保存 ボタンをクリックします。
- ステップ 1
- ルールが実行される順番を整数を指定。(今回は 1 を設定)
- ステップ 2
- ルールの条件を指定します。
- セレクトボックス内
条件が一致すると数式の評価がtrueになるから数式の方を選択します - 以下の数式を差し込みます。「割り当てルールの条件項目を追加する」で記載したユースケースに沿って
Statusの値がEscalatedでエスカレーション先を選択した時に割り当てを変更する条件式です
AND(TEXT(Status) == 'Escalated', TEXT(escalations__c) == 'dep_A') - ステップ 3
- 割り当ての変更がされる時の通知先を指定します。
- ステップ 4
- 必要に応じて通知先を追加します。(今回はなしで行きます)

動作確認
設定の類はこれで完了しましたので、動作確認していきます。
手動, web-to-ケース, メール-to-ケース の 3 パターンでケースを作成してみます。
手動でケース作成
管理画面からレコードを作成するだけですのでサクッといきます。
状況 の値が Escalated で エスカレーション先 の値を dep_A を選択、発生源 を任意の値に設定、有効な割り当てルールを使用して割り当てる チェックボックスをチェックして 保存 ボタンをクリックします。

これでケースの割り当てルールによって所有者が指定したキューのグループに変更されること、通知メールが飛んでくることが確認できます。
また、エスカレーションルールは特に設定してないので 30 分後にルールが適用され再度メール通知が飛んでくることが確認できます。(煩わしいようでしたらルールを無効化してください)
Web-to-ケースでケース作成
Web-to-ケースはお問い合わせフォームを設定に応じて自動で作成し、フォームからデータをポストするとケースが作成される機能です。
クイック検索ボックスで ケース を検索し Web-to-ケース から Web-toケースの有効化 をチェックし、保存 ボタンをクリックします。

次にクイック検索ボックスで HTML を検索し Web-to-ケースHTMLジェネレータ を選択。
選択済み の欄に任意のケースオブジェクトの項目を追加します。
ここに追加した項目が後に自動生成される HTML フォームに反映されるインプット情報になります。
コールバック先として http://127.0.0.1:5500/ の localhost を指定して、作成 ボタンをクリックします。

ジェネレータによって HTML が生成されますので中の HTML をコピーして 完了 をクリックします。

実際に自動生成された HTML のサンプル
<!-- ---------------------------------------------------------------------- -->
<!-- 次の <META> 要素を、HTML の <HEAD>タグ間に追加してください。必要に応じて、charset -->
<!-- パラメータを変更して、HTML ページの文字コードを指定してください。 -->
<!-- ---------------------------------------------------------------------- -->
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
<!-- ---------------------------------------------------------------------- -->
<!-- 次の <FORM> 要素をページに追加してください。 -->
<!-- ---------------------------------------------------------------------- -->
<form
action="https://webto.salesforce.com/servlet/servlet.WebToCase?encoding=UTF-8"
method="POST"
>
<input type="hidden" name="orgid" value="00D2w00000Oew3e" />
<input type="hidden" name="retURL" value="http://127.0.0.1:5500/" />
<!-- ---------------------------------------------------------------------- -->
<!-- 注意: これらの項目は、省略可能なデバッグ用要素です。デバッグモードでテストを行う場合は、これらの行をコメント解除してください。 -->
<!-- <input type="hidden" name="debug" value=1> -->
<!-- <input type="hidden" name="debugEmail" -->
<!-- value="akihito.iwasawa+sms-de@accenture.com"> -->
<!-- ---------------------------------------------------------------------- -->
<label for="name">取引先責任者名</label
><input id="name" maxlength="80" name="name" size="20" type="text" /><br />
<label for="email">メール</label
><input id="email" maxlength="80" name="email" size="20" type="text" /><br />
<label for="phone">電話</label
><input id="phone" maxlength="40" name="phone" size="20" type="text" /><br />
<label for="subject">件名</label
><input
id="subject"
maxlength="80"
name="subject"
size="20"
type="text"
/><br />
<label for="description">説明</label><textarea name="description"></textarea
><br />
<input type="submit" name="submit" />
</form>
自身の PC 環境に適当なフォルダを作成し、フォルダ内に index.html を作成し、先ほどコピーした HTML をペーストします。
フォルダを VSCode で開きます。
Live Server という拡張機能がありますのでこちらをインストールし、右下の Go Live をクリックします。
すると作成した HTML が localhost 上で起動しますので、フォームに適当な値を入力して 送信 ボタンをクリックします。


ケースオブジェクトの画面から先ほどポストした情報でレコードが生成されることを確認できます。
ケースの割り当てルールを適用する場合は、右上の編集から「手動でケースを作成」で行なった設定に変更して保存し直すことで再度割り当てが変更され、メール通知が届くことを確認できます。

メール-to-ケースでケース作成
こちらはフォームでなく、「お問い合わせはこちら」のような動線からメールでサポート問い合わせをするときにメール-to-ケースで生成されたアドレスに対してメール送信することでケースが作成される機能になります。
クイック検索ボックスで ケース を検索し メール-to-ケース を選択。
メール-toケースの有効化 をチェックし、Email2Case を選択し、新規 ボタンをクリックします。

ルーティング名 に任意の名前を入力し メールアドレス にアドレスを指定し、保存 ボタンをクリックします。

以下のメールが届きますので本文中の URL にアクセスします。

以下の画面に遷移しますので 次へ をクリック

すると メールサービスアドレス として専用のアドレスが発行されることが確認できます。

メールサービスアドレス で発行されたアドレスに対してメールを送信するとケースが作成されることを確認できます。
ケースの割り当てルールを適用する場合は、「手動でケースを作成」で行なった設定に変更して保存し直すことで再度割り当てが変更され、メール通知が届くことを確認できます。

また、メール-to-ケースに限った話ではないですが、メールの送信、受信の履歴は メールログファイル にて確認することができます。
メールが届かない時などはこちらのログを参照して原因を探したりできます。

さいごに
さいごまで読んでいただきありがとうございます。
以下、まとめです。
- ケースと関連してよく使われる機能
- Web-to-ケース
- メール-to-ケース
- ケースの割り当てルール
- エスカレーションルール
- オムニチャネル
- 自動化プロセス
- ワークフロールール(非推奨)
- 割り当てルールを設定して所有者の変更を行いたい時に使う機能
- エスカレーションルール
- ケースの割り当てルール
- ルール適用前に行う設定
- キューの作成
- ユーザの作成、キューへの登録
- メールテンプレートの作成
- ケースの作成チャネルとして使用される機能
- 手動作成
- Web-to-ケース
- メール-to-ケース
間違いの指摘やリクエストなどありましたら加筆していきたので是非、ご意見をいただけたらと思います。
それではまた次の記事でお会いしましょう。
Discussion