【Microsoft×生成AI連載】【Power Platform】Microsoft Power AutomateでMicrosoft Copilotを使ってみた

【Microsoft×生成AI連載】シリーズの記事です。

ちょうど1年前にPower AutomateでCopilotを使ってフローをまるごと作成したり、アクションを追加したり、といった検証を行いました。

blog.jbs.co.jp

そこから1年が経ち、改善があったかどうかを確認しようと思います。

本記事では、1年前と同じプロンプトを再検証し改善点を探るとともに、新たなプロンプトを試した結果を使用したプロンプトと共にご紹介します。

これまでの連載

これまでの連載記事一覧はこちらの記事にまとめておりますので、過去の連載を確認されたい方はこちらの記載をご参照ください。

blog.jbs.co.jp

Power AutomateでのCopilot検証(前回と同じもの)

まず、1年前と同じプロンプトを実行して、改善があったかを確認してみます。

フローまるごと作成

前回と同じプロンプトを使用してフローを丸ごと作成してみました。

使用したプロンプト
実行すると'TESTLEE' SharePointサイトの 'CopilotTEST' リストにTitleが'TEST'のアイテムを新しく追加するフローを作成して
実行結果

トリガーがPower Appsになっていたり、SharePointサイトのアドレスが間違っていたり、前回と比べて結果として大きく変わったことはありませんでした。

前回との比較

ただ、1年前にはなかった「記述して作成する」ページが追加されました。

以下のように、Copilotが作成するフロー全体の構成をアクション名とともに表示し、Copilotに作成しようとしているフローに対して詳細な指示を追加できるページができました。

また、作成されるフローで必要な接続を表示するページもできました。

「戻る」をクリックしてページを戻り、Copilotに作成しようとしているフローに対して詳細な指示を追加できる「Copilotが作業で、利用する詳細をさらに追加します」で、トリガーに対して詳細な指示を出してみました。

以下のようにプロンプトが修正され、トリガーがPowerAppsからの実行の「PowerAppsV2」から手動実行の「Button」に修正されたことを確認できました。

パラメーター(SharePointサイト)を明確に指定

アクションのパラメーターを正しくするため、SharePointサイトのURLでサイトアドレスを指定して作成してみました。

使用したプロンプト
'https://{テナント}.sharepoint.com/sites/TESTLEE/' SharePointサイトの 'CopilotTEST' リストにTitleが'TEST'のアイテムを新しく追加するフローを作成して
実行結果

「作成」アクションが3つ作成され、「サイトのURL」、「リスト名」、「リストに追加するアイテムのタイトル("TEST"という文字列)」の値が入っていました。

3つの作成の「出力」動的なコンテンツが項目の作成アクションのパラメーターとして入っていましたが、アクションの構成が正しくないため、実行はできませんでした。

前回との比較

必要なパラメーターを「作成」アクションで用意するという工夫がみられましたが、最終的にリストにアイテムを作成する際のアクションが誤っており、正常に動作はしませんでした

フローをまるごとではなく、アクション単位で作成

「フローを手動でトリガーする」トリガーが存在している状態で、Copilotにアクションを追加するように命令してみました。

使用したプロンプト
'https://{テナント}.sharepoint.com/sites/TESTLEE/' SharePointサイトの 'CopilotTEST' リストにTitleが'TEST'のアイテムを新しく追加するアクションを追加して
実行結果

「接続が無効です」と表示され、パラメーターが空の状態でアクションだけ追加されました。

前回との比較

前回は「サイトのアドレス」や「リスト名」などのパラメーターや、「接続」も正しく作成されていましたが、今回はアクションの追加のみでパラメーターや「接続」の設定はされませんでした。

Power AutomateでのCopilot検証(新しく試してみた)

1年前に検証したプロンプト以外にも検証をしてみました。

SharePoint+Outlookのフロー作成

まず、以下のようなリストとアイテムを作成しました。

そして、CopilotTESTリストからリストの項目を取得し、タイトルがTEST3になっている行のUser列に記載されているユーザーに、下記のメールを送信するフローをCopilotに作成させました。

  • 件名:テスト
  • 本文:メール送信テスト
使用したプロンプト
「TESTLEE」SharePointサイトの「CopilotTEST」リストの項目をすべて取得して、タイトルが「TEST3」になっているアイテムをUser列に書いているユーザーに件名は「テスト」、本文は「メール送信テスト」というメールを送信するフローを作成して
実行結果

