本ドキュメントでは、Amazon Connect からのパートナーテレフォニーを使用した Service Cloud Voiceにおけるルーティング設計時の基礎知識ならびに観点を説明します。
キューベースルーティングとスキルベース(習熟度)ルーティングの基礎
キューベースルーティングは、業務の種類や能力に応じたキューをそれぞれ作成して振り分ける方式です。
例えば、ルーティングの設定を決める上での優先順位は、VIPは優先度を高くしたい、返品に関しては製品の状況伺いなどで対応時間が長くなる可能性などの観点があります。
これらの観点を加味してキューを割り振る優先順位などを設計します。
スキルベースルーティングは、顧客からの問い合わせの経験値や習熟レベルなどに基づき、応対可能なエージェントを割り当てる方式です。
キューを通じてルーティングされる問い合わせに対して、高度なマッチングを実現する用途で使用されます。
以下の図の例では、初心者エージェントはレベルが低いレベルと設定された問い合わせの応対ができ、上級エージェントはレベルが高いと設定された問い合わせの対応ができ、返品対応専門エージェントは無条件で応対できるなどの設定がされています。
逆に初心者のレベルアップを狙うため、「応対して欲しい度合い」をスキルの定義とすることで、初心者にルーティングされやすくするといった設計を行うことができます。
一般には、キュー単位(業務単位)での集計など複雑な業務要件に応えるには、次のようなキューベースとスキルベースの組み合わせで設計します。
実業務においては、これらの設計は組み合わせが膨大になりやすいという課題がよくあります。
業務の数やスキル差を細分化しない・シンプルな設計を目指す場合はキューベースルーティングを、レベルを細かく細分化し複雑性を受け入れながらも柔軟性を求める場合は最低限のキュー + スキルベースルーティングを採用するのが良いと筆者は考えます。
Salesforceのルーティングの種類
Salesforceでは、"ルーティングモデル"の設定、統合ルーティングの有効/無効、方法論(キューベース/スキルベース)の組み合わせでルーティングを設計することができます。
ルーティングモデルについて
ルーティングモデル1には、以下の3つがサポートされています。
対応中件数が最小 (Least Active)
受信した作業項目は、現在の業務量が最も少ないサービス担当者に転送されます。
同数の場合は、最も長く作業を受けていない担当者に転送されます。このモデルでは、オープン中の作業項目の数が考慮され、業務量の重み (capacity weight) は計算に含まれません。
主な利用ケース以下のようなエージェントの負荷を分散させたい場合などに有効です。
- マルチチャネル化されておりSalesforceのリードやケース、メールなど非同期に応対することが可能である
- スキルによらず、高負荷でありエージェント間で均等に問い合わせを分散させたい
- スキルベースルーティングを採用しつつも、同じスキルを持っているエージェントが多数いる時、負荷のバランスを取りたい
Salesforceがルーティングの制御をします。
対応余力が最大 (Most Available)
受信した作業項目は、対応可能な業務量が最も多いサービス担当者に転送されます。これは、担当者の全体的な業務量(キャパシティ)とオープン中の作業項目の差が最も大きい担当者を選択します。同数の場合は、最も長く作業を受けていない担当者に転送されます。
主な利用ケースは電話やライブチャットなどのリアルタイムな応対やエスカレーションを重視する場合など、顧客との接点のスピードを優先する場合に有効です。
Salesforceがルーティングの制御をします。
外部ルーティング (External Routing)
外部システムが独自のキューを使用して、ルーティング処理を行います。
Amazon Connectなど外部のルーティングの仕組みを利用する場合に選択します。
なお、以下の制約があります。
- 外部ルーティングでは、スキルベースルーティングはサポートされません
- オムニチャネルフローの要素
スキル要件を追加(addSkillRequirements) や作業を転送(routeWork)のルーティング先の設定「スキル」は無視されます
- オムニチャネルフローの要素
外部システムが最終的なルーティングを制御を行います。
最終的なルーティングを決定するまでの途中でSalesforce側のキューの決定や応対するエージェントの決定にオムニチャネルフローを用いることで、一部をSalesforce側でルーティングを制御することが可能です。
統合ルーティングについて
統合ルーティング(Unified Routing) とはルーティングを外部ルーティングではなくSalesforce内部で完結させるための機能です。
機能の目的は音声・チャット・メールなどメッセージを統一のルールで運用することで、ルーティングの一貫性を高め、断片化されたシステムの複雑さを避けることができるようになります。
反面、チャネルごとに細かく制御する場合は理念に反すると言えます。
制限として、外部ルーティングでは統合ルーティングは使用できません。
Amazon Connectチャット、Salesforceの標準メッセージングと互換はありません2
Salesforce の Amazon Connect チャットおよびメッセージングは、オムニチャネル統合ルーティングと互換性がありません。
Amazon Connect のルーティングの種類
Amazon Connectでも、キューベースルーティングと習熟度(スキル)ベースルーティングを行うことができます。
ルーティングを実現するにあたって、以下の観点ごとにそれぞれ設定ができます。
本内容は公式ドキュメント「Amazon Connect でのルーティングの設定」の補足になります。
どのコンタクトが優先されるかの観点
ルーティングの優先度/時間を変更する (Change routing priority / age) ブロックとUpdateContactRoutingData API使用することで、変更できる優先度です。
設定できる観点は以下のものになります。
- キュー優先度
- キュー時間
まず、優先度の高い(値が低い)コンタクトが優先して処理され、同じ優先度をもつコンタクトが複数ある場合、キューの滞在時間に応じて決定されます。
エージェントがどのキューを優先してとるかの観点
- ルーティングプロファイル
- 優先度
- 1つのルーティングプロファイルから見て、複数キューが登録されているとき、優先される順番を決める優先度
- 遅延
- 1つのルーティングプロファイルから見て、複数キューが登録されているとき、ルーティングの対象外にする時間
- 優先度
- 習熟度
- 1つのキューから見たとき、ルーティングの基準を満たすエージェントに配信できる基準
- 応対可能時間
- 利用可能なエージェント(最も長くAvailableで休止していたエージェント)に配信
エージェント習熟度に基づくルーティング
Amazon Connectの習熟度に基づくルーティングは、エージェントに割り当てられた事前定義済みの属性(スキルと習熟度レベル)に基づいて、最適なエージェントにコンタクト(問い合わせ)を優先して振り分ける機能です。
スキルは事前定義済み属性を定義し、かつ事業目的=習熟度(Proficiency)として定義します。
- 各エージェントには最小0個、最大10個の事前定義済み属性を割り当てることが可能
- 事前定義済み属性はインスタンスあたり25個(緩和申請可能)
- 1つの属性に作成できる値は属性ごとに500個(緩和申請不可)
- スキルレベルは1〜5(緩和申請不可)で設定できます
「ルーティング条件の設定」ブロック
「ルーティング条件の設定」をコンタクトフローに設定することでルーティング先のエージェントの条件を設定します。
- 最大5個のステップ
- 1ステップあたり8個の単一の条件式( 以上:
>=、または2〜4などの範囲 )が可能です。ブロックからはAND条件でのみ設定可能 - 動的に設定 (Lambda関数の戻り値など)を用いれば、OR、NOTなど複雑な条件を設定可能
-
有効期限
- 1ステップには有効期限の時間(単位:秒)を設定可能で、期限が切れると次のステップに遷移します
- 全ての期限が切れると条件がなくなり、全てのキューに応対可能なエージェントにルーティングされるようになります
- 「有効期限なし」に設定すれば、ステップの遷移は止まり、必ず条件を満たすエージェントにのみルーティングされるようにできます
例:
- 事前定義属性
- 名前: 業務領域スキル
- 値
- 営業
- マーケティング
- 開発
- エージェント
- エージェントA
- 営業 スキルレベル: 5
- エージェントB
- 営業 スキルレベル: 4
- エージェントC
- 営業 スキルレベル: 3
- エージェントD
- 営業 スキルレベル: 3
- エージェントE
- 営業 スキルレベル: なし
- エージェントA
- コンタクトフローの設定
- ルーティング条件の設定ブロック
- ステップ1
- 要件1: 業務領域スキル(営業) >= 4
- 有効期限: 10秒
- ステップ2
- 要件1: 業務領域スキル(営業) >= 3
- 有効期限: 10秒
- ステップ1
- 転送先のキュー: BasicQueue
- ルーティング条件の設定ブロック
上記設定がされエージェントA〜Eは常に応対可能状態であるとします。
の条件がある時、
- 0〜10秒: 初めの10秒は、A または B のどちらかにルーティングされます
- このときAに着信し、Aが着信を拒否した場合 B にルーティングされます
- 同様にBが着信を拒否した場合は、Aが応対可能ステータスの場合Aに着信します
- Service Cloud Voiceでは拒否すると自動でオフラインになるため、拒否時点で応対可能にしなければ、以降AもBも着信しません
- 11〜20秒: 次の10秒は、A、B、C、D のいずれかにルーティングされます
- 21秒以降: A〜E全てのエージェントのいずれかにルーティングされます
設定の組合せとルーティングの主体
Amazon Connect からのパートナーテレフォニーを使用した Service Cloud Voice環境における、Service Cloud Voiceを用いたルーティングの組み合わせをまとめると以下の通りになります。
統合ルーティングを有効にするとルーティングはSalesforce側が主体となるため、コンタクトフローでのルーティングの制御は行えなくなります。
統合ルーティングを無効にすると、ルーティングの主体はAWS側が主体になります。
オムニチャネルフローを呼び出すことができるため、キューの決定権をSalesforce側で決定しつつ、AWSで結果を受け取りルーティングをするデュアルルーティング構成を取ることが可能です。
また、オムニチャネルフローを呼び出さずコンタクトフローのみで振り分けを行うことも可能です。

