LoginSignup
1
0

More than 3 years have passed since last update.

【AmazonConnect】問い合わせフロー内でのLambda呼び出し

Last updated at Posted at 2020-07-15

概要

AmazonConnectでは問い合わせフロー内でLambda関数を呼び出すことができます。
また、Lambda関数を呼び出す際にはJSONリクエストをやり取りしており、これを利用することで条件分岐などが可能になります。

紐づけ

問い合わせフローから直接ARNを指定して呼び出すことも可能ですが、前もってマネジメントコンソールからインスタンス情報にアクセスし、「問い合わせフロー」からLambda関数を登録できます。
こうすれば、Lambda関数を呼び出す際、プルダウンで登録した関数が一覧で出てくるので選びやすいです。
QiitaBlog001.png

以下、問い合わせフロー内におけるLambda関数の設定画面
QiitaBlog004.png

問い合わせフロー内での操作

AmazonConnectからLambda関数を呼び出す際、以下のようなJSONリクエストがLambda関数に引き渡されます。
Lambda関数の戻り値は"Attributes"にJSON形式で格納され、AmazonConnectに渡されます。

{
    "Details": {
        "ContactData": {
            "Attributes": {"ここに":"Lambda関数の値"},
            "Channel": "VOICE",
            "ContactId": "4a573372-1f28-4e26-b97b-XXXXXXXXXXX",
            "CustomerEndpoint": {
                "Address": "+1234567890",
                "Type": "TELEPHONE_NUMBER"
            },
            "InitialContactId": "4a573372-1f28-4e26-b97b-XXXXXXXXXXX",
            "InitiationMethod": "INBOUND | OUTBOUND | TRANSFER | CALLBACK",
            "InstanceARN": "arn:aws:connect:aws-region:1234567890:instance/c8c0e68d-2200-4265-82c0-XXXXXXXXXX",
            "PreviousContactId": "4a573372-1f28-4e26-b97b-XXXXXXXXXXX",
            "Queue": "QueueName",
            "SystemEndpoint": {
                "Address": "+1234567890",
                "Type": "TELEPHONE_NUMBER"
            }
        },
        "Parameters": {
            "sentAttributeKey": "sentAttributeValue"
        }
    },
    "Name": "ContactFlowEvent"
}

Lambda関数に値を渡すとき

Lambda関数に値を渡すときは以下の順でブロックを並べます。
QiitaBlog002.png
QiitaBlog003.png

ここで設定した属性はLambda関数で

event["Details"]["ContactData"]["Attributes"]["key"]

で参照できます。

Lambda関数から値を受け取るとき

Lambda関数の戻り値は問い合わせフロー内で「属性」として扱われます。また、タイプは「外部」として扱われます。
問い合わせフロー内で、属性を確認することで分岐ができます。
QiitaBlog005.png
QiitaBlog006.png
チェックする条件は、「別の条件の追加」から追加可能であり、「等しい」以外でも不等号などを選択できます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0