以下のようなフローが提案されました。

各アクションの設定に対しても確認してみました。

アクションとしては「複数の項目の取得」は正しいですが、パラメーターの指定が間違っていました。

Foreachアクションでは「複数の項目の取得」アクションから取得した値に対して実行するので、正しくとパラメーターが指定されている事を確認できました。

条件アクションでは「タイトル」が「TEST3」に「等しい」、という値が入っていて欲しかったのですが、空の状態でした。

条件分岐の中でさらに「複数の項目の取得」が実行されていますが、ここは最初の「複数の項目の取得」アクションと重複しており不要なアクションでした。

「メールの送信」アクションでは宛先として「items('foreach')?['User']」を指定していますが、これだとユーザーの情報すべてが入ってしまいます。「items('foreach')?['User/Email']」が正しい動的なコンテンツでした。ただ、件名と本文は指示とおりに入力されていることを確認できました。

追加検証

フィルタークエリがない「複数の項目の取得」アクションがあるフローを保存すると以下のように警告が出るため、Copilotを使ってフローの効率化にも挑戦してみました。

「複数の項目の取得」アクションにフィルタークエリとして「Title eq 'TEST3'」を入力し、タイトルがTEST3の項目のみ取得して使うことで、条件アクションを削除できるかと考え、Copilotに指示してみました。

プロンプトが悪かったのか、想定したものとまったく違う結果が出ました。

もう一度試してみましたが、望む結果にはなりませんでした。

Outlook+Teamsのフロー作成

使用したプロンプト
メールの受信トレイに件名に「TEST」が入っているメールが届いたら、フローボットからTeamsの「TESTLEE」チームの「一般」チャンネルにメールの件名を投稿してくれるフローを作成して
実行結果

全体的には正しい構成でした。

「新しいメールが届いた時」のトリガーは適切に設定されていました。

※ 環境のため「受信トレイ」ではなく「Inbox」になっています

「チャットまたはチャネルでメッセージを投稿する」のアクションを確認します。「メッセージ」には、トリガーからの動的なコンテンツ「件名」を設定したかったのですが、実際には「件名」ではなく、@{triggerOutputs()?['body']?['subject']}の文字列が入っていました。

※ ちなみに、実際に動的なコンテンツから選択すると「triggerOutputs()?['body/subject']」となります

利用シーン・メリット/デメリット・注意点

利用シーン

  • Power Automateのフローを新しく作成する際に全体的な構成について簡単に作成したいとき

メリット/デメリット

  • メリット
    • フローの全体的な構成を考えるときの参考になります。
  • デメリット
    • 作成されたフローには不要なアクションも存在するため、もう一度確認して、不要なアクションを削除する必要があります。
    • 各アクションのパラメーターを確認して、修正する必要があります。

注意点

  • アクションのパラメーターがほぼ間違っていたので、直す必要があります。

まとめ

今回の検証ではCopilotを使って作成したアクションのパラメーターを一回で完璧に設定することはできませんでしたが、「記述して作成する」ページが追加されたことで、フローの全体的な構成がわかりやすくなったことを確認できました。

誤ったパラメーターや空のパラメーターに対しては、対話を続けてさらに詳細な指示をする事で修正できるかと考えます。

次回の記事では、Copilotを使って作成したフローに対話を重ねてフローのアクションを修正したり、アクションのパラメーターを修正したりする方法を検証してみたいと思います。

おまけ(Copilot Chatによる本記事の要約)

1年前にPower AutomateでCopilotを使ったフロー作成を検証した内容を再確認し、改善点と新たなプロンプトを試した結果を紹介しています。

  • 改善点:Copilotに「記述して作成する」ページが追加され、フロー構成の可視化や詳細指示が可能になった。
  • 課題:生成されるフローには不要なアクションや誤ったパラメーターが含まれることが多く、手動での修正が必要。
  • 新しい検証:SharePoint+OutlookやOutlook+Teamsの連携フローも試したが、構成は概ね正しいものの、細部の設定に不備が見られた。
  • 結論:UI面では進化があるが、Copilotによる自動生成の精度はまだ改善の余地がある。
執筆担当者プロフィール
Lee Byungju

Lee Byungju(日本ビジネスシステムズ株式会社)

Microsoft Azure関係の開発, Power Platformが担当領域。

担当記事一覧