初めまして、私はPower Platformを利用して業務アプリの制作や支援を主に行っています。
最近PCに搭載されたモデルが発表され、世間の注目を集めているCopilot(副操縦士の意)は日々進化を遂げています。そこで、Copilot先生と共にステップバイステップでPower Automate Flowを作成する試みに挑戦し、その過程で得られるコツを紹介します。
ターゲット:一般事務など・開発初心者
Copilotの制限事項など
Power Platform For Copilotは現段階でプレビュー版となっています。
公式ドキュメントから
- 利用できるコネクタは最も標準的なものに限られます。
- 言語は英語が推奨されています(日本語もある程度理解します)
今回の目標
今回は、SharePoint REST APIを使用してSharePoint Groupのメンバー一覧を取得するフローを敢えて構築することにします。トリガーを日本時間の毎日00:00に設定し、出力形式をExcelブックにします。
テンプレートは、Power Automateが効率的な構成を事前に用意した、多くの人に適するフローです。これを活用しない手はありません!基本的には、このテンプレートを自分の好みに合わせて修正し、独自の業務フローを作成するのが最も迅速な方法です。今回は、このPOINTを無視して目的の業務フローをCopilotが提示するコネクタを使って組み立ててみます。
フロー構築時のアプローチポイント
私はバックエンドエンジニアリングに精通しており、日常的にプログラミングを行っています。プログラミングのアプローチには、主に2つの重要な考え方(アルゴリズム)があります。
アプローチポイント | 目的 | プログラマ比重 | 設計者比重 | 依頼傾向 |
---|---|---|---|---|
結果 | 結果が明確であるが、どのような手順を踏めばいいかわかっていない場合に主に用いられる。 | 極大 | 極低 | 極多 |
手順 – 結果 | 明確な仕様が定まっている場合。 | 中 | 高 | 極少 |
Copilotには設計者の立場で提案していただこうというのが狙いです。
やりたいことをそのまま英文化してフローを新規作成してみる
やりたいことを要約すると、毎日00:00に所属するテナントのSharePointグループとメンバーの一覧を取得し、その情報をExcelに出力します。
これをGoogleさんの翻訳で英文化すると
Acquires the list of SharePoint groups and members of the tenant to which it belongs every day at 00:00, and outputs that information to Excel.
になりました。(私は英語力が乏しいので正しいかは不明です😢)
![](https://office365room.com/wp-content/uploads/2024/07/329405a42d4361370c07e04028006a8a-e1722298280984-1024x517.png)
提示された内容に SharePoint Group の文字がないのであきらめて毎日00:00にExcelBookを作るとしてフローを作成します。
Create an ExcelBook at 00:00 every day
![](https://office365room.com/wp-content/uploads/2024/07/f82d16dc4d12fb4845e61e7e95ce2858-e1722298092649-1024x516.png)
何が書いてあるのかわからないですが一番上を選択してみます。
![](https://office365room.com/wp-content/uploads/2024/07/image-1-e1722298399515-1024x516.png)
タイマーで起動されるトリガーと何やらExcelBookに対するアクションコネクタがセットで提示されました。
これで良さそうなので[Next]をクリックして作成します。
![](https://office365room.com/wp-content/uploads/2024/07/472db8951cc8eed0de9bf40a64322a79-1024x518.png)
接続を確認されますのでこのまま[Create flow]をクリックします。
![](https://office365room.com/wp-content/uploads/2024/07/be85b0d080cbe0ddd48176fb4bd35f64-1024x517.png)
追加の手順を確認する
Excel に関するコネクタにプロパティが足りないみたいですのでクリックして確認します。
![](https://office365room.com/wp-content/uploads/2024/07/84e5c45f639427d7e4a9aa9e2972cc8d-1024x517.png)
どうやら、「保存場所:SharePointのテナントやOneDriveなど」とフォルダやライブラリ、ファイル名、スクリプトが必要なようです。このままではプログラマの負担はまだ大きいでしょう。Copilot先生、どのような機能を追加すればよいか教えてください。
OneDriveを使用する場合は、自分のOneDriveに指定することで問題が解決します。自分が所属するSharePointライブラリに保存したい場合は、事前にSharePoint管理者に連絡する必要があります。
今回は保存場所に迷いたくないので、自分のOneDrive for Businessのドキュメントフォルダ(ライブラリ)に保存することに決めました。
画面右側のCopilotに「SharePoint Groups」の取得を希望する旨を伝えましょう。
#ME:
I want to get SharePoint Groups
和文:SharePoint Groupsを取得したい
![](https://office365room.com/wp-content/uploads/2024/07/c954a908bf17ef1e9cd26bd7269d424a-1024x517.png)
Office365Groupsコネクタを提示されましたが、これではSharePoint Groupsは取得できません。結果はセキュリティグループかMicrosoft 365グループのいずれかになります。
ここでCopilot先生はもう役に立たないのか?
別の方法を探してみます。
#ME:
It seems that SHarePointGroups cannot be obtained with the presented connector
和文:提示されたコネクタではSHarePointGroupsを取得できないようです
何やら質問が理解できなかったようです。
#Copilot
Sorry, I couldn’t understand your question. Please rephrase it and try again. I’m able to answer questions that are about Power Automate and are written in English.
質問を変えてみます。
#ME:
Please tell me the connector to retrieve SharePoint Groups
和文:SharePoint グループを取得するためのコネクタを教えてください
#Copilot
To retrieve SharePoint Groups in Microsoft Power Automate, you can use the “Send an HTTP request to SharePoint” action. This action allows you to make a REST API call to SharePoint and retrieve information, including SharePoint Groups. You can specify the endpoint URL and method to interact with SharePoint’s API and retrieve the necessary data.
目的の答えを得られたので、Copilot先生に””コネクタを挿入してもらいます。
#ME:
Send an HTTP request to SharePoint
#Copilot
Added this action:
- Send an HTTP request to SharePointSharePoint
![](https://office365room.com/wp-content/uploads/2024/07/fef7c0f2ef441b514c25b23d94fb3cc9-1024x517.png)
挿入された”Send an HTTP request to SharePointSharePoint”コネクタのプロパティを修正します。
![](https://office365room.com/wp-content/uploads/2024/07/8cc2de751f7751d028871189b7f1f8b1-1024x517.png)
Site Addressには取得したいSharePoint Groupsが存在するサイトを選択します。
UrlにはSharePoint REST APIのエンドポイントを入力するのですが、どのように入力したらいいのでしょうか?Copilot先生に聞いてみます。
#ME:
What should I write in the “Send HTTP request to SharePoint” URL to retrieve SharePoint groups?
和文:SharePoint グループを取得するには、「SharePoint に HTTP リクエストを送信する」URL にどのような内容を記述すればよいですか?
#Copilot
To retrieve SharePoint groups using the “Send HTTP request to SharePoint” action in Power Automate, you would typically use the following URL format:
_api/web/sitegroups
This URL will help you retrieve information about the SharePoint groups within the site.
明確な答えが返ってきました!
_api/web/sitegroups で取得できるらしいです。
本当に取得できるのか確認します。
確認するために一度エラーをすべて除去します。
[Run Script]コネクタを削除します(スクリプトに何を記述するか現時点では不明ですので、その有用性も確かではありません)
保存してテストを行います。
![](https://office365room.com/wp-content/uploads/2024/07/bae7ff0432d63da844ebb62c3ba59b9b-1024x517.png)
無事に取得できたようです。
完成を目指す
この結果を基にExcelに出力する手順を確認します。
#ME:
What steps are required to output the results of an HTTP request to SharePoint to Excel?
和文:SharePoint への HTTP リクエストの結果を Excel に出力するにはどのような手順が必要ですか?
#Copilot
To output the results of an HTTP request to SharePoint to Excel using Power Automate, you can follow these steps:
和訳:Power Automate を使用して SharePoint への HTTP 要求の結果を Excel に出力するには、次の手順を実行できます。
- Create a flow in Power Automate that triggers the HTTP request to SharePoint.
- Use the “Get items” action to retrieve the data from SharePoint.
- Add an action to create a new Excel file or update an existing Excel file with the retrieved data.
- Map the SharePoint data to the Excel file columns.
- Run the flow to export the SharePoint data to Excel.
1番は完了しましたので、2番以降をCopilot先生と共に設置し、完成を目指します。
この記事を書いた人
![](https://office365room.com/wp-content/uploads/2024/04/471BB117-scaled-e1712813107430-150x150.jpg)
コメント