Amazon ConnectをLexと連携してみよう

Amazon Connectはクラウド上で構築するコールセンターの様なサービスとなっていますが、
電話応答のフローの中に、AWSのチャットボットサービスのLexを組み込むことが出来ます。

今回はこの機能を使い、音声による電話転送を行ってみようと思います。

 

目次

概要
連絡先のDBの作成
Lambda関数の作成
Lexでチャットボットの作成
Connectの設定
最後に
 

概要

大まかの流れとしてはConnectに電話をかけたらLexが呼び出され、話したい相手を伝えたら
LambdaがDynamoDBより電話番号を引っ張り出し、Connectが電話の転送を行う……
という仕組みを作ってみましょう。

 

Amazon ConnectをLexと連携

 

それでは早速始めます。

 

連絡先のDBの作成

後ほど分かりますが、LexのチャットボットをConnectと連携させるには両方共同じリージョンではいけないので、今回はバージニア北部で作りましょう。

名前、及び電話番号を保存する為のDBをDynamoDBで作成します。

市外局番や携帯電話番号が0から始まる場合は、0を外します。

 

Lambda関数の作成

続いてLexから名前を渡されたら電話番号を返すLambdaを作成します。
Lambdaが電話番号をDBから取ってきた後、Lexがその電話番号をConnectに渡す必要があるので

レスポンスのsessionAttributesに電話番号を含めるのを忘れないようにしましょう。

 

Lexでボットの作成

Lambdaが完成したらLexでチャットボットを作ります。

まずは転送先専用のスロットを作成しましょう。転送先の名前がSupportとMobileのみの場合はこんな感じになります。

 

Lexでチャットボット

 

繋ぎたい連絡先を聞き出すインテントを作成し、先程作成したスロットを埋め込み、処理用のLambdaに流します。

 

処理用のLambdaに流す

 

ボットの作成に関しましては以下の記事でも説明しています。

 

Amazon Lexでチャットボットを作ってみよう

xp-cloud.jp

 

Connectの設定

まずLexをConnectに追加する必要があるので、Amazon Connectのコンソール画面より「問い合わせフロー」→「Amazon Lex」→「+Lexボットの追加」
で先程作成したボットを追加します。

ここの連携は同じリージョンにLexのサービスが展開されてないと表示されないので注意が必要です。

 

Connectの設定

 

後はお問い合わせフローを作成すれば終わりです。

Connectに管理者としてログインし、新しい問い合わせフローを作成します。

Lexの呼び出しは「顧客の入力を取得する」より設定します。
ここでは作成したボットの情報を入力して行きましょう。

 

ボットの情報を入力

 

ここの呼び出したLexインテントのsessionAttributeは$.Lex.SessionAttributesよりConnect内で呼び出せます。
ので、「終了/転送」より「電話番号への転送」を追加し、国コードを日本、
電話番号に「$.Lex.SessionAttributes.{レスポンスの電話番号キー}」を設定しましょう。

 

 

電話番号への転送

 

最終的にこのようなフローが出来上がりました。

 

Amazon Connect フロー

 

後は電話番号に今作成したフローを紐づければ完成です。

 

最後に

無事指定した名前に転送されましたでしょうか?

今回はLexを呼び出し、変数をConnectで使用しましたが同じ事をLambdaでも出来ます。
また、今回Lexの方でスロットの連絡先は手動で追加したと思いますが、APIにより動的にスロットを作成出来たりするので
連絡先の追加や削除が行われる場合はこちらも試してみてください。

 

 

 

AWS相談会バナー

おてがるCTIバナー