この3ヶ月でいい感じに痩せてきた技術課 森です。
今回はAmazon Connectを使ったデモを勉強会で発表したので、その紹介です。
資料
内容
別の勉強会でも話した内容のLT版なのですが、話した内容は大きくこんな感じです。
- 簡単にセットアップできて、管理できる
- オープンプラットフォームで、Lambda使ってCRMへアクセスしたり、Salesforceにつなげるアダプタもある
- 利用可能なリージョン
- 料金
- 無料枠
- デモ
今回は、デモに着目したブログを書きます。
デモ
作ったでもAlexaにキーワードを話すとAWS Lambdaを使ってAmazon Connectのアウトバウンドコールをします。
コールされた電話で、数字を押すと別のAmazon Connectのアウトバウンドコールをして、2つの電話をつなぐというデモです。
構成はこちら
ちなみに、デモは無事に成功しました!
作り
作成したAWS LambdaのコードとAmazon Connectのフローを公開します。
AWS Lambdaのコード
今回は、Python3 / boto3 を使ってコードを書いています。
クライアントを作成する際に、リージョンをシドニーリージョン固定にしています
その後で、 start_outbound_voice_contact
で電話をかける先の電話番号、コンタクトフローのIDとインスタンスID、電話をかける元の電話番号を指定しています。
(※ここで出てきたインスタンスIDはEC2とかのインスタンスIDではなく、Amazon Connectでいうインスタンスは仮想コールセンターという意味です。こちらでも解説してますので、ご確認ください)
Amazon Connectのフロー
作ったフローはすごく簡単です。
Amazon Pollyでも声を担当されている「Mizuki」さんを選び、「プロンプトの再生」で、電話された方に伝えたいメッセージを入力し、
「顧客の入力を取得する」で、メッセージを入力して、どの数字のボタンを押されるかを選び、その先でプロンプトを再生します。
最後に、電話を転送して、電話をつなげるフローになっています。
実行した結果
Alexaからキーワードを伝えて、AWS Lambdaで電話を転送した際には、電話番号が通知されていました。
しかし、その後に電話を転送された方の電話には、非通知でかかってきました。
AWS Lambdaでアウトバウンドコールするときは、元の電話番号を指定していましたが、UIから設定したものについては、 Caller ID番号 の設定を行っていなかったからだと思います。このあたりもおいおい検証していこうと思います。