Copilot Studio 会話の中でForeachループを使う|テーブルや配列の操作に便利

Copilot Studioにおけるループについて調べていたらおもしろい記事を見つけたので紹介。

スポンサーリンク

会話の中でループを作る方法

Copilot Studioにおいて、会話内のループを構築する場合は「手順に移動」ノードを使用していた。

これはCとかのgoto文と同じ機能で、この「手順に移動」を使用して、前のステップに戻ることでループをつくっていた。

ただ、今回見つけたこちらの記事にトピック内でForeachループを使うことができる、と書いてあったので試してみた。
Discover thousands of collaborative articles on 2500+ skills
Discover 100 collaborative articles on domains such as Marketing, Public Administration, and Healthcare. Our expertly cu...

構築

今回はサンプルとして指定した数のループを実行するトピックを構築。

まずは適当なトリガーを用意して、ループする回数をスロット充填で取得する。
そしたらForeachを追加するためコードエディタを開いて、
actionsの中にkindとしてForeachを追加する。(YAML記法っぽい)
idは適当でよいみたいなので、適当なIDを採番してコードエディタを閉じる。
するとフローにForeachループが追加される。
指定した数のループを実行するため、[ループする項目]にはSequence関数を追加して、
ループの各項目が入る[ループ値の変数]には新しい変数を追加。
※プロパティからループのインデックスも取得可能。
最後に現在の数字をメッセージで送信するノードを追加したいんだけど、[変数の選択]からは変数iにアクセスできないよう。
そこで再度コードエディタを開いて、関数と変数を直接入力する。
フローに戻って関数が入力されていれば完成。

動作確認

こんな感じで回数を指定すると、トピック内でループが実行される。

Power Virtual Agent時代の名残なのか、またはCopilot Studioにおいて今後追加する機能なのかはわからないけど、コードエディタからであればForeachを使うことができる。

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