紙での管理とはさよなら! 会議室の予約システムを作ってみました
これまで紙の台帳や口頭で行っていた会議室予約をデジタル化したいものの、「外部・系列会社のユーザーも使うためアカウント管理が大変」「専用ツールの導入や開発はコストがかかる」とお困りではありませんか?
本記事では、 Microsoft 365 の標準機能である Microsoft Forms と Power Automate を組み合わせ、ゲストアカウントの管理負担なしで運用できる「会議室予約システム」の構築手法をご紹介します。
なぜ「Forms + Power Automate」なのか?(ツール選定の試行錯誤)
「系列会社も含めて使える会議室予約ツールを作りたい」と考えた際、最初は社内標準の機能や他のMicrosoftツールでの実現を検討しました。しかし、検討を進める中でいくつかの壁にぶつかりました。
検討したツールと直面した課題
| 検討したツール | 特徴・検討した理由 | 不採用となった理由 |
|---|---|---|
| Microsoft Bookings | 外部向けの予約ページを標準で手軽に作成できる | ・本来「人(スタッフ)」の面談や相談用ツールのため、会議室(設備)予約での運用が難しい ・社内メンバーがOutlookから直接入れた予定との同期や二重予約防止に不安が残る |
| Power Pages | リアルタイムな空き状況表示や外部向けポータルサイトが構築できる | ・社のセキュリティポリシー(利用制限)により利用が許可されなかった ・認証ユーザー数のライセンスコスト考慮も必要 |
| Power Apps + B2Bゲスト | 画面の自由度が高く完全に二重予約を防げる | ・系列会社の人数が多く、1人ずつAzure AD(Entra ID)へゲスト招待・アカウント管理する工数が膨大 |
たどり着いた解決策:Microsoft Forms + Power Automate
いろいろ試行錯誤した結果、以下の理由から 「Microsoft Forms + Power Automate」 の組み合わせに決定しました。
- ゲストアカウント管理が不要 : Formsの設定を「誰でも回答可能(組織外も可)」にすることで、系列会社のメンバーもログイン不要で利用可能
- セキュリティ制限のクリア : 標準機能の範囲内で構築できるため、社内のセキュリティポリシーをクリア
- 二重予約の完全防止 : 裏側でPower AutomateがExchange Online(Outlookカレンダー)の空き状況を自動判定するため、社内・社外の予約が競合しない
このように「既存のセキュリティ制限を守りつつ、管理コストをかけずに社外連携する」ための現実解としてこの構成を構築しました。

フィルターの中身をチェックして、空いていればFalseで予定表に記入、予約完了のメールを送付。予定が入っていればTrueで「予約不可」の通知メールを送付。
システムの概要と特徴
今回構築するツールの仕組みと特徴は以下の通りです。
- 利用者の体験 : 専用フォームから日時・会議室を選択して送信するだけ
- 自動化処理 : Power Automateが指定日時の空き状況を自動判定
- 二重予約の防止 : Exchange Online(Outlookカレンダー)の予定を参照・登録するため重複を防止
- アカウント管理不要 : フォームのアクセス設定を工夫することで、系列会社などの外部メンバーもアカウント発行なしで利用可能
基本的な自動処理フローの仕組み
-
予約リクエストの送信(Microsoft Forms)
- 利用者がフォームから「日時」「会議室」「利用目的」「メールアドレス」を入力して送信
- 「誰でも回答可能」に設定することで、系列会社や外部のユーザーもアカウントなしで利用可能
-
空き状況の自動判定(Power Automate)
- フォーム送信をトリガーに Power Automate が起動
- 指定日時に Exchange Online(Outlookカレンダー)の該当会議室の予定が入っていないか自動チェック
-
予約登録と二重予約の防止
- 指定枠が空いていれば、Outlookカレンダーへ自動で予定を登録
- 社内メンバーが直接Outlookから入れた予定との競合(二重予約)を完全に防止
-
結果の自動通知
- 予約完了(または重複による失敗)の通知メールを申請者へ自動送信
予定表に記入されました。
今回はここまで!!
今後の課題(運用のさらなる効率化に向けて)
現在の「Forms + Power Automate + Exchange」の構成でも、「アカウント管理不要」「二重予約防止」といった当初の目的は十分達成できています。
今後はさらに利便性を高め、管理工数を減らすための拡張案として、以下の課題に取り組んでいく予定です。
1. 予約キャンセル・変更の自動化
現在は手動や管理者への個別連絡で行っている予約の取り消し・変更作業について、専用フォームを用いた自動化を検討しています。
-
実装イメージ:
- 専用のキャンセルフォームを用意(受付番号・予約メールアドレスなどを入力)
- Power Automateフローで入力条件に一致するOutlookカレンダーのイベントを検索し、「イベントの削除 (V2)」アクションを実行
- 他人の予約を誤って削除できないよう、予約確定時に発行するユニークな「受付番号」と「メールアドレス」の完全一致チェックを組み込む
2. 空き状況のグラフィック可視化
Forms単体ではフォーム画面上で「現在の空き状況(カレンダー)」を閲覧できないため、事前の空き確認と申請を一元化する仕組みづくりを目指します。
-
実装イメージ:
- 社内・系列会社メンバーがアクセスできる SharePoint ポータルページ を用意
- ページ上部に「Exchange 会議室カレンダー(Webパーツ)」または「SharePointリストのカレンダービュー」を埋め込み、空き状況をリアルタイムで視覚化
- 同ページ下部に今回作成した Forms を配置し、「空き確認 ➔ その場で予約申請」 が完結するスムーズな導線を構築する
相談した中での課題
社外の人が使う会議室は問題があった場合ほかの会社との調整も必要、まずは自社のみで使う1つの会議室からスモールスタートで導入し、運用の状況を見ながらほかの会議室にも挑戦していきたいと思います!
1回構築してしまえば応用が利くと思います。実用化に向かい使いやすい物を作成していきます。




