Amazon Connect Customer Profiles Workshopをやってみた(後編:顧客情報の統合とパーソナライズされたルーティング)

Amazon Connect Customer Profilesはいいぞ(後編)
2024.01.25

こんにちは、洲崎です。

この記事はAmazon Connect Customer Profilesのワークショップの後編になります。

前編では、Amazon Connect Customer Profilesの作成とAmazon S3の連係までやりました。
後編では重複している顧客情報の統合と、パーソナライズされたルーティングを試してみます。

前編:Amazon Connect Customer Profilesの作成とAmazon S3の連係(下の記事をご参照ください)

後編:類似プロファイルの統合とパーソナライズされたルーティング←今回はコチラ

ハンズオンに入る前に、各機能について概要を紹介します。

類似プロファイルの統合

同じ顧客が複数の場所に存在する場合、重複したデータが存在してしまう可能性があります。
Amazon Connect Customer Profilesはアイデンティティ解決という機能があり、機械学習を使用して、Customer Profiles の類似した名前、電子メールアドレス、電話番号に基づいて重複するプロファイルを検出し、マージすることができます。

パーソナライズされたルーティング

Amazon ConnectのコンタクトフローからCustomer Profilesの顧客データを取得することができます。
かけてきた顧客の名前を読み上げたり、顧客の郵便番号に応じて近い地域のエージェントへ転送することができます。

ワークショップはこちらです。

やってみる

類似プロファイルの統合

注意:類似プロファイルについて、ハンズオン時点の情報からアップデートがあり画面や機能が変わっています。

AWSマネジメントコンソールからAmazon Connectの「お客様のプロフィール」を開き、「アイデンティティ解決を有効化」をクリックします。

すると早速アイデンティティ解決の設定が2つ作成されました。

ハンズオン時の情報だと「機械学習による解決」はなかったので、その後のアップデートで出てきた情報ですね。

試しに、「機械学習による解決」の方で統合条件を作成してみます。
機械学習による解決をクリックし、真ん中辺りにある「一致のマージ」の「編集」をクリックします。

高度なマージオプションで「最後に更新されたタイムスタンプを使用」で設定します。
ルールには下記の属性を入力します。

  • FirstName
  • PhoneNumber

入力できたら保存をクリックします。

データにタイプスタンプがない場合、レコードがCustomer Profilesに取り込まれる際のデフォルトのタイムスタンプが適用されるとのことです。
チェックに同意し「次へ」をクリックします。

データのマージの確認画面がでるので、「確認」と記載し、「データのマージ」をクリックします。

これで、設定は完了です。
重複したデータが発生したら、スケジュール(UTC)に都度マージ処理が実行されるようになります。

ハンズオンは設定と無効化まででしたので、最後に無効化にします。(「機械学習による解決」と「ルールベースによる解決」を両方とも無効化にしてください)

パーソナライズされたルーティングと自動化

次に、コンタクトフローからCustomer Profilesの顧客データの参照をやってみます。
前提として、サンプルの顧客情報は下記で進めます。(必要に応じて編集ください)

{
“AccountId”: “AAA111”,
“PhoneNumber”: “<テストに使用するE.164形式の電話番号>”,
“First Name”: “Yoshito”,
“Last Name”: “Suzaki”,
“email”: “suzaki_yoshito@samplecompany.com”,
“Notes”: “VIP customer”,
“Address”: “410 Terry Ave N, Seattle, California, US”,
“Zip Code”: “98109”
}

Amazon Connectインスタンスにログインし、セキュリティプロファイルを開きます。

電話を取るユーザーに付与しているセキュリティプロファイルで、「お客様のプロファイル」の権限が有効になっていることを確認します。

キューの作成で、今回のテストでの郵便番号を対象とする「98101」のキューと「98109」のキューを作成します。

ルーティングプロファイルも「98101」と「98109」を作成します。
設定する内容は下記です。

  • チャネルの設定
    • 音声 1
    • チャット 1
  • キュー
    • 98101 または 98109
  • デフォルトのアウトバウンドキュー
    • キューに合わせる



電話を取るテスト用のユーザーのルーティングプロファイルに「98109」を設定します。

