Service Cloud Omni-Channel Basics and New Features

4068fcaf4bd4822746cc4537a422eced?s=47 Shun Kosaka
March 01, 2018
370

Service Cloud Omni-Channel Basics and New Features

・Service Cloudのオムニチャネルの基礎
・外部ルーティングの概要
・LightningコンソールAPIの概要
・電話とオムニチャネルの統合

4068fcaf4bd4822746cc4537a422eced?s=128

Shun Kosaka

March 01, 2018
Tweet

Transcript

  1. オムニチャネルの今とこれから 2018/03/01 Tokyo Salesforce Developer Group Meetup #17 Shun Kosaka

    | Accenture Japan Tech Session Service Cloudのオムニチャネルの基礎と 最新機能に触れてみましょう 20分 開発者 Intermediate
  2. 自己紹介 @shunkosa Name : 小坂 駿 (Kosaka Shun) / Company

    : アクセンチュア株式会社 × 365 × 15 Skills : Hobby : Trailhead / リアルTrailhead / 読書(help.salesforce.com)
  3. 本日のトピック Service Cloudのオムニチャネルで、 • 今、何ができて、どんな仕組みなのか • 最新機能では、何ができるのか

  4. 入門編

  5. オムニチャネルとは何か カスタマーセンタのあらゆる作業を、適切なオペレータに割り振る 仕組み ケース オペレータの 画面に通知 トランスクリプト カスタム オブジェクト SOS

    Salesforce オブジェクト キュー / スキル(※2) 業務量に 余裕ある? 問合せチャネル 技術 サポート セールス 電話 メール Webフォーム コミュニティ Live Agent(※1) … その他 問合せ 優先度:1 優先度:2 業務量:1 業務量:20% 優先度:3 業務量:2 ※1 LightningでLive Agentチャットを扱うには、オムニチャネルでの転送が必須です。 ※2 オムニチャネルでのスキルルーティングは、Spring ‘18でベータ版です。今回の発表では扱いません。 ルーティング設定 ルーティング設定 ルーティング設定 ルーティング キュー/ スキル割り当て レコード作成
  6. 適切なルーティングが重要な理由 オペレータと作業が適切にマッチングされないと… • オペレータの忙しさにばらつきができる • 作業時間が長くかかる • 転送やエスカレーションが増える • 内容のわからない作業はオペレータにストレスになる

    • (電話やチャットの場合は特に)待ち時間が増える、放棄率が上がる、 サービスレベルが下がる 上記に対応するために余計な仕事が増える ⇒ 顧客満足度が低下する
  7. 標準のルーティングモデル 標準のルーティングモデルは以下の2通り • Least Active = 作業中の業務量が少ない人から割り当てる • Most Available

    = 空きが多い人から割り当てる オペレータに作業を均等に割り振りたいという発想 Most Available Least Active
  8. オムニチャネルの仕組み(データモデルは一部簡略化) AgentWork サービス プレゼンス状況 ステータスを見ながら、均等にAgentWorkを作成 キュー サービス チャネル UserService Presence

    プロファイル プレゼンス設定 ルーティング 設定 Pending ServiceRouting ステータス一覧 (退席中 / ケース受け入れ可 など) チャネル一覧 (ケース / LiveAgent / SOS など) 最大業務量 実際のsObjectレコード オペレータに 割り当て済みの作業 オペレータに 未割り当ての作業 (待ち行列) 単位業務量や優先度 ユーザのリアルタイムステータス 作業項目 ユーザ
  9. (おまけ)オムニチャネルスーパーバイザ 最近では、ClassicのService Cloud機能の大半がLightning対応済 • Spring ’18でオムニチャネルスーパバイザがLightningでGA Service Cloudも #LightningIsNotFuture (Trailheadのモジュールはまだまだ…)

  10. 発展編

  11. 顧客を考慮したルーティングシナリオ チャットで以下のようなルーティングを実現するには? • オペレータのスキルと顧客の待ち時間の組み合わせ • 前回対応したオペレータに自動接続 • VIP顧客の待ち時間を一般顧客の待ち時間よりも短く設定 • キャンセル回数の考慮

    ルーティングをカスタムロジックで実装できる余地はないか?
  12. 外部ルーティング ルーティングを外部のロジックに委ねる • Winter ’17でベータ(Classic) • Spring ’18でベータ(Lightning) • 現在はサポートに有効化依頼が必要

  13. UserServicePresence等に基づいて、 ヒマなオペレータを特定 カスタムロジックでオペレータを特定 (例: 特定した顧客情報や 外部サービスで保持する情報を用いる ) 外部ルーティングの仕組み 標準のルーティング 作業項目がキューに割り当たる

    オペレータ未割り当ての作業を検知する (PendingServiceRoutingの変更を検知) 外部ルーティング 特定したオペレータに対して AgentWorkを作成する Step1 Step2’ Step2 Step3 オペレータの画面に通知
  14. PendingServiceRoutingの変化を検知するには ルーティングに必要な情報が全てSalesforce内にある場合は、 PendingServiceRoutingのトリガで処理すれば簡単そう • 動きませんでした… • システム生成のレコードにはトリガが発動しない可能性 外で計算する際も、トリガ+Platform EventはNG •

    仕方なくPushTopic + Streaming APIで拾う (開発者ガイドの記載もこの方法)
  15. デモ チャットで「さっき話した人」に優先的につなぐ • フォームで顧客特定して過去の担当者をクエリ Alice Bob Carol 顧客特定 & 過去の

    会話検索
  16. 実装方法 サンプルのコミュニ ティにSnap-in チャットを設置 事前フォーム (自動でContactを 紐づけ) PushTopic を Subscribe

    Streaming API ContactId で 過去のト ランスク リプトを クエリ 過去の担当者に AgentWorkを 作成 他の空いている 担当者に AgentWorkを 作成 過去の担当者が オンラインで業務 量に空きがある? SOAP/REST API (もしくはPlatformEventをSalesforceに投げて トリガで処理) YES NO
  17. テレフォニーシステムはSalesforceの外 • 電話とオムニチャネルのステータスを両方操作する必要があり面倒 • 電話のステータスが通話中になったら、チャットはオフライン にできるか?1つのコンポーネントに統合できるか? • KPIの取得元がばらばら PSTN テレフォニーシステム

    オムニチャネルルーティング OpenCTI アダプタ PBX / IVR / ACD キュー キュー キュー
  18. ステータスを同期する <lightning:omniToolkitAPI> • オムニチャネルのイベント全般を処理(Spring ’18でベータ) From オムニチャネル <aura:handler event=“lightning:omniChannelStatusChanged” .....

    /> • オペレータのステータス変更を拾う To オムニチャネル UserServicePresenceは直接Updateできない • LightningコンポーネントからsetServicePresenceStatus()
  19. ステータス中継用のユーティリティーバー 電話のステータスを外で処理できれば、既存のCTIアダプタと標準の オムニチャネルコンポーネントをそのまま活用できる [参考] Classicのコンソールで隠しコンポーネントを利用する例 Trailhead - エージェントのキーボードショートカットのカスタマイズ https://trailhead.salesforce.com/ja/modules/service_console_customize/units/service_console_customize_key 例)

    Amazon Connectの場合 1. ステータスの変更をKinesis Streamに 2. LambdaでSalesforceに通知 3. ダミーのコンポーネント内でsetServicePresenceStatus() Classicではコンソールコンポーネントを非表示にできるが、 現在Lightningのユーティリティバーは非対応
  20. 通話ログ用のカスタムオブジェクト 作業項目をオムニチャネルで処理するには、そのレコードをキュー に割り当てる必要があった • 通常CTI連係ではコールログは活動履歴 • インバウンドコールをオムニチャネルで処理する場合、 ToDoをキューに割り当てできると自然 • 現在、ToDo/活動履歴はキューの割り当て不可

    • 別途カスタムオブジェクトの作成が必要 [参考] ぜひUpvoteしてください! Idea - Allow Task(s) to be assigned to a Queue https://success.salesforce.com/ideaView?id=087300000007HC0AAM
  21. まとめ

  22. まとめ • オムニチャネルでカスタマーセンタの業務を集約 • 外部ルーティングで高度なルーティングを実装 • コンソールAPIを利用して電話とオムニチャネルを統合(できそう) • 本日のトピックはたくさんあるService Cloud機能のほんの一部

    • 気になる領域を探して勉強してみると、新しい発見があるかも!?
  23. 告知 3/20(火) Salesforce Developer Group ルーキー会 #7 at アクセンチュア イノベーションハブ

    東京 今すぐ登録しましょう!! https://sfdgr.connpass.com/