今回は久しぶりにPowerAutomateの話題です。
PowerAutomateで作成したTeams会議の予定をPowerAutomateで変更するにはどうしたらよいかというお話です。
Problem
PowerAutomateのワークフローでTeams会議を作成することにしました。
何らかの事情で会議の開催日時などを変更したくなったとします。
変更作業もできれば手作業ではなく、PowerAutomateワークフローで行いたいものです。
ところが、PowerAutomateのTeamsのアクションの一覧には「Teams会議の作成」はあっても「Teams会議の変更」や「~更新」はありません:
組織でPowerAutomateを使用する場合、ワークフローは専用のユーザー(個人用途とは別のユーザー)を使用することも多いはず。
一方、「Teams会議の作成」アクションで送信される会議出席依頼の差出人はワークフローを実行するユーザー(ワークフローの「接続」で設定されているユーザー)になります。
会議の変更を人手で行おうとすると、当該ユーザーでM365のTeamsやOutlookにログインする必要が出てきます。これはとても面倒です。
Solution
Outlookのアクション、「イベントの更新」を使用します:
「会議」と「イベント」の違いがわかりにくいところですね。
またTeamsのアクションでないことも少しわかりにくいところなのですが、会議出席依頼そのものは元来Outlookのメールなので、それに紐づく会議(イベント)の情報の更新にOutlookのアクションを使うのは理にかなってはいます。
「イベントの更新」アクションの ID
欄には、「Teams会議の作成」アクションの出力に含まれる id
を指定します(outputs('Teams_会議の作成...')?['body/id']
):
あるワークフロー(ワークフローA)で会議を作成したらそのID(id)をどこかに保存しておいて、別のワークフロー(ワークフローB)で会議を変更するときにそのID(id)を取り出して使用する─このようなやり方になるでしょう:
他の「~更新」系アクションと同じく、「変更するところだけ入力欄に入力」ではなく「元と変わらないデータも含めて必要な情報はすべて入力欄に入力」です。
このため例えば「変更したいのは日時だけ」だとしても、「出席者」など変更後の会議(会議出席依頼)で必要となる情報はすべて入力する必要があります。
このためすぐ上で示した手順では「イベントの取得」を行っています。