Copilot Studioの「値を解析する(値の解析)」ノードが便利だったので、使い方をメモ。
ノード「値を解析する」
「値の解析」ノードは、トピック内で扱う値の「型を変換する」ノード。

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

主な使い道は、Power Automateの「JSONの解析」のように、型や構造が不定の値(文字列として渡されたJSONなど)に対し、それらの値をトピック内で扱えるよう「型を指定」する際に使用する。
言葉だとわかりにくいので実例で説明。
公式はこちら
![]()

変数の使用 - Microsoft Copilot Studio
カスタムおよび事前構築済みのエンティティで変数を使用して、Copilot Studio でカスタマイズされた会話を作成します。
やりたいこと
だいぶ昔に作成したカスタムコネクタ「PostalCode」、


郵便番号から住所を取得する、このカスタムコネクタの機能をエージェントに追加してみる。


構築
アクションの追加
まずはエージェントにカスタムコネクタを追加する。[アクションの追加]から、


先ほどのカスタムコネクタを選択、


説明や入力、出力を確認し、[アクションの追加]で追加する。


トピックの作成
続いて先ほど追加したアクションを使用するトピックを作成する。
郵便番号から住所を取得したい旨トリガーフレーズに追加し、スロット充填で郵便番号を変数に格納する。

郵便番号から住所を取得したい旨トリガーフレーズに追加し、スロット充填で郵便番号を変数に格納する。

格納した郵便番号を引数に先ほどのアクションを呼び出し、結果をメッセージに送ればトピックの完成。


実際に動作を確認すると、住所は取得できているけど当然JSONのまま出力されてしまう。
(※文字化けしているのはJSONをそのまま出しているためと思われる)

(※文字化けしているのはJSONをそのまま出しているためと思われる)

「値を解析する」ノードの追加
ここで「値の解析」ノードが役に立つ。先ほどのカスタムコネクタアクションの後ろに追加して、「解析対象」にカスタムコネクタの応答(resultsの先頭)を設定し、
※First関数で先頭だけ取得しているのは、APIの仕様として配列の中身は1データと決まっているため

※First関数で先頭だけ取得しているのは、APIの仕様として配列の中身は1データと決まっているため

[データ型]を[サンプルデータから]にして、[サンプルJSONからスキーマを取得する]を押す。


JSONのサンプルを入力するポップアップが表示されるので、カスタムコネクタが返す結果のサンプルを入力し、[確認]を押す。


最後に解析結果を新しい変数(今回はaddress)に入れれば完了。


値を解析したおかげで、後のノードで解析結果を使えるようになるのでメッセージの内容に設定。


先ほどと同じやり取りをしてみると、無事解析結果をメッセージとして送信できている。


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