※1: 着信(Inbound)のスキルベースは実現可能ですが、スキルベースの転送(Transfer)は現在サポートされていません。
ルーティング戦略
上記までのルーティングの主体を踏まえてどのようにルーティングを実現しているかの詳細を説明します。
公式の情報は3を参照してください。
統合ルーティング時のプロセス
お客様からの電話の着信をAmazon Connectで受け、Amazon ConnectのコンタクトフローからTelephony Integration API(Lambda関数)を介してオムニチャネルフローの実行をリクエストします。リクエストを受けSalesforce側はオムニチャネルフローを起動します。
オムニチャネルフローでは「作業の転送」されると、Salesforce側のルーティングエンジンが起動します。
Salesforceのルーティングの内部の振る舞いの詳細は公開されていませんが、ライフサイクルの説明4とCloudTrailのイベント履歴より以下のよう振る舞いになっていると考えられます。
外部ルーティング時のプロセス
お客様からの電話をAmazon Connectで受け、Amazon Connectのコンタクトフローでルーティング先を判断します。
コンタクトフローでは、[ルーティング条件の設定]ブロックを用いて応対可能なエージェントを指定したり、分岐のブロックを用いて転送先のキューを設定します。
純粋に着信させるだけであれば、音声通話オブジェクトの作成やオムニチャネルフローの実行をリクエストは必要ありません。応対時にSalesforce側でケースを自動で作成したり、画面ポップを制御したい場合はオムニチャネルフローを実行します。
キューへ転送されると、Amazon Connect側のルーティングエンジンがSalesforce画面のオムニチャネルのウィジェットへ着信させます。
デュアルルーティング時のプロセス
お客様からの電話をAmazon Connectで受け、Amazon Connectのコンタクトフローでルーティング先を判断します。
コンタクトフローでは、[ルーティング条件の設定]ブロックを用いて応対可能なエージェントを指定したり、分岐のブロックを用いて転送先のキューを設定します。
オムニチャネルフローを実行し、オムニチャネルフローの中でルーティング先のキューを決定します。
キューの決定はフローの[作業を転送]要素を用いて決定します。
コンタクトフローからLambda関数を介して実行したオムニチャネルフローの戻り値として、ルーティング先のキューARN、またはエージェントARNが取得できます。
コンタクトフローで戻り値として取得したARNを[作業キューの設定]ブロックを用いて設定します。その後キューへ転送することで、オムニチャネルフローで指定したキューへの転送が実現します。
参考URL
-
Service Cloud オムニチャネルのルーティングモデルオプション https://help.salesforce.com/s/articleView?id=service.service_presence_routing_options.htm&type=5 ↩
-
Amazon Connect を使用した Salesforce コンタクトセンターの制限と考慮事項 https://help.salesforce.com/s/articleView?id=service.voice_scc_limitations.htm&type=5 ↩
-
ルーティング戦略の選択 https://help.salesforce.com/s/articleView?id=service.omnichannel_routing_strategies.htm&type=5 ↩
-
ルーティングライフサイクルの詳細の理解 https://help.salesforce.com/s/articleView?id=service.omnichannel_psr_lifecycle.htm&language=ja&type=5 ↩






