はじめに
社内でいろんなイベントがありますが、最近は
Formsを使って参加者を募集されるものが多いですよね。
勉強会、ラウンドテーブル、情報交換会 等など
せっかく申し込んでも、その予定をご自身のスケジュールに入れ忘れて、他の予定を入れてしまったり、他の人に予定をおさえられたり
そんな時に無精で他力本願な私はすぐに思います。
自分でスケジュール入れるの面倒だなぁ~!
せっかくFormsに参加って入れたんだから、私の予定をおさえてよ。
今回は、私と違って、お・も・て・な・しの心あふれる貴方が、この面倒な作業をやってくれるように、Formsで参加と回答したら、参加者のカレンダーに予定を入れてくれる仕組みの作り方を紹介します。
そう。私が楽をするために
大雑把な手順
大雑把な手順としては次の通りです。
- 宛先は誰かモルモットを召喚し先に会議の予定を入れる
- 発信した招集メールのIDを取得する
- イベント募集用のFormsを作成する
- Formsトリガーで会議の予定を転送するフローを作る
順番に見ていきましょう。
手順1:誰かモルモットを召喚し先に会議の予定を入れる
Outlookのスケジュール機能を使って、誰か身近な人(実際は参加しなくても可。あとで取り消せばいいので)を召喚してイベントの予定を作成し発信します。
このようにすると、送信済みフォルダに会議招集メールが保管されます。
手順2:発信した招集メールのIDを取得する
ここからは、Power Automateの登場です。
https://make.powerautomate.com/ にアクセスしたら、
左側の【+ 作成】 ⇒ 【インスタントクラウドフロー】を選びます。
インスタント クラウド フローを構築するというダイアログが表示されたら、フロー名を付けて、トリガーする方法は『フローを手動でトリガーする』をひとまず選んでおきます。
(最終的には変更します)
新しいフローの作成画面が表示されたらアクションの追加から、Office 365 Outlookを選びます。
するとこのコネクタで利用可能なアクションの一覧が表示されるので、【メールを取得する(V3)】を選びます。
イベントの取得 (Vx)ではないです。
アクションを追加すると、パラメータ設定ペインが左側に表示されるのでフォルダに『送信済みアイテム』、未読メッセージのみを取得するに『いいえ』を選択します。
フローはすぐに完了しますので結果を確認します。
先ほど追加したメールを取得するアクションをクリックすると左側に結果が表示されます。その出力セクションの【未加工出力の表示】をクリックすると右側に取得したメッセージの一覧がディフォルトだと10件JSONの形式で取得出来ているはずです。その中から件名や宛先などから会議招集の送信結果を選び、"id"の値をすべてコピーします(長いです)
これでメッセージIDの取得は完了です。
続いて、このメールを転送するようにフローを改修していきます。編集モードにしたら、メールを取得アクションは削除しちゃってください。かわりに【メールの転送(V2)】アクションを追加します。
パラメータのメッセージIDには先程、JSONからコピーしたIDの値をペーストします。
そして、宛先欄にご自身のメールアドレスをセットしたら、またテスト実行してください。
Outlookを開いて、正しく送信されているかを確認します。
ご自身にメールすると受信フォルダではなく、送信済みフォルダに保管されるので要注意です。
このように件名の先頭に"FW:"がついて、会議招集メールが転送されたことを確認できます。
To be Continued...
長くなってきたので続きは次回公開とします。
お楽しみに!