提供: Bright Pattern Documentation
• 日本語

Revision as of 05:10, 21 September 2026 by BpDeeplTranslateMaintenance (talk | contribs) (Updated via BpDeeplTranslate extension)

< 前へ
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
移動先: 案内検索
• English

リピーターを同じエージェントに振り分ける方法(連絡先、ケース、およびモバイルでの方法)

概要

このチュートリアルでは、リピーターのお客様が次回以降のコールやチャットをご利用の際、最も関連性の高いエージェントに接続されるようルーティングを設定する方法について説明します。このルーティング戦略は、お客様とエージェント間の継続性を維持するのに役立ち、お客様の問題を熟知している担当者に再接続することで、顧客満足度の向上につながります。


Bright Pattern には、リピーターを直近の対応を担当したエージェントにルーティングするための組み込み機能が用意されています。これは、シナリオ変数 $(item.continuationUserId) を使用して行われます。この方法では不十分な場合、以下の 3 つのカスタムルーティング方法をご利用いただけます


ダウンロード可能なシナリオ

このチュートリアルで使用した完了したシナリオをダウンロードできます。詳しくは 方法 3 を参照してください。これらはサンプルシナリオであり、本番環境での使用を意図したものではない点にご注意ください。


ダウンロード後:

  1. [コンタクトセンター管理者] > [シナリオ] に移動します
  2. [シナリオのインポート] をクリックします
  3. ファイルをアップロードし、シナリオを開いて設定内容を確認してください。


カスタムルーティングの3つの方法

1. コンタクトレコードを使用する(最後に担当したエージェントを保存します)。

2. ケースの担当者を基準とする(未解決または最近のケースに割り当てられたエージェントに基づいてルーティングします)。

3. 顧客が会社の電話番号に電話をかけた際、前に対応したエージェントに再度接続するようにルーティングします。


3つの方法すべてで使用されるルーティングパターン

対象となるエージェントIDを決定した後、シナリオでは次のようなロジックに従う必要があります:

1. 対象のエージェントがログインしており、利用可能かどうかを確認します。

2. 利用可能な場合:そのエージェントにインタラクションをルーティングします。

3. 利用不可能な場合:チームまたはスキルベースのルーティングを行います(エージェントチームを表すスキルを使用してルーティングします)。

4. そのスキルを持つエージェントが誰も利用可能でない場合:通常のオーバーフローまたはフォールバックルーティングを適用します。

Bright Patternのルーティングはスキルベースであるため、「チーム」へのフォールバックを行うには、チームを直接指定するルーティングではなく、スキルやスキルグループを通じてチームを表現する必要があります。


方法 1:コンタクトレベルのエージェントリンクを使用するルーティング

状況によっては、組織が「前のエージェント」の決定方法について、より詳細なコントロールを必要とする場合があります。例えば、独自の時間枠を適用したり、複数のインタラクションタイプにわたるルーティング履歴を維持したりしたい場合などが挙げられます。

このような状況では、シナリオ内でエージェント情報をカスタム連絡先フィールドに保存し、それらのフィールドをルーティングの判断に使用することができます。

以下のコンタクトベースの手法では、 アクティビティ履歴 を利用して、リピーターのお客様を履歴のエージェントにルーティングします。この方法は、既定の「サービス継続」の動作では不十分な場合に使用してください。

ビジネスケース

以前に組織に連絡した顧客から再度連絡があった場合、そのインタラクションが定義された時間枠内で発生していたことを条件として、その顧客を直近で対応した、または対応を試みたエージェントにそのインタラクションを割り当てることができます。 このアプローチにより、継続性が向上し、説明の繰り返しを減らし、よりパーソナライズされた顧客体験を実現できます。

この手法の仕組み

1. システムは、利用可能な識別子(電話番号やチャットIDなど)を使用して顧客を特定します。Bright Patternの 識別設定を使用することで、自動的に特定できます。この設定では、着信した問い合わせを社内の連絡先データベースや設定済みの外部データベースと照合することが可能です。

