【Amazon Connect Salesforce CTI Adapter】Contact Lens連携設定

記事タイトルとURLをコピーする

Amazon Connect Salesforce CTI Adapterを設定することで、Contact Lensによる通話分析結果をセールスフォースへ連携、統合することができます。

概要

Amazon Connect Salesforce CTI Adapterのさまざまな連携機能のうち、Contact Lensの設定を実施し、動作を確認します。

前提

下記の環境・サービスで実施します。

  • Salesforce Developer Edition (Lightning)
  • Amazon Connect CTI Adapter for Salesforce v5.19

手順

CTI Adapter パッケージをインストール

セールスフォース組織へCTI Adapterパッケージをインストールします。
(最近はガイドセットアップ機能も提供されるようになりましたが、マニュアルインストールを実施しました)

Installing the CTI Adapter and Salesforce Lambdas | Amazon Connect Salesforce CTI Adapter

Setting Up The CTI Adapter Managed Package Manually | Amazon Connect Salesforce CTI Adapter

Lambdaパッケージをデプロイ

AWS側へはServerless Applicationとして提供されているLambdaパッケージをデプロイします。
デプロイ時に指定するパラメータは多いのですが、今回はContact Lensに焦点を当てて設定してみます。

Setting Up The Salesforce Lambdas Manually | Amazon Connect Salesforce CTI Adapter

Lambdaデプロイ時のパラメータ

項目名 設定値 備考
アプリケーション名 AmazonConnectSalesforceLambda-dev 複数環境構成することを考慮し、 -dev suffixしました
AmazonConnectInstanceId 対象となるAmazon ConnectインスタンスのID
CTRKinesisARN 対象となるAmazon ConnectのCTRイベントストリーミング指定したKinesis StreamsARN ※1
ConnectReportingS3BucketName Amazon Connectのデータストレージページで指定したレポート出力バケット名
HistoricalReportingImportEnabled true
LambdaLoggingLevel INFO デフォルトのINFOとしました
PrivateVpcEnabled false
RealtimeReportingImportEnabled true
SalesforceAdapterNamespace amazonconnect デフォルトのまま。SFDC側で管理パッケージで導入するので変更しません
SalesforceCredentialsKMSKeyARN SFDCクレデンシャルを保存したSecretMangerへ指定したKMS ARN
SalesforceCredentialsSecretsManagerARN SFDCクレデンシャルを保存したSecretManger ARN
SalesforceHost 連携先SFDC組織のホスト名 たとえば、 https://testorg-dev-ed.my.salesforce.com
SalesforceProduction true 本番組織・DeveloperEditionの場合は true。Sandbox組織の場合は false
SalesforceUsername 連携用SFDCユーザー名 たとえば apiuser@example.com ※2
SalesforceVersion v54.0
TranscribeOutputS3BucketName S3バケット名を指定 ※3
VpcSecurityGroupList (ブランク)
VpcSubnetList (ブランク)
AmazonConnectQueueMaxRecords 100 デフォルトのまま
AmazonConnectQueueMetricsMaxRecords 100 デフォルトのまま
CTREventSourceMappingMaximumRetryAttempts 100 デフォルトのまま
ConnectRecordingS3BucketName S3バケット名を指定
ContactLensImportEnabled true
PostcallCTRImportEnabled true
PostcallRecordingImportEnabled true
PostcallTranscribeEnabled true
TranscriptionJobCheckWaitTime 20 デフォルトのまま

※1 CTRイベントとContact Lensは機能としては直接関係無いと考えていたのですが、Contact Lensの処理はCTRイベント、および、Transcriptionの処理を前提に実装されているようです。つまり、Contact Lensデータ連携する場合はCTRイベントをストリーミングするKinesis Streamsをセットアップする必要があります
※2 AWS側からセールスフォースへアクセスするためのユーザーアカウント(セールスフォースライセンス)が必要になります
※3 Transcribeを使わない場合でも、Contact Lens連携する場合は指定が必要です

デプロイと疎通確認

パラメータ指定し、デプロイ実施します。
デプロイ完了後、公式手順では Lambda画面で sfInvokeAPI関数を開いてテストするように指示されています。
テスト用のjsonファイルもコードセットに含まれているはずなのですが、 デプロイパッケージが大きすぎて、インラインコード編集を有効にできません ので、開くことができません。
(以前のバージョンでは開くことができていました)
jsonを自分で入力することでテストを実施します。

Contact Lens設定

Contact Lens連携するために、さらに設定が必要になります。

Contact Lens | Amazon Connect Salesforce CTI Adapter

詳細は手順を参照いただくのが正確ですが、大まかには下記のような設定を行います。

  • Contact Lens 処理用のLambda関数トリガーを設定する
    • Contact Lens情報は、実際の通話終了等のタイミングとは非同期でS3出力されます。S3 PUTイベントをトリガーとしてContact Lens処理関数を起動するように設定します
  • 問い合わせフローの修正
    • Contact Lens連携機能を実行するか否かは問い合わせ属性 contactLensImportEnabledtrue をセットするカタチで指示しますので、属性設定ブロックを配置します
    • また、通話録音音声も連携するために、同じように postcallRecordingImportEnabledtrue を設定するブロックを配置します
  • セールスフォース側の画面設定
    • Contact Lens情報を確認するオブジェクト、 コンタクトチャネル分析 (AC Contact Channel Analytics) を表示するよう設定します

動作確認

電話をかけて通話し、数分経過後セールスフォースのコンタクトチャネル分析オブジェクトを表示してみます。
通話録音の再生パネルと文字起こし結果が表示され、会話内容が確認できます。
また、Contact Lensの分析結果、感情や会話速度等も1ページで確認できますね。

Transcribeの場合

なお、Contact Lensではなく、従来のTranscribe 結果表示ページも残されています。
問い合わせ属性 contactLensImportEnabled ではなく、postcallTranscribeEnabledtrue をセットすることで、Transcribe 結果が表示されます。
(設定すれば Comprehendsも動作します)

同じ コンタクトチャネル分析 オブジェクトのページですが、Contact Lens分析の場合とは少し見た目が異なります。
(分析に使用した機能によってレイアウトを切り替えるようになっているようです)
また、文字起こし結果の文章の区切り方も両者では違いがあるようです。

まとめ

少し設定作業は大変ですが、セールスフォース画面上で通話分析結果、文字起こし結果、さらに実際の音声も合わせて確認できます。
ちなみに、Transcribe+Comprehens よりも、Contact Lens機能のほうが新しい機能になります。
問い合わせ属性でどちらの分析を有効にするか選択できるので、業務によって切り替えるような運用も可能かと思います。

以上、ご参考になれば幸いです。