Amazon Connect で取得した同じ電話番号に対して発信時と着信時の音声メッセージを変える方法を教えてください

発信時の電話は、発信専用の問い合わせフローを作成し、StartOutboundVoiceContact API を呼び出して発信します。 着信時の電話は、着信専用の問い合わせフローを作成し、電話番号の「問い合わせフロー/IVR」として紐付けます。

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

簡単のために、2 つの問い合わせフローを以下のように定義します。

  • 発信用案内フロー
    • Amazon Connect → 顧客への発信時に流す問い合わせフロー
  • 折り返し着信時お断りフロー
    • 顧客 → Amazon Connect への折り返し着信時にお断りの案内を流す問い合わせフロー

Amazon Connect で 顧客への発信用に 電話番号「080-1234-XXXX」を取得しました。
また、Amazon Connect から 顧客向けに発信する際の問い合わせフロー (発信用案内フロー) を作成し、電話番号「080-1234-XXXX」と紐付けました。

以下の AWS CLI を使って、顧客へ発信したところ、想定通り音声メッセージが流れました。

aws connect start-outbound-voice-contact \
  --destination-phone-number <発信先顧客電話番号> \
  --source-phone-number < Connect で取得した電話番号> \
  --contact-flow-id <コンタクトフロー ID > \
  --instance-id < Connect インスタンス ID > \
  --region ap-northeast-1

しかし、顧客が不在の時に、後から同じ電話番号「080-1234-XXXX」に折り返してしまい、
電話番号に紐づけていた発信用の問い合わせフローのメッセージが流れてしまいました。

顧客が折り返し電話をかけてきた際に、顧客への発信用案内フローを流さずに、折り返し着信時お断りフロー を流すように設定するにはどうしたらよいでしょうか。

どう対応すればいいの?

「折り返し着信時フロー」 は、Connect で取得した電話番号と 「問い合わせフロー/IVR」 を紐付けることで、顧客からの折り返し着信時に、発信の時と別の音声メッセージを流すことが可能です。

一方で、「発信用案内フロー」 は、start-outbound-voice-contact コマンドの contact-flow-id に、「発信用案内フロー」 のコンタクトフロー ID を設定して、AWS CLI を実行すると、発信用の音声案内を流すことができます。

発信用の問い合わせフローは、StartOutboundVoiceContact API を呼び出すと Connect から外部へ発信できるようになりますので、この辺りの仕様は、以下のドキュメントを参照ください。

やってみた

上記の内容を実際にやってみました。

準備

Amazon Connect のコンソールで以下のリソースを事前に作成します。

  • Amazon Connect インスタンス
  • Amazon Connect で利用する電話番号
    • 080-XXX-XXX などの電話番号を任意で取得
  • Amazon Connect 用ユーザ

発信用案内フローの作成

サンプルとして以下のようなコンタクトフローを作成します。
発信後に、これからオペレーターにつなぐ旨の音声メッセージを流し、オペレーターへつなぐためのキューを設定します。

プロンプトの再生で、任意のテキストを読み上げるように設定します。 以下のテキストを読み上げるように設定しました。

メッセージ内容:

お電話ありがとうございます。

先日の〇〇の件で電話させていただきました。 オペレータへつなぎますのでお待ち下さい。

メッセージが流れた後に、受信可能なオペレーターへ繋ぐために、キューを設定してあげましょう。

キューの設定方法の詳細は以下のブログにあるので、ご参照ください。

[Amazon Connect はじめの一歩]顧客からの着信をオペレータに繋ぐ

折り返し着信時お断りフローの作成

折り返し電話がかかってきたときのお断りフローを以下のように作成します。
顧客からの折り返し後に、発信専用だから別の電話にかけるようにお断りする音声メッセージを流し、そのまま電話を切断します。

プロンプトの再生で、任意のテキストを読み上げるように設定します。
以下のテキストを読み上げるようにしました。

メッセージ内容:

お電話ありがとうございます。

クラスメソッド株式会社の中野ヨシユキでございます。 こちらの電話番号は発信専用でございます。

恐れ入りますが、折返しの際は、電話番号「0120-XXXX-XXXX」におかけ直しくださいませ。

また、以下のように取得した電話番号「080-1234-XXXX」に「問い合わせフロー/IVR」を紐付けてください。

コマンドで発信してみる

以下、コマンドで実行して、顧客へ電話を発信してみます。
実行後、ContactId が json で返ってきます。

$ aws connect start-outbound-voice-contact \
  --destination-phone-number '+810801111XXXXX' \
  --source-phone-number '+810801234XXXX' \
  --contact-flow-id '123a45b6-c7d8-9012-34e5-6fab789c012d' \
  --instance-id '12a34b56-7890-1234-cde5-6789f0a1b2c3' \
  --region ap-northeast-1

{
    "ContactId": "61e62f86-XXXX-XXXX-XXXXXXXX"
}

上記コマンド内の、contact-flow-id や instance-id の取得方法は、「発信用案内フロー」を作成した画面から取得できます。画面でいうと、この辺りです。

以下のブログに取得方法の手順があるのでご参照ください。

[Amazon Connect] StartOutboundVoiceContactや、GetCurrentMetricDataで必要となる各種IDの取得方法(小ネタ)

顧客が電話を受け取った際にメッセージが流れ、しばらくするとアクティブなオペレーターが話し出します。 ちなみに、オペレーターとして僕の生声が入っていますが、ご容赦ください(笑)

また、対応可能なオペレーターに転送され、CCP 側 で無事通話できています。 ちなみに、発信後に英語のアナウンスが流れているのは、Default customer queue という名前の顧客キューが動作しているためです。詳細はこちらのブログをご参照下さい。

[Amazon Connect] キューに入った時のメッセージや保留音を変更する

折り返し電話してみる

次に、かかってきた電話番号に、折り返し電話してみましょう。
以下のように、設定した通りの音声メッセージが流れれば成功です。
テキストを変な風に読み上げてますが、もう少し上手く設定してみてください(笑)。

参考資料