2. 顧客の活動履歴を確認し、最後に担当したエージェントと、条件を満たす問い合わせの発生時刻を特定します。

3. 最後の問い合わせが設定された時間枠内に収まる場合、システムはそのエージェントに問い合わせをルーティングしようと試行します。

4. 担当エージェントが不在の場合は、スキルベースのルーティングが適用されます。

ステップ 1: カスタム連絡先フィールドの作成

コンタクトセンター管理者」>「ケースおよびコンタクト管理」>「カスタムフィールド」で、次のようなフィールドを作成します。

  • 最終担当エージェントID(テキスト)
  • 最終エージェント対応日時(日付/時刻)


今後のルーティングに使用するカスタムフィールドを作成してください。


これらのフィールドには、その連絡先に関する最新の適格なエージェントの関連付け情報が保存されます。この情報は通常、連絡先にリンクされたアクティビティレコードから取得され、シナリオまたは統合ロジックによって書き込まれます。

ステップ 2:どのアクティビティが「最後のエージェント」を更新するかを定義する

ルーティングに使用される「最後のエージェント」は、連絡先に関連付けられた最新の適格なアクティビティに基づいて決定する必要があります。ビジネス要件に応じて、適格なアクティビティには以下が含まれる場合があります:

  • エージェントが対応したインバウンド対話
  • エージェントが行った手動のアウトバンド通話試行(応答の有無を問わず)
  • プレビューキャンペーンによる発信試行(応答の有無を問わず)


適格なアクティビティが発生した際には、コンタクトフィールドに以下の情報を更新してください:

  • 対応したエージェントのID
  • 日時


これにより、その後のルーティング決定において、最新の適格エージェントの関連付けを利用できるようになります。


コンタクトベースのエージェントルーティングのシナリオロジック

以下のシナリオは、実装の一例を示しています。本番環境では、追加の分岐やエラー処理が必要になる場合があります。インバウンドシナリオにおいて、ルーティングは以下の決定プロセスに従う必要があります:

1. 電話番号やその他の利用可能な識別子を使用して、顧客の特定を試行します。

ほとんどのシナリオにおいて、Bright Patternは、音声通話の場合はANI、チャットチャネルの場合はメッセンジャー識別子など、組み込みの認証方法を使用して連絡先を自動的に識別します。

追加またはカスタムの識別ロジックが必要な場合は、 「連絡先の識別子」 シナリオブロックを使用することで、電話番号、メッセンジャーID、またはカスタムコンタクトフィールドなどの特定の識別子を用いて連絡先を検索できます。

なお、シナリオ内のどこかで「Identify Contact」ブロックが使用されている場合、そのシナリオでは自動連絡先識別が無効になります。その場合、このブロックを使用するすべてのシナリオパスにおいて、連絡先を明示的に識別する必要があります。


「Identify Contact」ブロックは、カスタムの連絡先識別子ロジックが必須の場合に使用できます


2. 連絡先が見つからない場合(この分岐は「Identify Contact」ブロックの「not found」出口にあります):

  1. 標準のルーティングを使用して、顧客を任意のエージェントに振り分けます。インタラクション終了後、そのインタラクションを対応したエージェントの識別子($(user.id))と、インタラクションの時刻($(system.dateTime))をキャプチャします
  2. オブジェクトの作成」ブロックを使用して、データベースに新規の連絡先を作成してください。以下の情報を設定してください:
      • オブジェクトタイプ:連絡先
      • 連絡先フィールド:名、姓、電話番号、メールなど、利用可能な顧客の詳細情報をすべて入力してください
      • 最後のエージェントid: ($(ユーザー.id))
      • 最後のエージェント対応時刻: ($(system.dateTime))
コンタクトが見つからない場合は、エージェントのidと対応日時を連絡先レコードに保存してください。


