ささみ学習帳 - sasami's study book

ささみ学習帳

Microsoft365 や Power Platform について学んだこと・アイデアのメモ

Teams会議を作成した時に会議オプションを自動で設定するPower Automateクラウドフロー(1) - 概要編💎

はじめに

今後Teamsの会議オプションがカテゴリ分けされて見やすくなるそうです!そんな訳で今回は会議オプションの使いづらい点を何とかできないかというネタです。

 

会議オプションを設定するのは…ちょっと手間

会議オプションはカテゴリで整理されるくらいに多数の設定項目があります。会議予定を登録する際に会議オプションまで設定できるのは、TeamsのデスクトップアプリまたはWebでカレンダーから会議を登録した場合に限られます(…そうですよね?)。

モバイルTeamsアプリや新しいOutlook、 私のようにサードパーティ製のスケジューラー製品を愛用している環境の場合では、予定登録後に会議オプションを設定する必要があり、忙しい時には必要な会議オプションを忘れがちです。

会議オプションの既定値を変更したりというのは標準機能ではできないようですが、Power Automate クラウドフローをつかって自分が予定を作成した時に会議オプションを自動で設定することを試みてみました。

 

必要なもの

  • Power Automate Premium等の単体ライセンス
    • カスタムコネクタを使用するため必要です
  • Entra IDへのアプリケーション登録ができるアクセス許可
    • Graph APIを利用しているため必要になります
    • 権限がない場合は管理者さんに相談が必要になります
  • カスタムコネクタにちょっとだけ慣れている
  • Graph API にちょっとだけ慣れている
  • 予定表周りをPower Automate等で操作することにちょっとだけ慣れている

 

今回のフローで実現できること

自分でTeams会議を新規登録した時に会議オプションを自動設定する。
会議オプションにはいろんな設定がありますので、今回はその中から共同開催者の自動設定を行います。共同開催者に誰を選定するかの条件は今回は"ランダム"です。実際運用する場合は、特定の誰かを指名できた方が使いやすいですね。

一例として共同開催者を設定するだけですので例えば「自動的にレコード」を必ずオンにするといった使い方もできそうです。

 

フロー全体図

今回はGraph APIを利用しますがほぼカスタムコネクタ経由となりますので、フロー自体は非常にシンプルになります。

 

フローの概要

ざっくり5つのステップです。

1.[Office 365 Outlook]新しいイベントが作成されたときトリガーでフロー開始

Office 365 Outlook コネクタの予定が登録されたことをトリガーにしてフローを開始します。

2.トリガーの出力の情報から会議URLを取得する

トリガーの出力にはTeams会議としての情報はさほど含まれていません。Office 365 Outlook コネクタの「HTTP要求を送信する」アクションでGraph APIを利用してイベントの詳細を取得すると、会議のURLを取得することができます。ただし、会議オプションの情報は含まれていませんので3の処理が必要になります。

※トリガー出力の"body"にTeams会議URLが含まれていますが、ここに含まれている会議URLが予定のTeams会議でない可能性(他社から招待されたTeams会議のURLを予定に張り付けたケースなど)も考慮してあえてAPIで確実な会議URLを取得しています。

3.会議URLをつかってカスタムコネクタ(Graph API)で会議オプションの情報を取得

今回は現状の会議出席者情報を取得しその中から共同出席者を選定するため、一旦会議オプションの情報を取得しています。

4.共同主催者を設定する

今回は、共同責任者に設定できない外部ゲストなどを除外した参加者の中からランダムで選択しているだけです。

5.カスタムコネクタ(Graph API)で会議オプションを更新する

最後に共同主催者を反映しています。

 

制限事項

「繰り返しの予定」には対応させていません

Exchange予定表の構造は非常に複雑です。繰り返しの予定にも対応させた場合に想定外の動作をする可能性がありますので、敢えて繰り返しなしの場合のみ動作するようにしています。この辺りを深く知りたい方はやまさんこちらをご覧いただくと闇が垣間見えるかと思います。

qiita.com

 

Teams会議以外の会議が混在しているケースは考慮していません

Teamsでは、Teams会議だけでなくzoom等他のオンライン会議も管理することが可能だそうですが、環境がなくどのような動作となるか未確認です。今回のフローはTeams会議のみをTeamsで管理している状態でテストしています。

 

続きます

ここから長くなりますので複数記事に分割予定です。

Teams会議を作成した時に会議オプションを自動で設定するPower Automateクラウドフロー(2) - カスタムコネクタ編💎」につづきます。