◆ どんなものを作ったの??
- 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ページから「サインアップ」へ進みます
- 必要な項目を入力してアカウントを作成します。

3. COTOHA APIの準備
- COTOHA API ポータルからアカウントを作成し、ログインします(音声認識APIはfor Enterpriseが必要)

* ログイン後に表示される以下の情報をメモします。 **(不正利用を防ぐために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. オペレーション時間の設定
- 「ルーティング」メニューから「オペレーション時間」の設定画面を開き、問い合わせを受け付ける時間帯を設定します。

4. キューの作成
- 「ルーティング」メニューから「キュー」の設定画面を開き、問い合わせを適切なオペレータにルーティングするためにキューを設定します。
- 以下の指定箇所のみ指定します。
- 名前
- オペレーション時間
- 以下の指定箇所のみ指定します。

5. ルーティングプロファイルの作成
- 「ルーティングプロファイルの名前」「デフォルトのアウトバウンドキュー」に先ほど作成したdemo5のキューを指定します。

6. 問い合わせフローの作成
- 「ルーティング」メニューの「問い合わせフロー」から、コンタクトセンターの業務フローに合わせて問い合わせフローを作成します。
- 通話音声をCOTOHAで音声認識させるためにS3に通話録音データを保存する必要があるため、「通話記録動作の設定」をフロー始めに必ず挿入します。

- 作成後、あらかじめ取得した電話番号に問い合わせフローを設定します。
7. ユーザ管理
- 「ユーザー」メニューの「ユーザー管理」から、名前やルーティングプロファイル、セキュリティプロファイルを作成します。

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を利用できるようになります

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」をインストールします。
-

- ※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インスタンスの「データストレージ」に記載されています

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音声認識)