【AWS】AmazonConnectでの通話中にNGワードを検知し、アラートメールを送信する

# 1.はじめに
どうも、ARIの名古屋支社に勤務している愛知県民こと、
新藏（にいくら）と申します♪
(/・ω・)/

今回は久しぶりにAmazonConnect中心の記事です！

最近、諸事情で設定した
**AmazonConnectで通話中にNGワードを検知して、アラートメールを送る方法**
について記事にしたいと思います！

AWS、AmazonConnectについて勉強中の方の参考になれば幸いです。
(*^^)v

---

また、この記事はARIのアドベントカレンダの前哨戦として、
ARIの名古屋支社メンバが毎日（土日は除く）投稿していく、
**「12/1までをカウントダウンするアドベントカレンダ」の5日目になります！**

ARIのアドベントカレンダも**1日後**に始まるので、
こちらも応援のほどよろしくお願いします♪

https://qiita.com/advent-calendar/2022/ari-group
# 2.前提条件
前提条件は以下となります。

* AmazonConnectインスタンスが作成済であること。
* AmazonConnectインスタンスに電話番号が付与されていること。
* コンタクトフローが作成済であり、フロー内でContact Lensが有効化されていること。
* 上記コンタクトフローからのキューイングに応答するユーザが作成済であること。

# 3.処理の概要
まず初めに、NGワードが言われてからメールが届くまでの流れについて説明します。

■設定の流れ
①AmazonConnectにて、Contact Lensで特定のワードを検知した時に、EventBridgeにイベントを送る設定をします。
②アラートメールを送信するメールアドレスが設定された、SNSトピックを作成します。
③EventBridgeにて、①のイベントが発生した時に、②で設定したSNSのトピックを呼び出す設定をします。

■動作の流れ
④コンタクトフロー内でContact Lensによる通話の分析が有効化されます。
（今回、コンタクトフロー内でContact Lensを有効化することは前提条件としています。）

⑤AmazonConnectで通話を開始し、通話中にNGワードを言います。
⑥Contact LensによりNGワードが検知され、
　①②③によりAmazonConnect　→　EventBridge　→　SNS　の順でサービスが動き、
　指定のメールアドレスにメールが送られます。

# 4.AmazonConnectの設定
まずは、AmazonConnectの設定をします。
3章でも説明しましたが、**Contact Lensで特定のワードを検知した時に、EventBridgeにイベントを送る設定**となります。

4.1.AmazonConnectにログインし、左メニューの「ルール」を選択します。

|![010_ルールを選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/17c807a5-508e-2429-bb21-915b2857ab87.png)|
|:--|

4.2.「ルールを作成」を選択し、「Contact Lens」を選択します。

|![020_ルールを作成を選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/03c1aaa2-2219-649c-dd22-483f5c0b00ec.png)|
|:--|

4.3.「Contact Lens リアルタイム分析が利用可能」を選択し、
「条件を追加」を選択し、「単語またはフレーズ-完全一致」を選択します。

|![030_ルールの設定_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/9962bb3d-cb39-a64d-0892-c7a18e5a7442.png)|
|:--|

:::note info
コンタクトフロー内で、通話後にContact Lensの分析をする設定をしている場合は、
「Contact Lens通話後分析が利用可能」を選択してください。
:::

4.4.「講演者」の後ろのプルダウンにて、誰の発言を監視するかを設定します。
（いずれか、エージェント、顧客の3種類があります。）

4.5.NGワードを入力し、「追加」を選択します。

:::note info
以下の画像は例として、監視対象はエージェントの発言を、
NGワードは「ばか」「あほ」「まぬけ」を設定しています。
:::

|![040_ルールの設定_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/047a63a6-e97b-adf6-ebcb-4f9dcf77ae0e.png)|
|:--|

4.6.カテゴリ名（値は任意）を入力し、「アクションを追加」を選択し、「EventBridgeイベントを作成」を選択します。

|![050_ルールの設定_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/3ba4e37a-9c64-7576-ba4a-f4cfc08fe612.png)|
|:--|

4.7.アクション名（値は任意）を入力します。

|![060_ルールの設定_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/7e47d791-3960-1816-d17a-2e4b6582e85f.png)|
|:--|

4.8.最後に画面右下の「保存して公開」を選択します。

