はじめに
電話をかけると、オペレーターに繋げるConnectシステム構築した際、オペレーターが電話に出られず、発信者が電話を切る場合があります。
その場合、オペレーターが折り返しの電話をする必要があり、かつ発信者の名前を知る必要がありました。
Connectのシステムは、事前に電話番号と名前をDynamoDBに登録したユーザーのみが使用できる仕様です。
そのため、オペレーターが着信履歴からユーザー名などを確認できる仕組みを構築
しましたので、まとめます。
事前構築
下記のサービス構築を行いました。
DynamoDBでは、パーティションキーを電話番号(user_phone)
にし、family_name
とgiven_name
を属性として加えます。
connectに発信すると、発信電話番号をLambdaが受け取り、Lambdaが発信電話番号から電話番号(user_phone)
に一致する項目を取得し、family_name
とgiven_name
を返すようにします。
その後、オペレータにつなげる、というお問い合わせフローを作成します。
お問い合わせフロー
電話をかけてオペレーターに転送するまでに、以下のフローを加えます。
Lambda実行
(発信電話番号から、DynamoDBでユーザー情報を取得する)
→コンタクト属性の設定
→顧客キューフロー
→作業キューの設定
→キューへ転送
オペレーターが着信履歴からユーザー名を確認できる仕組み構築するためには、コンタクト属性の設定
に、着信履歴に必要なユーザーデータを設定する必要があります。
Lambda
Lambdaでは、発信電話番号から、DynamoDBでユーザー情報を取得する必要があります。
着信履歴に必要なユーザーデータを、returnでdict型で返します。
return{
"user_phone": user_phone,
"family_name": family_name,
"given_name": given_name
}
コンタクト属性の設定
繰り返しになりますが、オペレーターが着信履歴からユーザー名を確認できる仕組み構築するためには、コンタクト属性の設定
に、着信履歴に必要なユーザーデータを設定する必要があります。
Lambdaでreturnした3つをコンタクト属性として、以下のように設定します
user_phone
-
宛先タイプ
:ユーザー定義
-
宛先属性
:user_phone
-
タイプ
:外部
-
属性
:user_phone
family_name
-
宛先タイプ
:ユーザー定義
-
宛先属性
:family_name
-
タイプ
:外部
-
属性
:family_name
given_name
顧客キューフロー以降のフロー
顧客キューフロー以降の3つのフローは、下記の記事を参考にしてください
着信履歴からユーザー情報を確認する
では、下準備ができましたので、発信して、オペレータに繋がる前に電話を切りましょう。
電話を切ると、着信履歴は、左タブの問い合わせ検索
から確認できますので、クリックします。
-
コンタクトID
に発信の詳細が記載されています。
クリックすると詳細画面に遷移します。 -
キュー
は、適用されたキューが記載されてます。
キュー
欄に記載がなければ、キューの転送の前に、電話を切れたなどの可能性があります。 -
エージェント
は、対応したオペレーター名が記載されます。
エージェント
に記載がなければ、対応したオペレーターがいなかったということです。
コンタクトID
をクリックましょう。
一番下に、属性
の一覧があり、ここに、コンタクト属性の設定
で設定したユーザーデータが反映されています。
まとめ
まとめますと、発信者の電話にオペレーターが出られず、発信者が電話を切った場合、
名前を確認してから折り返しの電話する必要があるため、オペレーターは、問い合わせ検索
から、エージェント
欄が空白のコンタクトIDを探し、そのコンタクトIDの属性から名前を確認できます。
参照