Copilot Studio 「値を解析する(値の解析)」ノードの使い方|トピック内でJSONを解析する

Copilot Studioの「値を解析する(値の解析)」ノードが便利だったので、使い方をメモ。

スポンサーリンク

ノード「値を解析する」

「値の解析」ノードは、トピック内で扱う値の「型を変換する」ノード。

主な使い道は、Power Automateの「JSONの解析」のように、型や構造が不定の値(文字列として渡されたJSONなど)に対し、それらの値をトピック内で扱えるよう「型を指定」する際に使用する。

言葉だとわかりにくいので実例で説明。

やりたいこと

だいぶ昔に作成したカスタムコネクタ「PostalCode」、
郵便番号から住所を取得する、このカスタムコネクタの機能をエージェントに追加してみる。

構築

アクションの追加

まずはエージェントにカスタムコネクタを追加する。[アクションの追加]から、
先ほどのカスタムコネクタを選択、
説明や入力、出力を確認し、[アクションの追加]で追加する。

トピックの作成

続いて先ほど追加したアクションを使用するトピックを作成する。
郵便番号から住所を取得したい旨トリガーフレーズに追加し、スロット充填で郵便番号を変数に格納する。
格納した郵便番号を引数に先ほどのアクションを呼び出し、結果をメッセージに送ればトピックの完成。
実際に動作を確認すると、住所は取得できているけど当然JSONのまま出力されてしまう。
(※文字化けしているのはJSONをそのまま出しているためと思われる)

「値を解析する」ノードの追加

ここで「値の解析」ノードが役に立つ。先ほどのカスタムコネクタアクションの後ろに追加して、「解析対象」にカスタムコネクタの応答(resultsの先頭)を設定し、
※First関数で先頭だけ取得しているのは、APIの仕様として配列の中身は1データと決まっているため
[データ型]を[サンプルデータから]にして、[サンプルJSONからスキーマを取得する]を押す。
JSONのサンプルを入力するポップアップが表示されるので、カスタムコネクタが返す結果のサンプルを入力し、[確認]を押す。
最後に解析結果を新しい変数(今回はaddress)に入れれば完了。
値を解析したおかげで、後のノードで解析結果を使えるようになるのでメッセージの内容に設定。
先ほどと同じやり取りをしてみると、無事解析結果をメッセージとして送信できている。

トピック内でアクションを使ってデータをやり取りしていると、どうしてもJSONとかを扱う必要が出てくるので、そんなときはこの「値の解析」ノードを使用する。

タイトルとURLをコピーしました