3. 連絡先が見つかったものの、最後のエージェント情報が保存されていない場合:

  • 以下の If シナリオブロックを使用して、その連絡先に前回のエージェント情報が関連付けられているかを確認してください
  • 最後のエージェント情報が保存されていない場合は、通常のルーティングを使用して対応を行います
  • 対応終了後、対応を担当したエージェントの識別子 ($(user.id)) と対応時刻 ($(system.dateTime)) を取得します。
  • オブジェクトの更新」ブロックを使用して、これらの値をデータベース内の連絡先レコードに書き込みます。以下のプロパティを設定してください:
    • オブジェクトタイプ:連絡先
    • レコード ID:既存の連絡先の id。通常、前の「Identify Contact」ブロックによって返されます
    • 最後のエージェント ID: ($(user.id))
    • 最後のエージェント対応時刻: ($(system.dateTime))


最後のエージェント情報が確認できない場合は、「オブジェクトの更新」を使用して、エージェント識別子およびインタラクション時間を連絡先レコードに保存してください。


4. 連絡先が見つかり、かつ直近のエージェント情報が存在する場合:

  • そのやり取りが許可された時間枠内にあるかどうかを確認します(以下のステップ3を参照してください)
  • そうでない場合は、通常のルーティングを続行します
  • はい、そうである場合は、保存されているエージェントへのルーティングを試行します

以下の機能を使用して、保存されているエージェントへルーティングします。 エージェント検索 および 「コールの接続」 ブロックを使用して、保存されているエージェントへルーティングしてください。設定 「エージェントスキル必須要件」 を構成して、特定のエージェントの待機条件を選択し、$(contact.LastAgentID)を検索します。 特定のエージェントへのルーティング をご覧ください。


ステップ 3:エージェント再接続の時間枠を適用する

エージェント固有のルーティングは、前回のインタラクションが十分に最近のものであり、関連性が保たれている場合にのみ実行されるべきです。

インバウンドのシナリオでは:

1. 変数 $(contact.LastInteractionTime) を使用して、連絡先から「最後のエージェントとのインタラクション時刻」を取得します

2. 変数 $(system.dateTime) を使用して、それを現在の日時と比較します。

3. インタラクションが定義されたしきい値(例:24 時間)より古い場合は、エージェント固有のルーティングをスキップし、通常のルーティングロジックに進みます。これは、2 つの分岐を持つ If ブロックを使用して行うことができます:

  • 前回のインタラクションが許容時間枠内にある場合:
    • 顧客を登録済みのエージェントにルーティングします
  • 前回のインタラクションが許容時間枠外にある場合:
    • 通常のルーティングを継続し、利用可能な任意のエージェントに顧客を接続します

以下のスクリーンショットでは、変数 $(system.dateTime) および $(contact.LastInteractionTime) を使用して、現在の時刻と連絡先の最後のインタラクション時刻を比較するように If ブロックが設定されています。 経過時間が定義されたしきい値(例:24時間)未満の場合、シナリオは「前回のエージェントにルーティング」の処理へと続きます。それ以外の場合は、標準のルーティングパスに従って処理が行われます。


前回のやり取りが十分に履歴にあるものかどうかを判断するための「If」ブロック。
「はい」の条件の設定 — 最後のインタラクションからの時間が24時間(86400秒)未満であること


ステップ 4: 最後のエージェントにルーティングする

最後のエージェント id が存在し、インタラクションが許容インターバル内にある場合は、「エージェント検索」ブロックの「特定のエージェント」待機条件を使用して、保存されているエージェントにルーティングします。


連絡先レコードに保存されているLastAgentIDを検索し、保存済みのエージェントへルーティングします。


ステップ 5:フォールバックルーティングの設定

エージェント検索」ブロックでは、ルーティング条件としてチームメンバーシップを使用することはできません。その代わり、優先エージェントが利用できない場合、シナリオはいくつかのフォールバックオプションのいずれかに移行する必要があります。

まず、「エージェント検索」ブロックを設定し、ユーザー ID に基づいて保存済みのエージェントを検索するようにします。また、「インターバル」プロパティを設定して、その特定のエージェントが利用可能になるまでシナリオが待機する時間を定義します。そのインターバル内にエージェントが利用可能にならない場合は、対応する条件付き終了を使用して、選択済みのフォールバックルーティング方法に進みます。 その後、以下のフォールバックオプションのいずれかを選択できます:

