【Amazon Connect】フローモジュールでループ処理を実装してみた
はじめに
こんにちは、フニです。
本記事では、Amazon Connect のフローモジュールを活用してループ処理を簡潔にする方法についてご紹介します。
フローモジュールとは?
フローの中で再利用できる部分をモジュールとして定義しておくことで、フローを簡素化できる機能です。
詳細は以下のブログをご参照ください。
実装
ロジック
以下のロジックをコンタクトフローとフローモジュール機能実装します。
- 4桁のパスワードを DTMF 入力してもらう
- 間違えた時にループ処理を実施、最大3回間違えると切断
コンタクトフロー
コンタクトフローには、以下のように「呼び出しモジュール」ブロックを活用して簡潔にしてみました。

フローモジュール
今回は以下のフローモジュールを構成しました。

結果
3回間違えるまでの CloudWatch Logs のログです。
1~2回目
{
"Results": "0000",
"ContactFlowModuleType": "StoreUserInput",
}
{
"ContactFlowName": "loop-module",
"ContactFlowModuleType": "PlayPrompt",
"Parameters": {
"Text": "入力されたパスワードに誤りがあります。",
"TextToSpeechType": "text",
"Voice": "YUMIKO"
},
}
{
"Results": "0001",
"ContactFlowModuleType": "StoreUserInput",
}
{
"ContactFlowName": "loop-module",
"ContactFlowModuleType": "PlayPrompt",
"Parameters": {
"Text": "入力されたパスワードに誤りがあります。",
"TextToSpeechType": "text",
"Voice": "YUMIKO"
},
}
3回目
3回目に案内が分岐されていることから、問題なくループのロジックが動いたことがわかります。
{
"Results": "0002",
"ContactFlowModuleType": "StoreUserInput",
}
{
"ContactFlowName": "loop-module",
"ContactFlowModuleType": "PlayPrompt",
"Parameters": {
"Text": "パスワードを3回間違えました。\nかけ直してください。",
"TextToSpeechType": "text",
"Voice": "YUMIKO"
},
}
さいごに
今回は、Amazon Connect のフローモジュールを活用してループ処理を簡潔にする方法についてご紹介しました。
ループ処理はコンタクトフローの構築でよく活用するロジックですが、フローが複雑になってしまいます。
その悩みは、フローモジュール機能で解決できるかもしれません。
この記事が、誰かの助けになれば幸いです。







