【Amazon Connect】データテーブルを活用してブラックリスト電話番号を管理してみた
はじめに
こんにちは、フニです。
本記事では、Amazon Connect のデータテーブル機能でブラックリスト電話番号を管理するユースケースについてご紹介します。
データテーブル機能とは?
Amazon Connect で直接データを保存および管理できる機能です。
データテーブルを使うと、DynamoDB などの外部データテーブルと連携したり、Lambda でコードを作成・管理する手間を削減できます。
詳細は以下の公式ドキュメントをご参照ください。
やってみた
前提
- Amazon Connect 構築済み
- 東京リージョン (ap-northeast-1)
- 操作に十分な権限があること
データテーブルの作成
- Amazon Connect コンソール画面にログイン後、データテーブルに移動します。

- 「新しいデータテーブルを追加」を押下します。

- 「名前」と「タイムゾーン」を入力後、「保存」を押下します。

- 「属性を追加」を押下します。

- 「名前」に PhoneNumber を入力、「プライマリ属性の設定」を有効にした後、「保存」を押下します。

- 繰り返し、「属性を追加」を押下します。

- 「名前」に Type を入力、「保存」を押下します。

- 「レコードを追加」を押下します。

- 注意事項を確認し、「PhoneNumber」には電話番号を、「Type」には Blacklist を入力した後、「保存」を押下します。

- データが反映されていることを確認します。

フロー解説
下記画像のように、フローを作成しました。
「データテーブル」と「コンタクト属性を確認する」2つのフローブロックで分岐処理をしています。
ブラックリスト登録有無によって「利用できません」と「こんにちは」のアナウンスに分岐されます。

補足:データテーブル
属性キーを入力には「$.CustomerEndpoint.Address」を入力し、発信元の電話番号を取得するようにします。
クエリ名は、コンタクト属性を確認するフローブロックで使いますので覚えておいてください。

補足:コンタクト属性を確認する
名前空間に「データテーブル」を、キーには <クエリ名>.<属性名> を入力します。
今回は GetPhoneNumber.Type になります。

結果
条件分岐ができているか直接電話をかけて確認しました。
以下に CloudWatch ログを一部抜粋しています。
データテーブルにブラックリストとして登録されている場合
電話番号がデータテーブル上にブラックリストとして登録されていたため「利用できません」とアナウンスが流れてきました。
{
"ContactFlowModuleType": "EvaluateDataTableValues",
"Parameter": {
"Queries": [
{
"QueryName": "GetPhoneNumber",
"Attributes": [
"Prize"
],
"PrimaryValues": [
{
"AttributeName": "PhoneNumber",
"Value": "+815012345678"
}
]
}
]
},
}
{
"Results": "true",
"ContactFlowModuleType": "CheckAttribute",
"Parameters": {
"Value": "TRUE",
"SecondValue": "TRUE",
"ComparisonMethod": "Equals"
}
}
{
"ContactFlowModuleType": "PlayPrompt",
"Parameters": {
"TextToSpeechType": "text",
"Text": "利用できません",
"Voice": "Kazuha"
}
}
データテーブルにブラックリストとして登録されていない場合
電話番号がデータテーブル上にブラックリストとして登録されていないため「こんにちは」とアナウンスが流れてきました。
{
"ContactFlowModuleType": "EvaluateDataTableValues",
"Parameter": {
"Queries": [
{
"QueryName": "GetPhoneNumber",
"Attributes": [
"Prize"
],
"PrimaryValues": [
{
"AttributeName": "PhoneNumber",
"Value": "+815098765432"
}
]
}
]
},
}
{
"Results": "false",
"ContactFlowModuleType": "CheckAttribute",
"Parameters": {
"Value": "",
"SecondValue": "TRUE",
"ComparisonMethod": "Equals"
}
}
{
"ContactFlowModuleType": "PlayPrompt",
"Parameters": {
"TextToSpeechType": "text",
"Text": "こんにちは",
"Voice": "Kazuha"
}
}
注意点
(2026/3/2 時点)
以下のサービスクォーター上の上限があります。
大規模なデータは DynamoDB が向いていますが、小規模なデータを活用する時は十分活用できるかと思います!
- テーブル — インスタンスあたり合計100個
- 属性(列) — テーブルあたり100個
- 値(セル) — テーブルあたり1000個
- テキスト値の文字数制限 — TEXT型は5000文字、TEXT_LIST型は1000文字
さいごに
今回は、Amazon Connect のデータテーブル機能でブラックリスト電話番号を管理するユースケースについてご紹介しました。
この記事が誰かの助けになれば幸いです。
参考








