【やってみた】Amazon Connect データテーブルを活用してノーコードでデータを管理してみた

【やってみた】Amazon Connect データテーブルを活用してノーコードでデータを管理してみた

2025.12.15

Amazon Connect アドベントカレンダー 2025、15日目の記事です!

クラスメソッドとギークフィードさん、AWS Japanさんの有志が募ってチャレンジしている企画になります。

(アドベントカレンダーのカレンダー一覧はこちら↓)

https://qiita.com/advent-calendar/2025/amazon-connect

はじめに

こんにちは、フニです。
先日、Amazon Connect にデータテーブル (Data Tables) 機能が追加されました。
実際使ってみたらとても便利だったのでご紹介いたします。

https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/data-tables.html

何が嬉しい?

従来は DynamoDB などの外部データテーブルと連携する際、Lambda でコードを作成・管理する必要がありました。データテーブルを使うと、この手間を削減できます。
また、ノーコードで簡単にデータを操作できるので、非エンジニアの方にとっても嬉しい機能かと思います。

やってみた


📌 ゴール
かかってきた電話番号が、データテーブル上に存在すれば「当たり」を、存在しない場合は「ハズレ」の案内音声を流します。


前提

  • Amazon Connect 構築済み
  • 東京リージョン (ap-northeast-1)
  • 操作に十分な権限があること

データテーブルの作成

  1. Amazon Connect コンソール画面にログイン後、データテーブルに移動します。

CleanShot 2025-12-15 at 18.56.02@2x.png

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

CleanShot 2025-12-15 at 18.57.34@2x.png

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

CleanShot 2025-12-15 at 18.58.34@2x.png

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

CleanShot 2025-12-15 at 19.00.30@2x.png

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

CleanShot 2025-12-15 at 19.01.28@2x.png

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

CleanShot 2025-12-15 at 19.03.36@2x.png

  1. 「名前」に Prize を入力、「保存」を押下します。

CleanShot 2025-12-15 at 19.04.33@2x.png

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

CleanShot 2025-12-15 at 19.05.24@2x.png

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

CleanShot 2025-12-15 at 19.06.35@2x.png

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

CleanShot 2025-12-15 at 19.08.51@2x.png

フロー解説

下記画像のように、フローを作成しました。
「データテーブル」と「コンタクト属性を確認する」2つのフローブロックで分岐処理をしています。

CleanShot 2025-12-15 at 19.10.48@2x.png

補足:データテーブル

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

CleanShot 2025-12-15 at 19.13.13@2x.png

補足:コンタクト属性を確認する

名前空間に「データテーブル」を、キーには <クエリ名>.<属性名> を入力します。
今回は GetPhoneNumber.Prize になります。

CleanShot 2025-12-15 at 19.16.31@2x.png

結果

条件分岐ができているか直接電話をかけて確認しました。
以下に CloudWatch ログを一部抜粋しています。

データテーブルに登録されている場合

電話番号がデータテーブル上に存在するので True 判定になり、当たりのアナウンスが流れてきました。

{
    "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"
    }
}

データテーブルに登録されていない場合

電話番号がデータテーブル上に存在しないので False 判定になり、ハズレのアナウンスが流れてきました。

{
    "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"
    }
}

注意点

(2025/12/15 時点)
以下のサービスクォーター上の上限があります。
大規模なデータは DynamoDB が向いていますが、小規模なデータを活用する時は十分活用できるかと思います!

  • テーブル — インスタンスあたり合計100個
  • 属性(列) — テーブルあたり100個
  • 値(セル) — テーブルあたり1000個
  • テキスト値の文字数制限 — TEXT型は5000文字、TEXT_LIST型は1000文字

まとめ

今回は、Amazon Connect にデータテーブル (Data Tables) 機能を使ってみました!
従来は DynamoDB などの外部データテーブルと連携する際、Lambda でコードを作成・管理する必要がありました。データテーブルはその手間を削減できる嬉しい機能だと思っています。
ノーコードで簡単に操作できるので、非エンジニアの方にとっても嬉しい機能ですね!

参考

https://aws.amazon.com/jp/blogs/contact-center/simplify-contact-center-operations-with-amazon-connect-data-tables/

この記事をシェアする

FacebookHatena blogX

関連記事