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連携機能を実行するか否かは問い合わせ属性
contactLensImportEnabled
へtrue
をセットするカタチで指示しますので、属性設定ブロックを配置します - また、通話録音音声も連携するために、同じように
postcallRecordingImportEnabled
へtrue
を設定するブロックを配置します
- Contact Lens連携機能を実行するか否かは問い合わせ属性
- セールスフォース側の画面設定
- Contact Lens情報を確認するオブジェクト、
コンタクトチャネル分析 (AC Contact Channel Analytics)
を表示するよう設定します
- Contact Lens情報を確認するオブジェクト、
動作確認
電話をかけて通話し、数分経過後セールスフォースのコンタクトチャネル分析オブジェクトを表示してみます。
通話録音の再生パネルと文字起こし結果が表示され、会話内容が確認できます。
また、Contact Lensの分析結果、感情や会話速度等も1ページで確認できますね。
Transcribeの場合
なお、Contact Lensではなく、従来のTranscribe 結果表示ページも残されています。
問い合わせ属性 contactLensImportEnabled
ではなく、postcallTranscribeEnabled
へ true
をセットすることで、Transcribe 結果が表示されます。
(設定すれば Comprehendsも動作します)
同じ コンタクトチャネル分析
オブジェクトのページですが、Contact Lens分析の場合とは少し見た目が異なります。
(分析に使用した機能によってレイアウトを切り替えるようになっているようです)
また、文字起こし結果の文章の区切り方も両者では違いがあるようです。
まとめ
少し設定作業は大変ですが、セールスフォース画面上で通話分析結果、文字起こし結果、さらに実際の音声も合わせて確認できます。
ちなみに、Transcribe+Comprehens よりも、Contact Lens機能のほうが新しい機能になります。
問い合わせ属性でどちらの分析を有効にするか選択できるので、業務によって切り替えるような運用も可能かと思います。
以上、ご参考になれば幸いです。