ハンズオンから、テスト用のフローをダウンロードします。

問い合わせフローを開き、「コンタクトフローの作成」をクリックします。
右上にある▽のマークから、「フローのインポート(ベータ)」をクリックします。
ファイルを選択で、ダウンロードしたコンタクトフローのファイルを選択します。

インポートすると、以下の形のフローが展開されます。
(警告が出ているブロックは元のファイルにあるリソースのARNが異なるといったお知らせのため、無視いただいて問題ありません)


抜粋して中身をみていきます。

Customer Profilesのブロック

アクションで「プロフィールを取得」としています。
Customer Profilesで検索するための情報として、Amazon Connectに電話が入った時に取得できるCustomerEndpoint.Addressをもとに検索しています。
また、後続のブロックで利用するために、Customer Profilesから取得した情報のうち、FirstNamePostalCodeを控えています。

プロンプトの再生ブロック

Customer Profilesの後の「プロンプトの再生」ブロックで、Customer Profilesから取得した属性をもとに音声を流しています。
$.Customer.FirstNameと記載することで、Customer Profilesに存在するかけてきた顧客の名前を読み上げることができます。

コンタクト属性を確認するブロック

コンタクト属性を確認するブロックで、Customer Profilesにある郵便番号の属性をチェックします。
今回は「98109」と「98101」の属性があり、条件で等しい方でフローを振り分ける形で設定されています。

確認できたら保存と公開をクリックします。

最後に、テスト用の電話番号に、インポートしたフローを紐づけます。

動作確認

それでは、動作確認を行います。
Amazon Connectのエージェントアプリケーションを開きます。
「+プロファイル」をクリックします。

テスト用ユーザーの名前、電話番号、郵送先住所、その他の住所(配送先住所と同じ)を入力し登録します。

登録ができたら電話をかけてみます。
すると、冒頭で「"こんにちは、Yoshito様。いつもご利用ありがとうございます。」とアナウンスが流れました!
CloudWatch Logsからログを見ても、ParametersのTextにその旨が記録されていました。

{
    "ContactId": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
    "ContactFlowId": "arn:aws:connect:ap-northeast-1:xxxxxxxxxxxxx:instance/957ae315-6f56-4e06-b23b-54297cb56152/contact-flow/526922f6-f9ce-4406-bf89-0f4a925f458a",
    "ContactFlowName": "Customer-Profiles-Personilazation-Voice-Contact-Flow-J",
    "ContactFlowModuleType": "PlayPrompt",
    "Identifier": "d45e5be4-4bb6-4640-bfd6-44dbd4170ea8",
    "Timestamp": "2024-01-25T10:16:13.082Z",
    "Parameters": {
        "TextToSpeechType": "text",
        "Text": "こんにちは、 Yoshito 様。いつもご利用ありがとうございます。",
        "Voice": "Takumi"
    }
}

また、その後のフローでCustomer Profilesに保存されている郵便番号の情報とイコールである旨の確認がとれ、98109の電話を取れるオペレーターに繋ぐことができました。

{
    "Results": "true",
    "ContactId": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
    "ContactFlowId": "arn:aws:connect:ap-northeast-1:xxxxxxxxxxxxx:instance/957ae315-6f56-4e06-b23b-54297cb56152/contact-flow/526922f6-f9ce-4406-bf89-0f4a925f458a",
    "ContactFlowName": "Customer-Profiles-Personilazation-Voice-Contact-Flow-J",
    "ContactFlowModuleType": "CheckAttribute",
    "Identifier": "65301039-7934-479c-8e9d-7d9e1113201f",
    "Timestamp": "2024-01-25T10:16:28.326Z",
    "Parameters": {
        "Value": "98109",
        "SecondValue": "98109",
        "ComparisonMethod": "Equals"
    }
}


最後に

Amazon Connect Customer Profilesのワークショップを2回に分けて紹介しました。
顧客データをCustomer Profilesに貯めて、コンタクトフローから参照することでさまざまな良い顧客体験を生み出すことができそうです。
いろいろと応用が効きそうだったので、今後のアップデート含めて引き続き検証していきます。

ではまた!コンサルティング部の洲崎でした。