3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

会議開始前にOneNoteに会議の基本情報入り議事録テンプレートを追加する

3
Last updated at Posted at 2026-08-06

はじめに

ごきげんよう、百合宮桜(Miyu)です(*'▽')
チームの定例会議や商談などで「議事録を OneNote にまとめて、関係者に共有しよう」と思った時、毎回開催日や出席者を手入力していませんか?
1回なら大した作業ではありませんが、毎日のように会議があると意外と手間がかかります。特に出席者が多い会議では、出席者を確認しながら転記するだけでも時間が取られますよね(´・ω・`)
そこで本稿では Outlook の予定表に登録されている会議情報 を利用して、OneNote に議事録テンプレートを 自動作成 する方法を紹介します。

やりたいこと

今回はPower Automateで会議の開始5分前に出席者や開催日など会議の基本情報が記入された議事録テンプレートを OneNote へ追加します。

image.png

このフローを作ると、会議の直前に自動で会議の基本情報が入った議事録テンプレートを作成できるため、会議の準備時間を大幅に削減することができます。

本フローは自分の Outlook 予定表に登録された会議でのみ動作します。
自分の Outlook 予定表にない会議では動きません。
また、自分の予定表にあったとしても、ゲスト(自社テナントユーザー以外の方)が出席する会議ではうまく動作しない可能性があります。ご注意ください。

事前準備

議事録を保管するノートブックに以下を予め作っておいてください。

  • 議事録を保管するセクション

フローの概要

今回は以下のステップで実装しました。

  1. 議事録作成時間の設定
  2. 開始・終了日時を日本時間に変換
  3. 主催者の氏名を取得
  4. 出席者のユーザープリンシパルネーム(メールアドレス)の取得
  5. 出席者の氏名を文章化
  6. 会議データ入り議事録の作成

image.png

1つずつ説明します。

実装方法

議事録作成時間の設定

トリガーは Office 365 Outlook コネクタ「予定しているイベントがまもなく開始されるとき」 を利用しています。詳細については以下の Microsoft Learn をご確認ください。

設定はスクリーンショットの通りです。

image.png

CalendarID はトリガーでどの予定表を使用するかという設定です。利用できる Outlook 予定表が表示されますので、選択してください。 Calendar が普段使いしている予定表である場合が多いです。

ルックアヘッドタイムは会議の開始何分前に実行するかという設定です。
本稿では 5分前 に設定しました。しかしフローの実行完了に10分以上かかることもあったので、確実に会議開始前に議事録ページを作成するなら 15分前 くらいにした方が無難かもしれません。

開始・終了時間を日本時間に変換

トリガーで取得できる会議の開始・終了日時は 世界協定時 なので、日本時間に変換しています。
開始日時は 2026年08月05日09時36分 という日時フォーマットで出力します。

image.png

会議が日をまたぐことは無いので、終了日時では年月日を除外し、10時36分 というような時間だけのフォーマットで出力します。

image.png

どちらも TimeUnit はカスタム値を手入力しています。

image.png

  • 開始日時の TimeUnit

    yyyy年MM月dd日 HH時mm分
    
  • 終了日時の TimeUnit

    HH時mm分
    

主催者(開催者)の氏名取得

トリガーでは主催者のデータは以下のような形で取得できます。

 AAA@example.com

ユーザープリンシパルネーム(メールアドレス)だけが議事録に載っていても誰だか分からないので、Office 365 ユーザーコネクタの「ユーザープロフィールの取得(V2)」アクションを利用して、氏名を取得します。

image.png

ユーザープロフィールの取得(V2)アクションで取得できる氏名データは に分かれています。1つにまとめたいので 変数の初期化 アクションで文字列変数「Organizer」に入れています。

image.png

出席者のユーザープリンシパルネーム(メールアドレス)の取得

Outlook 予定表の出席者の種類は必須出席者と任意出席者の2種類あります。

image.png

トリガーではどちらも以下のようにユーザープリンシパルネーム(メールアドレス)がセミコロン(;)で区切られた状態のテキストで取得できます。

AAA@example.com;BBB@example.com;CCC@example.com

主催同様、このままだと誰だか分からないので、氏名に変換する必要があります。しかし、複数のメールアドレスが1つの文章のように繋がっているので、これをそのまま Office 365 ユーザーコネクタの「ユーザープロフィールの取得(V2)」アクションに入れ込んで、氏名を取得することはできません。
また、必須出席者と任意出席者、それぞれで処理するのは非効率なので、どうにか1つにまとめたいです。
その為、文字列を結合させる Cocat 関数で必須出席者と任意出席者と1つのテキストデータにし、そのテキストデータを Split 関数で配列にするという処理を行います。

image.png

この処理は作成アクションに入れています。

image.png

split(
  concat(
    triggerOutputs()?['body/requiredAttendees'],
    triggerOutputs()?['body/optionalAttendees']
  ),
  ';'
)

図で示した通り、セミコロン区切りで配列を作っている為、最後が空白の配列になる場合があります。空白の配列は氏名取得時にエラーになるので除外したいです。また必須出席者に主催者が入っていますが、主催者の氏名は既に取得済なので、こちらも除外したいです。

image.png

この2つの要素を除外する為に アレイのフィルター処理 アクションで Filter Query に以下の式を入れています。

image.png

and(
  not(empty(trim(item()))),
  not(
    equals(
      trim(item()),
      trim(triggerOutputs()?['body/organizer'])
    )
  )
)

式を入れるには 詳細モードで編集する をご利用ください!

image.png

出席者の氏名を文章化

いよいよ出席者1人1人の氏名を取得し、議事録に入れられる形に整形します。

image.png

取得した氏名は配列変数「MeetingAttendees」に格納します。変数の初期化アクションは繰り返し処理(それぞれに適用する)の中では使えないので予め変数を用意しておく必要があります。

image.png

氏名の取得は Office 365 ユーザーコネクタの「ユーザープロフィールの取得(V2)」アクションで行います。

image.png

取得した氏名は配列変数「MeetingAttendees」に追加します。

image.png

最後に結合アクションを利用して、HTMLで改行を表す <br> で配列変数「MeetingAttendees」の値を結合し、配列を改行ありのテキストに変換します。

image.png

会議データ入り議事録の作成

会議情報を入れ込んだ議事録のテンプレートを作ります。OneNote ページでは HTML と CSS での表現が可能ですので、HTML を利用して、議事録に必要な要素(例 決定事項の一覧や見出しなど)を作ります。

image.png

OneNote コネクタのセクションにページを作成アクションに直書きすることもできますが、作成アクションに入れておくことで議事録テンプレートのメンテナンスが容易になります。

どのコードが議事録テンプレートのどの部分を表すかについては下図をご確認ください。

image.png

各項目の動的なコンテンツや式は以下の通りです。

  • ページタイトル

    image.png

  • ページ作成日時

    image.png

    concat(
      convertTimeZone(
        utcNow(), 
        'UTC', 
        'Tokyo Standard Time', 
        'yyyy-MM-ddTHH:mm:ss'
      ),
      '+09:00'
    )
    
  • 開催概要のテーブル

    image.png

最後に OneNote コネクタの「セクションにページを作成」アクションで OneNote に議事録テンプレートを追加する設定を行います。
ページコンテンツには前段で作った 作成 アクションを入れます。

image.png

そのあと、 コードビューの切り替え を押して、中に入っているコードをすべて削除してください。

image.png

不要なコードが入っていると、フローが正常に完了(成功)しても、OneNote にページタイトルが設定されません。必ず削除してください!

image.png

これですべて完了です。保存してフローを実行してみましょう。

おわりに

今回は OneNote に会議の基本情報入りの議事録テンプレートを追加する方法を説明しました。配列や HTML の利用もあり、かなり難しいフローではありますが、このような小さな効率化の積み重ねで大きなゆとりができます。ぜひ挑戦してみてくださいね。それではごきげんよう(*'▽')

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?