21
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Amazon Connectの通話をCOTOHAで音声認識させて通話テキストをSalesforceに自動登録する

Posted at

◆ どんなものを作ったの??

  • Amazonの提供しているクラウド型コンタクトセンター「Amazon Connect」を使うとPBX等を新しく用意することなくコンタクトセンターシステムを構築できます。
    • SalesforceなどのCRMシステムとも簡単に連携ができます。
  • 今回は Amazon ConnectとSalesforce、COTOHA音声認識APIを組み合わせてみました!

○ 仕組み

amazonconnect_cotoha_1.png

  1. ユーザーがコールセンターへ問い合わせを行い、通話データがAmazon S3に保存される
  2. Amazon S3へのデータ保存をトリガーにAWS Lambdaの関数が実行され、AWS Fargate上のコンテナが起動
  3. コンテナ上でプログラムが実行され、通話データが音声認識されてテキストが生成される
  4. 認識結果テキストのケース登録処理が実行される

○ 実際の動き

1. Salesforce上のCCPで着信する

  • Salesforceのサービスコンソールを開いた状態で、カスタマーから着信を受けるとSalesforce上のCCPがポップアップされます。
    amazonconnect_cotoha_2.png

2. 通話をする

  • カスタマ ⇔ オペレータで通話をします。オペレータはSalesforce画面のまま通話を行うことができます。

3. 通話終了後、ケースが自動で作成されている

  • 通話終了後しばらくすると、過去の通話に紐づいたケースSalesforceに自動作成されています。
    amazonconnect_cotoha_3.png

4. 通話音声と音声認識結果テキストが確認できる

  • 見たいケースをクリックして詳細画面を開くと、通話データとCOTOHAによる音声認識結果をケース内で確認することができます。
    • 通話データはオペレータとカスタマそれぞれの話した内容で分けて表示されます。
      amazonconnect_cotoha_4.png

◆ 0. 事前準備

1. Amazon Connectインスタンスの作成

  • 今回はコンタクトセンター基盤としてAmazon Connectを利用するため、Amazon Connectインスタンスの作成が必要になります。(事前にAWSアカウントを登録する必要があります)

①Amazon Connectのページにアクセス

  • AWSコンソールから「Amazon Connect」と検索し、Amazon Connectのページへアクセス後、「今すぐ始める」ボタンから開始します。
    amazonconnect_cotoha_5.png

②リソースの作成

  • URL内に任意の文字列を設定します。
    amazonconnect_cotoha_6.png

③管理者の作成

  • 名前・ユーザー名・パスワード等を設定します。
    amazonconnect_cotoha_7.png

  • しばらく時間が経つとリソース作成が完了します。

2. Salesforce Developer環境の準備

  • Salesforce developersページから「サインアップ」へ進みます
  • 必要な項目を入力してアカウントを作成します。
amazonconnect_cotoha_8.png

3. COTOHA APIの準備

  • COTOHA API ポータルからアカウントを作成し、ログインします(音声認識APIはfor Enterpriseが必要)
amazonconnect_cotoha_9.png
* ログイン後に表示される以下の情報をメモします。  **(不正利用を防ぐために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を選択し、好きな電話番号を取得します。
  • 電話番号にかけた時のフローをここで設定できるので、問い合わせフロー作成後に必ず設定します。
    amazonconnect_cotoha_10.png

3. オペレーション時間の設定

  • 「ルーティング」メニューから「オペレーション時間」の設定画面を開き、問い合わせを受け付ける時間帯を設定します。
amazonconnect_cotoha_11.png

4. キューの作成

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

5. ルーティングプロファイルの作成

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

6. 問い合わせフローの作成

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

7. ユーザ管理

  • 「ユーザー」メニューの「ユーザー管理」から、名前やルーティングプロファイル、セキュリティプロファイルを作成します。
amazonconnect_cotoha_15.png

8. CCPにログイン

  • 電話ボタンamazonconnect_cotoha_16.pngを押してCCPにログインします。
  • あらかじめ取得した電話番号に電話をかけることで、相手から電話を受けられるようになりました!

◆ 2. Amazon ConnectとSalesforce連携の設定

1. Amazon Connect CTI Adapterのインストール

amazonconnect_cotoha_17_2.png

2. Amazon Connect Salesforce Lambdaのインストール

  • Lambda経由でSalesforceのAPIを使用してケース登録等を行うために「Amazon Connect Salesforce Lambda」を使用します。
    • 接続アプリケーションを作成し、連携に必要な情報(REST APIのコンシューマキーとシークレットキーなど)を取得

      • ※コンシューマキーとシークレットキーは連携アプリケーションを動かすのに必要な情報なので、必ずメモ&第三者に知られないようにしてください!!
        amazonconnect_cotoha_18.png
    • Lambda用のAPI用ユーザ作成

      • Lambdaの関数がSalesforceのAPIを操作できるように、API用のユーザーを作成します。
        amazonconnect_cotoha_19.png
    • AWS Serverless Application RepositoryからSalesforceとLambdaの連携に必要な「Amazon Connect Salesforce Lambda」をインストールします。

amazonconnect_cotoha_20.png

3. 音声認識結果格納用の項目をケースオブジェクトに追加

  • 設定画面から「オブジェクトマネージャー」を選択します。
  • 「ケース」⇒「項目とリレーション」で、音声認識結果のテキストデータを格納する項目を新規作成します。
    amazonconnect_cotoha_21_2.png

4. Screen Popupのセットアップ

◆ 3. AWS Fargate上のコンテナに音声認識プログラムを実装

1. 通話データの保存先確認

  • 通話データの保存先はAmazon Connectインスタンスの「データストレージ」に記載されています
amazonconnect_cotoha_22.png

2. Pythonで実装

3. Fargateのコンテナにデプロイ

  • 作成したプログラムをAWS Fargate上のコンテナに乗せ、Amazon Connectのコールフロー上でS3への通話データの保存をトリガーに実行することで、通話終了後に音声認識結果をSalesforceのケース上に自動登録することができます。

◆参考ページ

21
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?