Power Automateを使ってMicrosoft Teamsのステータスを自動更新する方法
Microsoft Teamsのステータスを自動的に切り替えられるようになると、在宅勤務中でもPCに縛られた感覚が薄れ、仕事のリズムにメリハリがつきます。もちろんTeamsアプリを開いて手動でステータスを変更することもできますが、アプリを開かずにステータスを更新できたら、もっと便利だと思いませんか?
Power AutomateはMicrosoft 365向けに設計されたツールで、タスクやワークフローを自動化することで時間の節約を実現します。「フロー」と呼ばれるワークフローを作成・自動化したことがない方でも心配はいりません。人気アプリ向けのテンプレートが多数用意されているためです。
ステータスを設定する
本ガイドは、Microsoft MVPであるDamien Bird氏が公開した「Power Automate経由でTeamsのステータスを更新する方法」の記事をもとに作成しています。まず、同氏が冒頭で述べていた注意点についても改めてお伝えします。
この手法は非公式(ドキュメント化されていない)ものであり、本番環境のフローには使用しないでください。動作はしますが、常に成功するとは限らず、1日に実行できるフローの回数にも制限があります。期待値は控えめにしておくことが重要です。
Damien Bird氏の記事内で紹介されていたリンクは以下の通りです。
それでは、Power AutomateでMicrosoft Teamsのステータスを設定する手順を見ていきましょう。
1. Power Automateの左側ナビゲーションペインから[マイ フロー]をクリックします。
2. [新しいフロー]をクリックします。
3. ここで3つの選択肢が表示されます。[自動化されたクラウド フロー]、[インスタント クラウド フロー]、[スケジュール済みクラウド フロー]のいずれかです。この例では[インスタント クラウド フロー]を使用します。
4. [フロー名]を入力し、[このフローをトリガーする方法を選択してください]の下にあるオプションを選択します。この例では[フローを手動でトリガーする]を使用します。完了したら[作成]をクリックして確定します。
5. [作成]をクリックすると、新しいフローが作成され、手動トリガーから始まります。次のステップを選択する必要があるので、[次のステップ]をクリックします。

6. 検索ボックスに「SharePoint」と入力し、スクロールして[SharePoint に HTTP 要求を送信します]をクリックします。
Microsoft Teamsのステータスを設定する
1. 次の画面で、SharePointへのHTTP要求の内容を入力します。設定内容は下の画像と完全に同じになるようにしてください。

フローの本文(body)内の「availability」(可用性)の値を変更することで、ステータスを「Available」(利用可能)、「Busy」(取り込み中)、「BeRightBack」(一時退席中)、「DoNotDisturb」(応答不可)、「Away」(退席中)に切り替えられます。なお、オフライン/退勤のオプションは筆者の環境では動作しなかったため、本ガイドには含めていません。
2. 完了したら[保存]をクリックします。
3. これでフローの準備が整ったので、テストを行います。テストは推奨されるだけでなく、最初のフロー作成時には必須の手順です。[テスト]をクリックします。

4. 次の画面で、テストの実行方法を指定します。[手動](自分でトリガーする)または[自動](別のフローの前回の実行に基づく)のどちらかを選択します。初回のフロー設定では唯一の選択肢である[手動]を選び、[テスト]をクリックして確定します。
5. 権限レベルによっては、フローを機能させるためにMicrosoftアカウントへのサインインを求められる場合があります。筆者の場合は必要な権限がすでに付与されているため、緑色のチェックマークが表示され、すぐに実行できる状態でした。[続行]をクリックします。

6. 最後に[フローの実行]をクリックしてフローを実行します。

[実行]をクリックすると、フローが正常に開始されたことを示す緑色のチェックマークと、フローの実行ページへのリンクが表示されます。フロー実行後にMicrosoft Teamsのステータスが実際に変わったかどうかも確認してみてください。
ステータスメッセージを設定する
ステータスメッセージを設定するには、上記で作成したフローとほぼ同じ内容のPower Automateフローをもう1つ作成するだけです。異なる点はごくわずかです。完成イメージは以下の通りです。