|![070_ルールの設定_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/3d9c2353-cb13-7d83-7169-d6dcc9110e34.png)|
|:--|

# 5.SNSの設定
次に、SNSを設定します。
3章でも説明しましたが、**アラートメールを送信するメールアドレスが設定された、SNSトピックの作成**となります。

5.1.SNSの管理画面にて、「トピック」を選択します。

|![200_トピックを選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/b87c9545-0714-a484-2b8c-c2039fa3ef85.png)|
|:--|

5.2.「トピックの作成」を選択します。

|![210_トピックの作成を選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/2bdac3c1-692d-9731-a647-cf06b25b661b.png)|
|:--|

5.3.「スタンダード」を選択し、トピックの名前（値は任意です）を入力します。

|![220_トピックの設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/710d1934-8399-249c-d9e0-cc0266f4a400.png)|
|:--|

5.4.続いて、「サブスクリプションの作成」を選択します。

|![230_サブスクリプションの作成を選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/78cd20a8-6fb1-7328-b255-f9d144f5ff58.png)|
|:--|

5.5.以下の表のとおりに設定します。

|項目|設定内容|
|---|---|
|トピックARN | （作成したトピック名） |
|プロトコル | Eメール |
|エンドポイント | （アラートメールを送信するメールアドレス） |

|![240_サブスクリプションの作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/5f61aef4-e213-5750-5911-86cb03a487d5.png)|
|:--|

5.6.前手順で設定したメールアドレスにメールが届くので、「Confirm subscription」を選択します。

|![250_サブスクリプション許可のメール.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/16b95b58-8098-a497-d8e8-9c53503e72b3.png)|
|:--|

5.7.以下の画面が表示され、SNSでの設定は完了となります。

|![260_サブスクリプション許可完了画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/78c24426-1103-0653-5174-6ab160a0d982.png)|
|:--|

# 6.EventBridgeの設定
最後にEventBridgeを設定します。
3章でも説明しましたが、**特定のイベントが発生した時に、SNSのトピックを呼び出す設定**となります。

6.1.EvetBridgeの管理画面から「ルールを作成」を選択します。

|![300_ルールを作成を選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/1559d7ff-91a9-dae0-9d68-8a0fccd46414.png)|
|:--|

6.2.ルールの名前（値は任意です）を入力し、後はデフォルトのままで「次へ」を選択します。

|![310_EventBridgeのルールの設定_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/5fbcfef3-3436-f2f6-c40b-422f8993bfd8.png)|
|:--|

6.3.以下の表のとおりに設定し、「次へ」を選択します。

|項目|設定内容|
|---|---|
|イベントソース | AWSのサービス |
|AWSのサービス | Amazon Connect |
|イベントタイプ | 4章で「Contact Lens リアルタイム分析が利用可能」を設定した時は<br>「Contact Lens Realtime Rules Matched」<br><br>4章で「Contact Lens通話後分析が利用可能」を設定した時は<br>「Contact Lens Post Call Rules Matched」 |

|![320_EventBridgeのルールの設定_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/fb9c4873-f1f5-4b93-41a5-2d2d5843a55f.png)|
|:--|

6.4.ターゲットタイプで「AWSのサービス」を選択し、5章で作成したSNSトピックを選択し、「次へ」を選択します。

|![330_EventBridgeのルールの設定_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/77867176-0687-258e-1bb3-1f161a3ab330.png)|
|:--|

6.5.「次へ」を選択します。

|![340_EventBridgeのルールの設定_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/f191a0d7-2f0a-9735-170f-0a56b900d45f.png)|
|:--|

6.6.設定の一覧が表示されるので、内容を確認し「ルールを作成」を選択します。

6.7.以上で設定は完了です。お疲れ様でした。

# 7.送信されるメールのサンプル
設定したNGワードが検知されると、以下の様なメールが送信されます。

|![400_メールが届く.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/d9718e2d-a59f-cb19-be5d-196280321d32.png)|
|:--|


# 8.おわりに
ここまで読んで下さり、ありがとうございます！！！
(^^)

今回はNGワードを検知してアラートメールを送信する方法について紹介しました。
色々なAWSサービスを連携させて動かすことができたので、
**脳汁がドバドバ出て、とても楽しかったです**♪

次回も何かしらの技術に関する記事を作成します！
(:3_ヽ)_