こんにちは、インフラグループの人見です。
弊社グループでは、2025年にファイルサーバーをSharepoint Onlineに切り替え、
グループ全体でSharePointを積極的に活用し、業務効率化を推進しています。
しかし、「サイトの容量が100%に達すると新規作成や更新ができなくなる」ことが不便だと感じ、
不足している機能を補うアイディアとして、Power Automateを活用し、SharePointの容量状況を自動取得し、事業部門にメールで通知するフローを構築しました。
この仕組みにより、事業部門のユーザーが自分たちのサイトの使用状況を把握でき、容量不足による業務停止を未然に防ぐことが可能になります。
フローの目的は以下です
- 各事業部門に容量状況を定期的に通知
- 容量の整理や増加の判断材料を提供
- 管理者の負担を軽減し、部門の自律的な運用を促進
フローの構成
1. 「https://office.com」へSharePointの所有者のアカウントでアクセスし、アプリ>すべてのアプリ>PowerAutomateを開きます。

2. トリガー:スケジュール(Recurrence)
1 作成>スケジュール済みクラウドフローを選択し、フロー名を入れてから以下の設定値を入力します

2 毎日午前10時に実行されるように設定
3 「繰り返し」トリガーを使用し、頻度は「日次」、間隔は「1日」
3. SharePointのサイトから容量の情報を取得
1 「Recurrence」という1つ目のフローができるので、下の「+」をクリックします
2 SharePointの「SharePointにHTTP要求を送信します」というアクションを選択します
3 サイトアドレスの箇所に対象のサイトのURLを入力し、URIとヘッダー配下の入力します
4 URIには /_api/site/usage?$select=usage.StoragePercentageUsed を指定
5 詳細パラメーターの下矢印をクリックし、ヘッダーを選択します
ヘッダーには Accept: application/json;odata=verbose を設定


4. HTTPリクエストで取得した結果(サイト容量の利用率、利用容量)を取り出す
1 更に一番下の「+」をクリックし、「JSONの解析」アクションを選択します
2 Contentの箇所をクリックすると「
」が表示されるので
をクリックし、「本文」を選択します

3 Schemaには以下を入れます
{
"type": "object",
"properties": {
"d": {
"type": "object",
"properties": {
"Usage": {
"type": "object",
"properties": {
"Storage": {
"type": "string"
},
"StoragePercentageUsed": {
"type": "number"
}
}
}
}
}
}
}
5. 使用済み容量をバイトから(GB)へ計算
1 一番下の「+」をクリックし、「組み込みツール」の「データ操作」アクションを選択し「作成」をクリックします

2 アクション名をクリックし、「UsedStorageGB」にします
3 入力の箇所をクリックすると「
」が表示されるので
をクリックし、「div(int(body(‘JSON_の解析’)?[‘d’]?[‘Usage’]
[‘Storage’]), 1073741824)」と入力します
4 「更新」をクリックします

6. 使用率(%)の計算
1 一番下の「+」をクリックし、「組み込みツール」の「データ操作」アクションを選択し 「作成」をクリックします (手順5-①の図を参照)
2 アクション名をクリックし、「UsageRatePercent 」に変更します
3 入力の箇所をクリックすると「
」が表示されるので
をクリックし、「formatNumber(mul(body(‘JSON_の解析’)?[‘d’]?[‘Usage’]?[‘StoragePercentageUsed’], 100), ‘0.00’)」と入力します
4 「更新」をクリックします

7. 総容量(GB)の計算
1 一番下の「+」をクリックし、「組み込みツール」の「データ操作」アクションを選択し 「作成」をクリックします(手順5-①の図を参照)
2 アクション名をクリックし、「TotalStorageGB」に変更します
3 入力の箇所をクリックすると「
」が表示されるので
をクリックし、「formatNumber(div(div(int(body(‘JSON_の解析’)?[‘d’]?[‘Usage’]?[‘Storage’]), 1073741824), body(‘JSON_の解析’)?[‘d’]?[‘Usage’]?[‘StoragePercentageUsed’]), ‘0.00’)」と入力した後、「更新」をクリックします

8. 動的なHTMLコンテンツの生成
1 一番下の「+」をクリックし、「組み込みツール」の「データ操作」アクションを選択し 「作成」をクリックします(手順5-①の図を参照)
2 アクション名をクリックし、「FormattedBody」に変更します
3 入力の箇所をクリックすると「
」が表示されるので
をクリックし、以下を入力します
4 「更新」をクリックします
concat(
'<p>使用済み容量: ', string(outputs('UsedStorageGB')), ' GB</p>',
'<p>使用率: ', string(outputs('UsageRatePercent')), ' %</p>',
'<p>総容量: ', string(outputs('TotalStorageGB')), ' GB</p>'
)

9. メール送信(Outlook)
1 「メールを送信」アクションを使って、事業部門に通知
2 件名、本文を入力します(宛先にはメールアドレスを入力してください)
容量、利用率、総容量は
から「FormattedBody」の本文を選択します

10. 実行結果
テストを実施するために、手順9の②で宛先を自分自身のメールアドレスに設定すると、以下のメールが届きました。

まとめ
Power Automateを活用することで、SharePointの見えづらい情報も可視化でき、業務効率化と情報共有の促進につながります。今後も自動化を活用し、よりスマートな運用を目指していきたいと思います。
