1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Connectのフローで呼び出したLambdaのレスポンスを使用する方法

Last updated at Posted at 2024-10-30

はじめに

Amazon Connectのフローには、Invoke Lambda Functionブロック があります。
このブロックからLambdaを呼び出し、そのレスポンスをConnectのフロー内の属性に保存する事で、フロー内でLambdaのレスポンス値を使用することができます。
本記事では、Lambda関数からのレスポンスを Play Promptブロック に設定してテストチャットからフロー内で表示されるところまで実装していきます。

対象の方

  • ConnectのフローからLambdaを呼び出す方法を知りたい方
  • Connectのフローから呼び出したLambdaのレスポンスをフロー内で使用したい方

ゴール

Invoke Lambda Functionブロック で呼び出したLambdaから下記のレスポンスを返します。Connectのフローを使用してテストチャットした際に、おはようこんにちはこんばんは が順番に表示されることを確認します。

Lambdaの返り値
{
    'test1': 'おはよう',
    'test2': 'こんにちは',
    'test3': 'こんばんは'
}

作るもの

  • Connectのフロー:1つ
  • Lambda:1つ

Amazon Connectのインスタンスは作成済みであることを想定しています。

1. Lambda関数の作成

Connectの Invoke Lambda Functionブロック から呼び出す用の簡単なLambdaを作成します。
3つの値をもつJSON形式のレスポンスをLambdaのレスポンスとして返します。

lambda_function.py
def lambda_handler(event, context):
    return {
        'test1': 'おはよう',
        'test2': 'こんにちは',
        'test3': 'こんばんは'
    }

2. Amazon Connectフローの作成

次の図のような簡単なフローを作成します。
正常に進めば 開始①⇒②⇒③・・・⇒⑥⇒切断 のように進んでいきます。

image.png

流れとしては、下記のようになる想定です。

フローの流れ
①:チャットスタートの文言表示
②:Lambdaをコール
③:おはようの文言表示
④:こんにちはの文言表示
⑤:こんばんはの文言表示
⑥:チャットを終了しますの文言表示

各ブロックの設定値

フローの各ブロックにはそれぞれ下記の値を設定します。

ブロックの設定値
① Play Promptブロック:チャットスタート
② Invoke Lambda functionブロック:sample_connect_lambda
③ Play Promptブロック:$.External.test1
④ Play Promptブロック:$.External.test2
⑤ Play Promptブロック:$.External.test3
⑥ Play Promptブロック:チャットを終了します

2.1 Play Promptブロックの設定

・ 開始時と終了時の文言の

開始時と終了時の文言をそれぞれ① Play Promptブロック⑥ Play Promptブロック にセットします。

image.png

・ Lambdaのレスポンスに含まれる文言

Lambdaのレスポンスに含まれる値を Play Promptブロック にセットします。レスポンス形式として「JSON」を選択します。

1つ目:$.External.test1
2つ目:$.External.test2
3つ目:$.External.test3

$.External.レスポンスキー名 の形式で、Lambdaレスポンスの値にアクセスできます。

$.External.attributeName

参考:https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/connect-attrib-list.html#attribs-lambda-table

次の図は ③ Play Promptブロック の例になります。④、⑤も同様です。

image.png

2.2 Invoke Lambda Functionブロックの設定

下記のように値を設定しておきます。

image.png

テストチャットしてみる

ここまでできたらフローを保存、公開しConnectのホーム > チャットをテスト からフローを動かしてみます。

テスト設定 > フローを選択し適用を押下します。

image.png

LambdaのレスポンスとしてConnectのフローに返ってくる想定のおはようこんにちはこんばんはの文字が表示されることを確認できました。

sample_connect_chat_p.gif

参考

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?