カスタムのMicrosoft Teamsステータスコネクタを作成する
本ガイドの調査中に、別のMicrosoft MVPであるLoryan Strant氏による非常に興味深いSpotifyプロジェクトを見つけました。これは、That API Guy氏が詳細なガイド付きで公開しているSpotifyカスタムコネクタを活用し、Spotifyで再生中の楽曲名とアーティスト名をMicrosoft Teamsのステータスとして表示するというものです。
同氏のガイドに沿って進めていくうちに、さらに別のMicrosoft MVPであるLuise Freese氏が、より効率的なフローのソリューションを提供していることを発見しました。最終的に筆者がたどり着いたのは、両氏の成果を組み合わせ、試行錯誤を重ねた結果です。両氏のガイドには動的な値や式の役割に関する重要な説明が欠けていましたが、そもそも初心者向けのガイドではないため仕方ありません。両方のガイドを参考に、Freese氏のソリューションにより近い形でSpotifyカスタムコネクタとMicrosoft Teamsを連携させることができました。もしより優れたソリューションをお持ちの方がいれば、ぜひ共有してください。
もっと簡単な方法をお探しの場合は、以下のコードをそのままコピーして利用できます。
1. Microsoft Teamsのステータスを「退席中」に設定する
{"id":"6e453f83-f22d-4715-bdb6-5cbe7b44b6fa","brandColor":"#036C70","connectionReferences":{"shared_sharepointonline":{"connection":{"id":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline/connections/5d9bafd92370456789caa39b6c3f2277"}}},"connectorDisplayName":"SharePoint","icon":"https://connectoricons-prod.azureedge.net/releases/v1.0.1554/1.0.1554.2707/sharepointonline/icon.png","isTrigger":false,"operationName":"Set_Microsoft_Teams_status_to_Away","operationDefinition":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_sharepointonline","operationId":"HttpRequest","apiId":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline"},"parameters":{"dataset":"https://presence.teams.microsoft.com","parameters/method":"PUT","parameters/uri":"/v1/me/forceavailability","parameters/headers":{"content-type":"application/json"},"parameters/body":"{\n\n\"availability\": “Offline”, \n\"activity\": “OffWork”\n\n}"},"authentication":{"type":"Raw","value":"@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"}},"runAfter":{},"metadata":{"operationMetadataId":"e3433a3c-7e7c-40d5-b804-696b2b1d0398"}}}
2. ステータスメッセージを更新する
{"id":"638a81c6-7d9b-481a-8875-97a08dcf18b7","brandColor":"#036C70","connectionReferences":{"shared_sharepointonline":{"connection":{"id":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline/connections/5d9bafd92370456789caa39b6c3f2277"}}},"connectorDisplayName":"SharePoint","icon":"https://connectoricons-prod.azureedge.net/releases/v1.0.1554/1.0.1554.2707/sharepointonline/icon.png","isTrigger":false,"operationName":"Set_Microsoft_Teams_status_message_note_","operationDefinition":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_sharepointonline","operationId":"HttpRequest","apiId":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline"},"parameters":{"dataset":"https://presence.teams.microsoft.com","parameters/method":"PUT","parameters/uri":"/v1/me/publishnote","parameters/headers":{"content-type":"application/json"},"parameters/body":"{\n\n\"message\": "I am away from my desk. I went to grab lunch"\n\n}\n "},"authentication":{"type":"Raw","value":"@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"}},"runAfter":{},"metadata":{"operationMetadataId":"05f65dba-6bef-458a-81ac-b4fc08c290db"}}}
これらのコードは、Power Automateで[新しいステップ] > [マイ クリップボード]を選択することで直接貼り付けられます。Power Automateアカウントのセットアップ時に、クリップボードへ直接貼り付けてください。
このフローの設定について質問がある場合、サポートが必要な場合、アドバイスや改善案をお持ちの場合は、Twitterでお気軽にお問い合わせください。
-
Microsoft TeamsでPower Virtual Agentsチャットボットのトピックを作成・編集する方法
前回のガイドで、Microsoft Teams上にPower Virtual Agents(PVA)チャットボットを作成する方法を学びました。次に気になるのは、ボットにコンテンツを追加する方法ではないでしょうか。トピックの作成方法は主に3つあります。Microsoftが提供するテンプレートをカスタマイズする方法、ゼロから新規トピックを作成する方法、そして既存のヘルプサイトから提案を取り込む方法です。 なお、前回のガイドでボット作成時に問題が発生した場合は、公式ドキュメントの「既知の問題」ページを確認してみてください。 Power Virtual Agentsチャットボットにおける「トピック
-
Microsoft Plannerでワークフローを改善する方法|Office 365標搭載のタスク管理ツール活用ガイド
職場やビジネスで Microsoft Office 365 を契約しているなら、業務効率を高めるために活用できる優れたツールが数多くあります。これまでこのサイトでは、Teams、Outlook、OneDrive、OneNote などを紹介してきましたが、今回は Microsoft Planner に注目してみましょう。Planner はプロジェクト管理ツールであり、Trello や Asana といった無料・有料サービスとよく似た使い勝手を持っています。最大の魅力は、追加料金なしで Office 365 に標準搭載されている点です。組織内の重要なタスクを把握し、ワークフロー全体を改善するのに役