エージェントの所属チームを表すスキルを使用してルーティングする

チームごとに1つのスキルを作成し、各エージェントに適切なチームスキルを割り当て、シナリオ内でそのスキルへインタラクションをルーティングします。詳しくは 「エージェントへのスキルの割り当て」 をご参照ください。これにより、真のチームベースのルーティングではなくスキルを通じて実装されますが、同じ運用グループ内のエージェントにインタラクションを割り当てることが可能になります。

一般的なキューにルーティングするか、標準的なルーティングロジックを適用する

優先エージェントが利用できない場合、エージェント固有のルーティングが必須でない場合は、シナリオを通常のサービス、キュー、またはオーバーフローパスへと継続させることができます。


識別に関する要件と制限

エージェント再接続ルーティングは、システムがインタラクションを単一の連絡先レコードと確実に紐付けられる場合にのみ機能します。

複数の連絡先が同じ電話番号やその他の識別子を共有している場合、システムは最後に担当したエージェントを特定できない可能性があり、その場合はインタラクションは標準のルーティングに従うことになります。

重複を排除した正確な連絡先データを維持することで、このルーティング方法の有効性が向上します。

適合する連絡先が見つからない場合は、新規の連絡先を作成できますが、エージェント再接続ルーティングが可能になるのは、顧客に関連付けられた連絡先にエージェント情報が保存されている場合のみです。



方法 2:ケースの担当者に基づくルーティング

この方法では、その連絡先に関連付けられた未解決または最近のケースに割り当てられたエージェントに基づいて、顧客をルーティングします。顧客に進行中のサポートケースがあり、再度センターに連絡した場合、そのやり取りは当該ケースを担当するエージェントに直接ルーティングされます。

ステップ1:連絡先の識別子

前述の 方法1と同様に、電話番号やその他の識別子を使用して、着信したインタラクションを既存の連絡先と照合します。

ステップ2:関連するケースを検索する

CRMまたはケース管理システムとの連携機能を使用して:

1. その連絡先に関連する、未解決または履歴のあるケースを検索します。例えば、連絡先が識別された後、 Bright Pattern 検索 オブジェクト ブロックを使用して、内部データベースから「報告者ID」が当該連絡先のIDと適合し、「ステータス」が「未解決」であるケースレコードを検索できます。その後、このブロックは、割り当てられたエージェントなどの関連するケースフィールドをレコードセットとして返却し、その後のルーティングロジックで使用できます。

例えば、特定された連絡先に関連する未解決のケースを検索するには:

  1. Bright Pattern Search Object」ブロックを追加します。
  2. オブジェクトタイプを「ケース」に設定します。
  3. 次のような検索条件を追加します:
    • 報告者ID = $(contact.id)
    • ステータス = Open
  4. 後で使用したい値について、返却フィールドを追加します。例:
    • ケースid
    • 割り当てられたエージェントidまたは所有者フィールド
    • ステータス
  5. レコードセットの名前を設定します。例:openCases


Bright Pattern の「検索オブジェクト」ブロックを使用して、未解決のケースを検索します。


2. 最も関連性の高いケース(例えば、最も最近更新された未解決のケース)を選択します。検索オブジェクトブロックの「返却フィールド」で「割り当てられたエージェントID」フィールドを指定し、返された値をターゲットエージェントIDとして使用します。

このエージェントが、初期ルーティングのターゲットとなります。

ステップ3:標準的なルーティングロジックの適用

If ブロックを使用して、ケースにすでに割り当てられたエージェントがいるかどうかを確認します。

1. 割り当てられたエージェントが見つかった場合:

  • そのエージェントにインタラクションを直接ルーティングしようと試行します

2. 割り当てられたエージェントが利用できない場合:

  • エージェントのチームまたは一般キューにルーティングするフォールバックルーティングを設定します。 方法 1 のステップ 5 をご参照ください。

3. 該当するケースや割り当てられたエージェントが見つからない場合:

  • 既定(デフォルト)のルーティングロジックを続行します


