Microsoft 365 管理センターにあるメッセージセンターの情報を Power Automate で取得して管理する方法を整理します。
利用する API
利用する API は以下です。
こちらの API を利用するため、Entra ID でアプリ登録をします。
利用するアクセス許可は以下の通りです。
管理者の同意を付与します。
今回は、シークレットを作成して値を控えておきます。
※漏洩しないようしっかり管理してください
また、テナント ID やアプリ ID も控えておきます。
SharePoint リスト
データを溜めておくリストを用意します。まず、最終実行時刻を控えておきます。初期値は 1 週前とか 1 カ月前にしておきます。
そして、以下のリストにデータを保存するようにします。
Power Automate
フローの全体像は以下の通りです。手動トリガーですが、実運用になるとスケジュールトリガーにする想定です。
まず、情報の取得は以下のような感じです。今回はサービスでもフィルターをしております。サービス名は、Copilot で調査したり、1 回フィルターせず実行して、結果から確認するのでも良いかと思います。控えておいた、テナント ID、アプリ ID、シークレットを指定します。
また、lastModifiedDateTime を基に、現在の日時と最後の実行日時の一覧だけ取得するようにしています。
■URI
https://graph.microsoft.com/v1.0/admin/serviceAnnouncement/messages?$select=id,title,services,category,severity,startDateTime,lastModifiedDateTime,details,body&$filter=(services/any(s:s eq 'Exchange Online' or s eq 'SharePoint Online' or s eq 'Microsoft Teams' or s eq 'OneDrive for Business' or s eq 'Power BI')) and lastModifiedDateTime ge @{outputs('項目の取得_LastRun')?['body/LastRun']} and lastModifiedDateTime lt @{body('現在の時刻')}
&$orderby=lastModifiedDateTime desc
一度実行して、その結果をサンプルとして、JSON の解析をします。
サービス一覧を意味する Services は、配列のため、文字列に変換しています。
以下の通り、詳細なメッセージ (content) は HTML のため、変換します。
動的な値を使うとなぜか [Apply to each] が追加されちゃうので、手動で入れます。
items('Apply_to_each')?['body']?['content']
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#admin/serviceAnnouncement/messages/$entity",
"startDateTime": "2025-02-07T23:03:35Z",
"endDateTime": "2025-11-24T07:00:00Z",
"lastModifiedDateTime": "2025-08-19T13:37:56.66Z",
"title": "(Updated) Microsoft Teams: New keyboard shortcut for adding emojis",
"id": "MC1000269",
"category": "stayInformed",
"severity": "normal",
"tags": [
"Updated message",
"New feature",
"User impact"
],
"isMajorChange": false,
"actionRequiredByDateTime": null,
"services": [
"Microsoft Teams"
],
"hasAttachments": false,
"viewPoint": null,
"details": [
{
"name": "RoadmapIds",
"value": "369345"
},
{
"name": "FeatureStatusJson",
"value": "{\"369345\":[{\"RoadmapId\":369345,\"Platform\":\"Desktop\",\"Status\":\"FeatureRolloutStatusNotSupported\",\"LastUpdateTime\":\"2025-07-22T00:38:24.9890673Z\",\"LatestRing\":null},{\"RoadmapId\":369345,\"Platform\":\"Mac\",\"Status\":\"FeatureRolloutStatusNotSupported\",\"LastUpdateTime\":\"2025-07-22T00:38:24.9890669Z\",\"LatestRing\":null},{\"RoadmapId\":369345,\"Platform\":\"All\",\"Status\":\"FeatureRolloutStatusNotSupported\",\"LastUpdateTime\":\"2025-07-22T00:38:24.9890676Z\",\"LatestRing\":null}]}"
},
{
"name": "Summary",
"value": "Microsoft Teams will introduce a feature allowing users to insert emojis by typing words surrounded by colons (e.g., :smile:). Rolling out from June to October 2025 across various environments, it requires no admin action and will be enabled by default on Windows and Mac desktops."
},
{
"name": "Platforms",
"value": "Desktop, Mac"
}
],
"body": {
"contentType": "html",
"content": "<p>Updated August 19, 2025: We have updated the timeline. Thank you for your patience.\n</p><p>Coming soon: We are excited to announce a new feature in Microsoft Teams that allows users to insert emojis in the compose box by typing a word surrounded by colons. For example, :smile: will turn into the smiling face emoji. Users can soon add any emoji, including custom ones, for faster and easier personal expression.</p><p>This feature applies to Teams for Windows desktop and Windows for Mac desktop.\n</p><p>This message is associated with Microsoft 365 Roadmap ID <a href=\"https://www.microsoft.com/microsoft-365/roadmap?filters=&searchterms=369345\" target=\"_blank\">369345</a>.\n</p><p>[When this will happen:]\n</p><p>Targeted Release: We will begin rolling out early June 2025 and expect to complete by mid-June 2025.</p><p>General Availability (Worldwide): We will begin rolling out early September 2025 and expect to complete by mid-September 2025.\n</p><p>\n</p><p>General Availability (GCC): We will begin rolling out mid-September 2025 and expect to complete by late September 2025.</p><p>General Availability (GCC High): We will begin rolling out late September 2025 and expect to complete by early October 2025.</p><p>General Availability (DoD): We will begin rolling out early October 2025 and expect to complete by mid-October 2025.</p><p>[How this will affect your organization:]\n</p><p>This feature will be available by default.\n</p><p><a href=\"https://cxcs.microsoft.net/file/ccp/en-us/c7fcab0a-41a6-4848-96cb-049addb05d98\" target=\"_blank\">Watch the video: Use colons to insert emojis</a> (0:04 minutes)\n</p><p>[What you need to do to prepare:]\n</p><p>This rollout will happen automatically by the specified date with no admin action required before or after the rollout. You may want to notify your users about this change and update any relevant documentation.\n</p><p>Learn more: <a href=\"https://support.microsoft.com/office/send-an-emoji-gif-or-sticker-in-microsoft-teams-174248c9-e64d-4de1-9f41-3199cc0751ad\" target=\"_blank\">Send an emoji, GIF, or sticker in Microsoft Teams - Microsoft Support</a> (will be updated before rollout)</p>"
}
}
あとは、こちらを SharePoint リストに保存して、[Apply to each] を抜けた後に実行時刻をアップデートします。
実運用に向けた改良
原文英語のため、AI Builder で翻訳をしたり、独自の判断基準を基に自動判定などをして、その情報もリストに蓄積することができると思います。
また、あまり前から情報を取得すると、行数かなり多くなり、1000 件超えてページングで情報取得することになると考えられるため、期間を短くしたり、上述の通り、対象サービスでフィルターすることをお勧めします。サービスでフィルターしなかった場合、1 カ月だけでもかなりのデータ量になりそうです。
※AI Builder 挟む場合、クレジットもかなり増える可能性あります














