【Amazon Connect】顧客の入力を属性として保存し、AWS Lambda にパラメータとして渡す方法

【Amazon Connect】顧客の入力を属性として保存し、AWS Lambda にパラメータとして渡す方法

Amazon Connect フローで顧客の入力をコンタクト属性として保存し、AWS Lambda にパラメータとして渡す方法を試してみました。特に、複数の属性を AWS Lambda に渡したいユースケースにフォーカスして、実装手順と動作確認の結果をご紹介します。
2026.07.23

はじめに

こんにちは、フニです。
本記事では、Amazon Connect フローで顧客の入力を属性として保存し、AWS Lambda にパラメータとして渡す方法について解説します。

検証フローの全体像

今回検証に利用したフローの全体像です。
顧客から3つの項目を番号入力してもらい、AWS Lambda 側にパラメータが渡されているか確認します。

CleanShot 2026-07-23 at 15.02.51@2x.png

やってみた

前提

  • AWS Lambda は Python 3.14 を利用します

1. 顧客の入力をコンタクト属性として保存する

CleanShot 2026-07-23 at 15.02.51@2x.png

  • ①:電話番号
  • ②:希望配送日
  • ③:希望本数

上記3つの項目を顧客から入力してもらい、それをコンタクト属性として保存します。

コンタクト属性の設定ブロックを配置し、$.StoredCustomerInputをそれぞれの Key に保存します。
属性は、$.Attributes.<Key> の形で保存されます。

CleanShot 2026-07-23 at 14.54.56@2x.png

2. AWS Lambda 側にパラメータとして渡す

CleanShot 2026-07-23 at 15.02.51@2x.png

CleanShot 2026-07-23 at 15.13.25@2x.png

画像のように、$.Attributes.<Key> の属性をパラメータとして登録します。
Lambda のコードは、以下のサンプルコードを利用しました。

import json

def lambda_handler(event, context):
    # Amazon Connect から渡された内容全体をログに出力(デバッグ用)
    print("Received event:", json.dumps(event, ensure_ascii=False))

    # フローの LambdaInvocationAttributes で設定したカスタムパラメータは
    # event["Details"]["Parameters"] の下に入ってくる
    params = event["Details"]["Parameters"]

    tel = params.get("tel")
    delivery_date = params.get("deliverydate")
    delivery_pieces = params.get("deliverypieces")

    # 受け取った各値を CloudWatch Logs に出力
    print(f"電話番号 (tel): {tel}")
    print(f"配送希望日 (deliverydate): {delivery_date}")
    print(f"希望本数 (deliverypieces): {delivery_pieces}")

    # フロー側の ResponseValidation は STRING_MAP なので
    # 値がすべて文字列のフラットな辞書を返す
    return {
        "tel": tel,
        "deliverydate": delivery_date,
        "deliverypieces": delivery_pieces,
    }

結果

今回は、各アナウンスに対して以下のように入力しました。

①:電話番号を入力してください。(入力した値:09012345678)
②:配送希望日を入力してください。(入力した値:0730)
③:ご希望の配送本数を教えてください。(入力した値:5)

CloudWatch Logs で Lambda のログを確認したら、問題なくパラメータが渡されていることがわかります。

CleanShot 2026-07-23 at 15.16.56@2x.png

さいごに

今回は Amazon Connect フローで顧客の入力を属性として保存し、AWS Lambda にパラメータとして渡す方法について解説しました。
複数の属性を AWS Lambda に渡したいというケースもあるかと思いますが、フローブロックで解決できますのでぜひ試してみてください。

この記事が、誰かの助けになれば幸いです。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事