「割り当て済みエージェントの有無を確認する」ブロックに進みます。


方法3:顧客が会社の電話番号に電話をかけた際、以前に連絡を取ったエージェントへ転送する

この方法は、現場の技術者が携帯電話から会社の電話システムを経由してアウトバンドコールを行い、発信元として会社の代表番号が表示される場合に、よく使用されます。 顧客が電話に出られず、後で代表番号に折り返し電話をかけた場合、このシナリオでは前回のエージェントを識別し、その折り返し電話を一般的なキューに送るのではなく、その技術者に直接ルーティングすることができます。 この方法では2つの異なるシナリオを使用します。1つは、連絡先レコードに技術者のidを保存するためのシナリオ、もう1つは、保存されたidを使用して折り返しのコールを同じ技術者に転送するためのシナリオです。


ダウンロード可能なシナリオ


ステップ 1:アウトバンドコール時にフィールド技術者の情報を保存する

折り返し電話のルーティングを機能させるには、システムが発信を行った技術者の身元情報を保存しておく必要があります。

1. 発信先の顧客が、内線データベースの連絡先レコードに関連付けられていることを確認してください。

2. 会社の電話システムを通じて発信を行う際、技術者のユーザーIDを取得してください。

3. そのユーザーIDを、連絡先レコードの「最終エージェントID」などのカスタム連絡先フィールドに保存します。

5. 連絡先レコードがまだ存在しない場合は「オブジェクトの作成」ブロックを、すでに存在する場合は「オブジェクトの更新」ブロックを使用します。以下のプロパティを設定してください: *オブジェクトタイプ:連絡先

  • レコード ID:既存の連絡先を更新する場合、特定された連絡先レコードの id

*最終エージェント ID$(user.id) *最終エージェント対応時刻$(system.dateTime)


担当技術者のidと対応時刻を、連絡先レコードに保存します。


ステップ2:折り返しコールでの顧客の識別

後日、顧客が会社の代表番号に電話をかけてきた場合:

1. 発信元の電話番号を使用して、連絡先レコードを識別します。

2. その連絡先から、保存されている「最後のエージェントID」の値を取得します。

3. オプション:直近の対応期間を適用したい場合は、保存されている「最後のエージェントとのやり取り時刻」の値を取得します。

4. 連絡先が見つからない場合、または保存されている技術者IDが存在しない場合は、通常のルーティングを続行します。


「連絡先の識別子」と「If」ブロックを使用して、再連絡してきた顧客を正しくルーティングする


ステップ 3:技術者へのルーティングの試行

1. 「Find Agent」ブロックを使用して、ユーザー ID に基づいて保存されている技術者を検索します。

2. 指定したインターバル、その特定の技術者が利用可能になるのを待つよう、ブロックを設定します。

3. 技術者が利用可能になった場合、その技術者に再着信をルーティングします。


「エージェント検索」ブロックの「特定のエージェント」待機条件を使用し、連絡先.LastAgentIDを検索します


ステップ 4:フォールバックルーティングの設定

1. 担当者が利用できない場合は、フォールバック経路に進みます。適切なフィールドサポートグループを表すスキルを使用してルーティングするか、通常のキュー/オーバーフロー経路に進みます。

2. 適合するフォールバックエージェントがいない場合は、標準のルーティングに進みます。


要約

これら3つの方法はいずれも、同じ中核となるルーティング手法を使用しています。違いは、システムが「適切な」エージェントをどこから取得するかという点にあります。

方法 エージェントのソース
連絡先レベルのリンク 連絡先のカスタムフィールドに保存
ケースのルーティング 未解決または履歴のあるケースに割り当てられたエージェント
フィールド/モバイル対応シナリオ アウトバンドのフィールドコール後、連絡先に関連付けられたエージェント

ワークフローに合った方法を選択することで、特定のエージェントが不在の場合でも信頼性の高いフォールバックルーティングを維持しつつ、よりパーソナライズされた効率的な顧客体験を作成することができます。

< 前へ