【Microsoft×生成AI連載】シリーズの記事です。
前回の記事では、Power AutomateでCopilotを使用してフローの作成やフロー内のアクションの作成を行いました。
本記事では、前回の続編として、Power Automateで使用できるCopilot機能をさらにご紹介します。
これまでの連載
これまでの連載記事一覧はこちらの記事にまとめておりますので、過去の連載を確認されたい方はこちらの記載をご参照ください。
パラメーターの作成
Power AutomateのCopilotでは、フローのまるごと作成やアクションの作成以外にも、アクションのパラメーターとして使われるJSONや式などの作成も行うことができます。
アダプティブカードのJSON作成
まず、「チャットやチャネルにカードを投稿する」や「アダプティブ カードを投稿して応答を待機する」アクションで使われるアダプティブカードのJSONを、Copilotを使って作成してみました。
使用したプロンプト
以下の内容のメッセージと「はい」、「いいえ」のボタンがあるアダプティブカードを作成したいけど、アダプティブカードのJSONを作成して
メッセージの内容:明日の飲み会に参加しますか?
実行結果
作成された内容をそのまま「アダプティブカードを投稿して回答を待機する」アクションの「メッセージ」パラメーターに貼り付けて、フローを実行しました。

問題なくチャネルにアダプティブカードが投稿されることを確認できました。

HTTP要求のURIや本文作成
続いて、HTTP要求送信アクションのURI・メソッド・本文を、Copilotを使って作成してみました。
使用したプロンプト
「Microsoft Graph HTTP 要求を送信する」アクションを使って、Teamsにメッセージを投稿したい。URI、メソッド、ヘッダー、本文は何を指定すればいいか教えて。
ただ、URI内にチームIDやチャネルIDなどの特定のIDを指定する必要がある場合は{チームID}、{チャネルID}みたいに表示して。
送信したいメッセージの内容は以下の通り
タイトル:CopilotによるTeams投稿テスト
本文:HTTP要求のTeams投稿テスト
実行結果
作成された内容をそのまま「Microsoft Graph HTTP 要求を送信する」アクションの各パラメーターに貼り付けて、フローを実行しました。
{チームID}と{チャネルID}の部分は修正しました。

チームのチャネルにメッセージが投稿されることを確認できました。

ODataフィルタークエリの作成
SharePointの「複数の項目の取得」アクションなどで使われるODataクエリを、Copilotを使って作成してみました。
検証の前に、以下のようなColor・PurchasePrice・AssetTypeという列があるリストを作成しました。

使用したプロンプト
以下の基準を満たすODataクエリを作成して
- 'AssetType'が'デスクトップ'
- 'Color'が'Black'
- PurchasePriceが80000以上
実行結果
Copilotに指示し、作成されたODataフィルタークエリをそのままコピーして、「複数の項目の取得」アクションのクエリに貼り付けて、フローを実行しました。

以下のように、フィルタリングされた2つの結果を確認できました。

PowerFx式の作成
Copilotを使って、PowerFxの式を作成してみました。
※ PowerFxとは?
Power Fx は Microsoft Power Platform 全体で使用されるロー コード言語です。 汎用、厳密な型指定、宣言型、そして関数型のプログラミング言語です。
Power Fx は、人が使いやすいテキストで表現されています。 作成者が Excel のような数式バーまたは Visual Studio Code のテキスト ウィンドウで直接操作できるローコード言語です。 ローコードの「ロー」は、言語の簡潔でシンプルな性質によるものであり、一般的なプログラミング タスクを作成者と開発者の両方にとって容易にします。 これにより、プログラミング経験のない人向けのコードなしから経験豊富な専門家向けの「プロコード」まであらゆる開発が実現し、新たに学ぶことや書き直しの必要がないので、さまざまなチームが協力して時間と費用を節約できます。
引用元:Microsoft Power Fx 概要 - Power Platform | Microsoft Learn
CopilotでPowerFxの式を作成する方法は以下の通りです。
1. パラメーターをクリックし、右側に表示される「fx」をクリックします。

2. PowerFx編集画面から「Copilotで式を作成する」をクリックします。

使用したプロンプト
今日の日付と変数「日付」差を日数で計算し、その結果を 'あと〇日' または '〇日前' の形式で表示する式を作成して
実行結果
プロンプトを入力し、「式を作成する」をクリックすると、「提案された式」にCopilotが作成した式が表示されます。「OK」をクリックして、作成された式を入力します。

「追加」をクリックして、式をアクションのパラメーターとして追加します。

実行した日付の8月7日基準で、「日付」変数に8月27日を入れると「20日前」、7月12日を入れると「あと25日」の結果が表示されることを確認できました。

フローやエラーの説明
フロー説明
まず、「メールが届いたら件名・本文・差出人をリストに保存してTeamsに通知する」という簡単なフローを1つ作成しました。
そのうえで、作成したフローに対してCopilotに説明を指示しました。

使用したプロンプト
このフローに対して説明して
実行結果
想定通りのフロー解説の回答が返ってきました。
※ Power AutomateでのCopilotは新デザイナーのみ使用可能のため、新デザイナーにデザイナーを変更しました。

エラー解説
実行履歴が「失敗」になっているフローに対して、Copilotを使ってエラーの原因把握や修正方法の確認をしてみました。
まず、以下のように「HTTP要求アクションのURIのチャネルIDが間違って失敗になったフローの実行履歴」を用意しました。

使用したプロンプト
エラーの原因と解決方法について教えて
実行結果
以下のように、エラーの原因(選択したチャネルが指定したチームに存在していません)と解決方法が回答として返ってきました。

利用シーン・メリット・注意点
利用シーン
- アダプティブカードのJSONやHTTP要求の本文など、作成が難しいパラメーターの作成
- 複雑なフローの解説の一歩として、Copilotからの解説を確認
- フローの実行履歴からエラーのトラブルシューティング
メリット
- CopilotがJSONやODataクエリ、PowerFx式などを自動生成してくれるため、非エンジニアでも高度なフローを構築することが可能です。
- 手動で調べたり書いたりする必要がなく、プロンプトを入力するだけで必要なパラメーターの作成やトラブルシューティングができるので、作業の効率を向上することができます。
注意点
- Power Automateの旧デザイナーではCopilot機能を使用することができません。
- Copilotが作成した内容が必ずしも正確とは限らないため、動作確認や修正が必要です。
- 特にIDや構文の細かい部分などは手動で調整する必要があります。
まとめ
今回の記事では、前回の記事に続けて、Power Automateで使用できるCopilotの機能についてご紹介しました。
前回の「フロー全体の生成」や「アクションの生成」と比較して、JSON、ODataクエリ、PowerFx式などのパラメーター生成においては、より高い精度と実用性を実感することができました。
特に、アダプティブカードのJSONやHTTP要求の本文など、複雑な構造も自然言語からスムーズに生成できる点が印象的でした。
また、フローの説明やエラーの原因分析なども直感的に行えるため、実務で活用することで作業の効率を向上することができるかと思います。
おまけ(Copilot Chatによる本記事の要約)
今回の記事では、Power AutomateにおけるCopilotの機能を紹介しました。Copilotを使えば、アダプティブカードのJSON、HTTP要求のURIや本文、ODataフィルタークエリ、PowerFx式などを自然言語から簡単に生成でき、非エンジニアでも複雑なフローを効率的に構築できます。さらに、フローの説明やエラー原因の特定もサポートし、業務の自動化をよりスムーズに進められます。一方で、生成結果は必ずしも完全ではないため、最終的な確認や微調整は必要です。それでも、Copilotを活用することで、作業効率や生産性の大幅な向上が期待できます。