◆ どんなものを作ったの??
- Amazonの提供しているクラウド型コンタクトセンター「Amazon Connect」を使うとPBX等を新しく用意することなくコンタクトセンターシステムを構築できます。
- SalesforceなどのCRMシステムとも簡単に連携ができます。
- 今回は Amazon ConnectとSalesforce、COTOHA音声認識APIを組み合わせてみました!
○ 仕組み
- ユーザーがコールセンターへ問い合わせを行い、通話データがAmazon S3に保存される
- Amazon S3へのデータ保存をトリガーにAWS Lambdaの関数が実行され、AWS Fargate上のコンテナが起動
- コンテナ上でプログラムが実行され、通話データが音声認識されてテキストが生成される
- 認識結果テキストのケース登録処理が実行される
○ 実際の動き
1. Salesforce上のCCPで着信する
2. 通話をする
- カスタマ ⇔ オペレータで通話をします。オペレータはSalesforce画面のまま通話を行うことができます。
3. 通話終了後、ケースが自動で作成されている
4. 通話音声と音声認識結果テキストが確認できる
◆ 0. 事前準備
1. Amazon Connectインスタンスの作成
- 今回はコンタクトセンター基盤としてAmazon Connectを利用するため、Amazon Connectインスタンスの作成が必要になります。(事前にAWSアカウントを登録する必要があります)
①Amazon Connectのページにアクセス
②リソースの作成
③管理者の作成
2. Salesforce Developer環境の準備
- Salesforce developersページから「サインアップ」へ進みます
- 必要な項目を入力してアカウントを作成します。
![amazonconnect_cotoha_8.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F372054%2F2d8345ab-5abb-760d-9c65-7240700f73c4.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=e7ecc0a6fd16a3b2274adb05fbb9077c)
3. COTOHA APIの準備
- COTOHA API ポータルからアカウントを作成し、ログインします(音声認識APIはfor Enterpriseが必要)
![amazonconnect_cotoha_9.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F372054%2F94e6e9a7-30ef-9a37-b366-1c46d7796c01.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=5a40a60a7d1661382eac2eecbf947567)
* ログイン後に表示される以下の情報をメモします。 **(不正利用を防ぐためにClient id・Client secret・Domain idは必ず第三者に知られないようにしましょう!!)**
* Enterprise API Base URL
* Enterprise Client id
* Enterprise Client secret
* Enterprise ASR Domain id
* Access Token Publish URL
◆ 1. Amazon Connectの設定
1. Amazon Connectにログイン
- 使用したいAmazon Connectインスタンスに管理者としてログインします。
2. 電話番号の取得
- 「ルーティング」メニューから「電話番号」の設定画面を開き、カスタマーが問い合わせる電話番号を取得します。
- 「国/地域」はJapanを選択し、好きな電話番号を取得します。
- 電話番号にかけた時のフローをここで設定できるので、問い合わせフロー作成後に必ず設定します。
3. オペレーション時間の設定
- 「ルーティング」メニューから「オペレーション時間」の設定画面を開き、問い合わせを受け付ける時間帯を設定します。
![amazonconnect_cotoha_11.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F372054%2Fdb149ad0-7b8e-23e9-a865-37177e4dde23.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=d67cb4e316756674ed50af4a8bdf75ec)
4. キューの作成
- 「ルーティング」メニューから「キュー」の設定画面を開き、問い合わせを適切なオペレータにルーティングするためにキューを設定します。
- 以下の指定箇所のみ指定します。
- 名前
- オペレーション時間
- 以下の指定箇所のみ指定します。
![amazonconnect_cotoha_12.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F372054%2Ff6c14e57-51e3-3885-1cc8-dc781fe6dc8a.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=56d455e9660023f838dfa3b4a2cd778c)
5. ルーティングプロファイルの作成
- 「ルーティングプロファイルの名前」「デフォルトのアウトバウンドキュー」に先ほど作成したdemo5のキューを指定します。
![amazonconnect_cotoha_13.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F372054%2F0e38e82b-0dc3-8331-9a45-0886e4a27357.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=e673cf3e9207ce031421b1241cf9789d)
6. 問い合わせフローの作成
- 「ルーティング」メニューの「問い合わせフロー」から、コンタクトセンターの業務フローに合わせて問い合わせフローを作成します。
- 通話音声をCOTOHAで音声認識させるためにS3に通話録音データを保存する必要があるため、「通話記録動作の設定」をフロー始めに必ず挿入します。
![amazonconnect_cotoha_14.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F372054%2F197d975c-a4fe-9178-0db0-ef4871098014.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=728282913218b7234c999d2eb4c24453)
- 作成後、あらかじめ取得した電話番号に問い合わせフローを設定します。
7. ユーザ管理
- 「ユーザー」メニューの「ユーザー管理」から、名前やルーティングプロファイル、セキュリティプロファイルを作成します。
![amazonconnect_cotoha_15.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F372054%2F241d685c-0162-0d37-32fd-f0676f5e8f8e.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=ab084fe77771ef029789ab9b1e55e524)
8. CCPにログイン
◆ 2. Amazon ConnectとSalesforce連携の設定
1. Amazon Connect CTI Adapterのインストール
-
Salesforce上でAmazon Connectを利用するために、「Amazon Connect CTI Adapter V2 for Salesforceのインストールと設定手順について」を参考にAmazon Connect CTI Adapterをインストールします
-
Amazon Connect CTI AdapterをインストールするとサービスコンソールからAmazon ConnectのCCPを利用できるようになります
![amazonconnect_cotoha_17_2.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F372054%2F85a318ef-f58d-ebbd-1b6d-501928fa8a93.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=84c5fea0ca7faed83093e628e34912b7)
2. Amazon Connect Salesforce Lambdaのインストール
- Lambda経由でSalesforceのAPIを使用してケース登録等を行うために「Amazon Connect Salesforce Lambda」を使用します。
-
接続アプリケーションを作成し、連携に必要な情報(REST APIのコンシューマキーとシークレットキーなど)を取得
-
Lambda用のAPI用ユーザ作成
-
AWS Serverless Application RepositoryからSalesforceとLambdaの連携に必要な「Amazon Connect Salesforce Lambda」をインストールします。
-
![amazonconnect_cotoha_20.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F372054%2F9e104ac3-732d-205d-74cf-b0969a4c9693.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=a96c1e1b16756404e903d54dd302beee)
- ※Amazon Connect Salesforce Lambdaのインストールについては以下の記事を参考にさせていただきました
-
Amazon Connect CTI Adapter: CTI | Contact Center | IVR | ACD | Call Recording
- ※AppExchange内の「Setup and Installation Guide」を参照
- Amazon Connect CTI Adapter V2 for SalesforceでAmazon Connect Salesforce Lambda packageをインストールして使ってみる
-
Amazon Connect CTI Adapter: CTI | Contact Center | IVR | ACD | Call Recording
3. 音声認識結果格納用の項目をケースオブジェクトに追加
4. Screen Popupのセットアップ
- 「Amazon Connect CTI Adapter for SalesforceでScreen Popupを試してみる」を参考にScreenPopupを設定すると、着信時に該当ケースをポップアップ表示させることができます。
◆ 3. AWS Fargate上のコンテナに音声認識プログラムを実装
1. 通話データの保存先確認
- 通話データの保存先はAmazon Connectインスタンスの「データストレージ」に記載されています
![amazonconnect_cotoha_22.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F372054%2F7e207397-5593-e1f0-27e3-8aa5a8d62aed.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=c53cf19597c3debb6c8d6c6e091af25c)
2. Pythonで実装
- 音声認識部分はCOTOHA音声認識APIのサンプルプログラム(Python)を参考に作成します。
- Salesforceとの連携部分はBoto3を使いLambda経由でSalesforceのAPIを利用します。
3. Fargateのコンテナにデプロイ
- 作成したプログラムをAWS Fargate上のコンテナに乗せ、Amazon Connectのコールフロー上でS3への通話データの保存をトリガーに実行することで、通話終了後に音声認識結果をSalesforceのケース上に自動登録することができます。
◆参考ページ
- Amazon Connect でコールセンターを作成する。
- Amazon Connect CTI Adapter V2 for Salesforceのインストールと設定手順について
-
Amazon Connect CTI Adapter: CTI | Contact Center | IVR | ACD | Call Recording
- ※AppExchange内の「Setup and Installation Guide」を参照
- Amazon Connect CTI Adapter V2 for SalesforceでAmazon Connect Salesforce Lambda packageをインストールして使ってみる
- Amazon Connect CTI Adapter for SalesforceでScreen Popupを試してみる
- 音声認識AIに言葉を覚えさせよう!! (COTOHA音声認識)