宿泊日前日の確認メール自動化で予約管理の手間を半減する旅館向けPower Automate活用術
旅館・ホテルでは、予約確認メールの保存や宿泊日前日の連絡が、担当者の負担になりがちです。本記事では、Power Automate を使い、添付ファイルの保存と確認メールの送信を自動化する 2 つのフローを紹介します。中小規模の施設が、約 90 分で試せる構成です。
📌 この記事のポイント
- 添付ファイルを自動保存 — 予約確認メールのファイルを OneDrive に整理
- 前日の確認メールを自動送信 — 予約台帳から対象者を抽出して連絡
- 無料利用の条件を確認 — 実行回数などの制限を踏まえて小規模運用を開始
- 担当者不在時も処理を継続 — 休日や急な欠勤時の抜け漏れを減らす
- 日付形式や重複送信を予防 — よくある設定ミスと対策を確認
- 施設の実情に合わせて段階導入 — まずは添付ファイルの保存から試す
編集長の見解: 予約管理の自動化は、大規模なシステム導入から始める必要はありません。Power Automate、OneDrive、予約台帳を組み合わせれば、日々の保存作業と定型メール送信から着手できます。まずは 1 つの予約経路で試し、実行履歴を確認しながら対象範囲を広げる方法が現実的です。
🏨 旅館・ホテルの予約管理で起きがちな手間と課題
中小規模の旅館・ホテルでは、予約情報をメールと表計算ファイルで管理する場面があります。担当者が予約内容を台帳へ転記し、確認メールを個別に送る運用では、繁忙期に抜け漏れが起きやすくなります。
予約確認メールの添付ファイルを手動で保存する負担
宿泊プランの PDF や見積書は、受信後に保存先を選び、ファイル名を変更する必要があります。1 件あたり 2〜3 分でも、1 日 10 件なら毎日 20〜30 分です。
保存先やファイル名が担当者ごとに異なると、必要な資料を探す時間も増えます。自動保存では、保存場所と命名規則をあらかじめ統一できます。
宿泊日前日の確認連絡を忘れてしまうリスク
宿泊日前日の確認メールは、チェックイン準備や送迎手配などで忙しい時間帯に送ることがあります。担当者が休暇中の場合は、送信が翌日にずれ込む可能性もあります。
自動化すれば、予約台帳の日付を基に対象者を抽出できます。ただし、送信前に予約内容と文面を確認する運用は残しましょう。
担当者が不在でも処理を続ける仕組み
Power Automate は、メール受信や指定時刻をきっかけに処理を実行します。担当者が不在でも、設定した条件に合う処理を続けられます。
💡 編集部メモ: いきなり全予約を対象にせず、まずは添付ファイルの自動保存から始めると安全です。テスト用のメールと予約台帳を用意し、実際の顧客に送信しない状態で動作を確認してください。
次のセクションでは、2 つのフローの役割と全体像を整理します。
⚙️ Power Automate でできることの全体像
Power Automate は、メール受信や表計算ファイルの更新をきっかけに、決められた処理を実行する Microsoft のクラウドサービスです。プログラミングを使わず、画面上で処理の流れを組み立てられます。
メール受信をきっかけに添付ファイルを保存するフロー
1 つ目のフローは、予約確認メールの受信をきっかけにします。添付ファイルを取得し、OneDrive の指定フォルダへ保存します。
予約台帳を読み取り、前日の予約へ連絡するフロー
2 つ目のフローは、予約台帳を定期的に確認します。宿泊日が翌日に該当する行だけを選び、確認メールを送信します。
2 つのフローを組み合わせた運用例
| 時間帯 | 自動で行われる処理 | 担当者が行う作業 |
|---|---|---|
| 予約メール受信時 | 添付ファイルを OneDrive に保存 | 予約台帳への転記(必要に応じて) |
| 毎朝 9:00 | 翌日宿泊の予約を確認し、メールを送信 | 送信結果を確認 |
| 宿泊当日 | 必要に応じてリマインドを実行 | チェックインを準備 |
担当者は、予約台帳の更新と送信結果の確認に集中できます。自動化後も、予約内容の最終確認とエラー対応は人が担当します。
編集長の見解: 自動化の目的は、作業をなくすことだけではありません。保存場所や送信条件を統一し、担当者による処理の差を小さくすることにも価値があります。
次のセクションでは、添付ファイルを OneDrive に保存する手順を説明します。
📎 フロー 1: 予約確認メールの添付ファイルを OneDrive に保存
このフローは、予約確認メールを受信したときに、添付ファイルを OneDrive の「予約ファイル」フォルダへ保存します。設定時間は編集部の目安で約 30 分です。
「新しいメールが届いたとき」トリガーを設定する
Power Automate にログインし、「作成」から「自動化されたクラウド フロー」を選びます。フロー名を入力し、「新しいメールが届いたとき」をトリガーに指定します。
| 設定項目 | 推奨値 | 補足 |
|---|---|---|
| フォルダー | 受信トレイ | 予約確認メールが届くフォルダー |
| 宛先 | 空欄 | 必要なら対象の宛先に限定 |
| 差出人 | 空欄 | 必要なら送信元に限定 |
| 件名 | 空欄 | 必要ならキーワードで限定 |
| 添付ファイルのみ | はい | 添付ファイルがあるメールだけを対象 |
最初は条件を絞りすぎず、テストメールで動作を確認します。不要なメールまで処理される場合は、件名や差出人の条件を追加します。
添付ファイルを OneDrive に保存する
トリガーの後に、添付ファイルを取得するアクションを追加します。その後、「OneDrive for Business にファイルを保存」アクションを追加し、保存先とファイル内容を指定します。
| 設定項目 | 推奨値 | 補足 |
|---|---|---|
| フォルダー | /予約ファイル | 事前に OneDrive 内へ作成 |
| ファイル名 | 動的なコンテンツで設定 | 予約番号や受信日時を含める |
| ファイル コンテンツ | 添付ファイルのコンテンツ | 取得した添付ファイルを指定 |
ファイル名を重複しにくくする
差出人を動的なコンテンツとして指定し、受信日時を加える方法があります。環境によって内部名が異なるため、まずは画面に表示される「差出人」または「From」の動的なコンテンツを選択してください。
以下は、差出人と受信日時を使う式の例です。
concat('予約確認_', <差出人の動的なコンテンツ>, '_', formatDateTime(<受信日時の動的なコンテンツ>, 'yyyy-MM-dd-HH-mm-ss'), '.pdf')
Power Automate の式欄では、山括弧部分を文字どおり入力せず、該当する動的なコンテンツを挿入します。メールの差出人表示名に記号が含まれる場合は、ファイル名に使えない文字を取り除く処理も必要です。
予約者名をファイル名に含める場合は、件名の形式が統一されていることを確認します。件名から名前を抽出する式は、件名の長さや表記が変わると失敗するため、まずは予約番号を含める方法が扱いやすいでしょう。
💡 編集部メモ: ファイル名の規則は、運用開始前に決めておきます。予約番号と受信日時を含めると、再送されたメールを区別しやすくなります。
フロー 1 の全体像
1. トリガー 新しいメールが届いたとき(添付ファイルのみ = はい)
2. アクション 添付ファイルを取得
3. アクション OneDrive for Business にファイルを保存
フローを有効にすると、条件に合うメールの添付ファイルが指定フォルダーに保存されます。初回はテスト用のメールで、ファイル名と保存先を確認しましょう。
次のセクションでは、予約台帳から翌日宿泊の予約を抽出し、確認メールを送信する手順を説明します。
📅 フロー 2: 予約台帳から宿泊日前日の確認メールを送信
このフローは、予約台帳を定期的に確認し、宿泊日が翌日の予約へメールを送信します。設定時間は編集部の目安で約 40 分です。
予約台帳を用意する
予約台帳は Google スプレッドシート、または Excel Online で用意します。Excel Online を使う場合は、ファイルを OneDrive または SharePoint に保存し、データをテーブルとして設定してください。
| 列名 | 内容 | 例 |
|---|---|---|
| 予約番号 | 予約を識別する番号 | A001 |
| 予約者名 | 予約者の氏名 | 山田太郎 |
| メールアドレス | 予約者のメールアドレス | yamada@example.com |
| 宿泊日 | チェックイン日 | 2026-08-15 |
| 宿泊人数 | 宿泊する人数 | 2 |
| 部屋タイプ | 予約された部屋 | 和室 10 畳 |
| 確認メール送信済み | 送信済みかどうか | 未送信 |
Power Automate で、対象ファイルとテーブルを指定して行を取得します。Google スプレッドシートを使う場合も、列名と日付形式を固定しておくと設定しやすくなります。
宿泊日が翌日か判定する
「繰り返し」トリガーを使い、毎日 9:00 にフローを実行します。次に、行を 1 件ずつ処理する繰り返し処理を追加し、「条件」アクションで宿泊日を判定します。
日本時間の翌日を取得する式は、次のとおりです。
formatDateTime(addDays(convertTimeZone(utcNow(), 'UTC', 'Tokyo Standard Time'), 1), 'yyyy-MM-dd')
この式は、現在時刻を日本時間へ変換してから 1 日を加えます。予約台帳の日付も yyyy-MM-dd 形式に統一すると、比較しやすくなります。
「宿泊日が翌日」と判定された行だけを、次のメール送信アクションへ進めます。さらに「確認メール送信済み」が「未送信」の行だけに絞ると、重複送信を防ぎやすくなります。
メール送信アクションを設定する
条件が真の場合に、「メールの送信」アクションを追加します。宛先、件名、本文には、予約台帳の動的なコンテンツを挿入します。
| 設定項目 | 推奨値 | 補足 |
|---|---|---|
| 宛先 | 予約者メールアドレス | メールアドレス列を指定 |
| 件名 | 【ご確認】明日のご宿泊について | 予約者名を動的に挿入 |
| 本文 | 予約内容を含む定型文 | 予約番号、宿泊日、人数などを挿入 |
本文には、予約番号、宿泊日、宿泊人数、部屋タイプ、到着予定時刻の確認方法、施設の連絡先を記載します。送信前に、個人情報の宛先と表示内容をテストしてください。
メール送信後は、「行の更新」アクションを追加します。対象行の「確認メール送信済み」を「送信済み」に変更すると、同じ予約への重複送信を抑えられます。
宿泊人数で文面を分ける
10 名以上の予約へ専用文面を送る場合は、メール送信前に「条件」アクションを追加します。条件の左側に「宿泊人数」列、演算子に「以上」、右側に 10 を指定します。
条件が真の場合は団体予約用のメールを送信し、偽の場合は通常の確認メールを送信します。両方の分岐にメール送信アクションを追加し、送信後に「行の更新」を配置します。
💡 編集部メモ: 団体予約用の文面には、代表者の連絡先、到着予定時刻、食事や送迎の確認事項を含めると、事前確認を進めやすくなります。
フロー 2 の全体像
1. スケジュールトリガー 毎日 9:00 に実行
2. アクション 予約台帳の行を取得
3. 条件分岐 宿泊日が日本時間の翌日か判定
4. 条件分岐 宿泊人数が 10 名以上か判定
5. アクション 条件に応じた確認メールを送信
6. アクション 送信済みの状態を予約台帳へ記録
フローを有効にした後は、テスト用の予約だけを対象に送信結果を確認します。実際の運用では、送信済みの記録と実行履歴を定期的に確認してください。
⚠️ 編集部の警告: 日付の形式が異なると、条件が一致しないことがあります。入力を 2026-08-15 のような形式に統一し、表計算ファイルの表示形式だけでなく、Power Automate が取得する実際の値も確認してください。
次のセクションでは、保存したファイルと予約台帳を安全に運用する方法を説明します。
🔁 2 つのフローを連携して予約管理を一元化する
フロー 1 とフロー 2 は別々に動きます。保存したファイルを参照する場合は、予約番号など共通の識別情報を使って、台帳とファイルを結び付けます。
OneDrive のファイルを予約台帳から参照する
OneDrive のファイルをメールに添付したり、共有リンクを本文へ入れたりできます。「共有リンクの作成」アクションを使う場合は、リンクの公開範囲を確認してください。
顧客へ送るリンクは、必要な相手だけが閲覧できる設定にします。施設内部の資料を、誤って公開範囲の広いリンクにしないよう注意が必要です。
実行履歴でエラーを早期発見する
Power Automate では、フローごとに実行履歴を確認できます。失敗したアクションを開くと、接続、権限、入力値などの詳細を確認できます。
| エラー内容 | 原因 | 対策 |
|---|---|---|
| ファイルが見つからない | OneDrive のフォルダー名やパスが異なる | 保存先を再指定する |
| アクセスが拒否された | 接続または共有権限が不足している | 接続と権限を確認する |
| 行が見つからない | テーブル名や列名が異なる | 台帳の構造を確認する |
複数人で使う場合の権限設定
フローを共有するときは、編集できる人を必要最小限にします。OneDrive のフォルダーと予約台帳の共有権限も、別途確認してください。
編集長の見解: 最初の 1 週間は、毎日実行履歴を確認する運用がおすすめです。問題がなければ確認頻度を下げますが、月 1 回は送信結果、保存先、権限を点検しましょう。
次のセクションでは、導入時に起きやすい失敗と具体的な対策を確認します。
⚠️ 失敗しがちなパターンと対策
失敗パターン 1: 件名や送信元の条件が合わない
件名や差出人を限定すると、予約サイトの仕様変更や表記ゆれでメールを取りこぼすことがあります。最初は添付ファイルの有無だけでテストし、動作確認後に条件を追加します。
件名が複数パターンに分かれる場合は、条件分岐で複数のキーワードを指定します。対象メール以外を処理しないよう、保存先と実行履歴も確認してください。
失敗パターン 2: 日付形式が一致しない
台帳の日付が 2026/8/15 や 2026年8月15日 のような形式だと、yyyy-MM-dd との比較に失敗することがあります。入力規則を決め、台帳では日付を統一してください。
yyyy/mm/dd が常に 4 桁年、2 桁月、2 桁日の形式で入力される場合は、次のような変換式を使えます。
concat(substring(string(item()?['宿泊日']), 0, 4), '-', substring(string(item()?['宿泊日']), 5, 2), '-', substring(string(item()?['宿泊日']), 8, 2))
ただし、この式は yyyy/mm/dd の固定桁数だけを対象にします。2026/8/15 のように月や日が 1 桁の場合は正しく変換できません。
日付が Power Automate の日時として認識される場合は、次のように formatDateTime を使う方法を優先します。
formatDateTime(item()?['宿泊日'], 'yyyy-MM-dd')
入力形式が混在する場合は、台帳側で日付を統一してから読み込む方法が安全です。
失敗パターン 3: ファイルが重複して保存される
同じファイル名が存在すると、自動的に別名で保存される場合があります。再送メールを区別するには、予約番号と受信日時をファイル名へ入れます。
差出人と受信日時は、画面に表示される動的なコンテンツを選択してください。内部名や取得できる値は、メール コネクタやトリガーによって異なるため、テスト実行で確認します。
⚠️ 編集部の警告: 予約サイトの仕様変更、メール形式の変更、接続切れは、自動化へ影響します。月 1 回は実行履歴を確認し、エラー通知を受け取れる設定も検討してください。
次のセクションでは、費用、連携、導入時間に関するよくある質問へ回答します。
❓ よくある質問
Q1: 無料プランでこのレシピは実現できるか
回答: 小規模な構成であれば、無料利用の範囲で試せる可能性があります。ただし、Power Automate の料金や利用条件は契約形態、地域、時期によって変わる場合があります。導入前に、Microsoft 公式の料金ページと契約内容を確認してください。
Microsoft 公式の料金ページで、無料プランの月間実行回数やスケジュール間隔を確認できない場合は、テナントの管理画面または Microsoft サポートへ確認が必要です。本記事では、無料プランの制限を一律の数値として断定しません。
| 確認項目 | 導入前に確認する内容 |
|---|---|
| フロー実行回数 | 契約中の無料利用枠と月間実行上限 |
| スケジュール実行 | 設定可能な最短間隔とタイムゾーン |
| コネクタ | メール、OneDrive、Excel などの利用可否 |
| 有料機能 | プレミアム コネクタや追加ライセンスの要否 |
このレシピでは、フロー 1 はメール受信時、フロー 2 は 1 日 1 回の実行を想定しています。実行回数を見積もるときは、条件分岐や繰り返し処理によるアクション数も含め、実際の契約上限を確認してください。
Q2: Excel から Google スプレッドシートへ移行する必要があるか
回答: 移行は必須ではありません。Excel Online を使う場合は、ファイルを OneDrive または SharePoint に保存し、テーブルとして設定します。
複数人が同時に編集すると、読み取り時点によって結果が変わる場合があります。台帳を更新する担当者と、自動送信の実行時刻を決めておくと運用しやすくなります。
Q3: 予約管理システムと連携できるか
回答: 連携の可否は、予約管理システムが提供する API と契約条件によります。楽天トラベルやじゃらんについて、Power Automate の公式コネクタが利用できると一律には断定できません。
API が提供され、認証方法や利用条件が Power Automate から利用できる場合は、HTTP 接続などを使って連携できる可能性があります。API がない場合や、外部連携が契約で制限されている場合は、予約確認メールを受信する方法を使います。
| 連携対象 | 現実的な方法 | 確認事項 |
|---|---|---|
| Outlook、Gmail | 予約確認メールをトリガーにする | 受信権限と添付ファイルの有無 |
| Google スプレッドシート、Excel Online | 予約台帳を読み取る | コネクタ、テーブル、共有権限 |
| 楽天トラベル、じゃらんなど | API が提供される場合に限り直接連携を検討 | 公式 API、認証、契約条件、利用制限 |
| Slack、Microsoft Teams | 予約発生時に担当者へ通知 | 通知先と接続権限 |
API 連携が難しい場合は、予約確認メールを台帳へ反映する運用から始めると、導入範囲を抑えられます。
Q4: フローがエラーになった場合はどうすればよいか
回答: まず「実行履歴」を開き、失敗したアクションの詳細を確認します。
- 接続エラー: メール、OneDrive、台帳への接続を再認証します。
- 権限エラー: ファイルとフォルダーの共有設定を確認します。
- データ形式エラー: 日付、人数、メールアドレスの形式を確認します。
修正後は、テスト用のデータで再実行します。実際の顧客へ重複送信しないよう、テスト用の宛先を使ってください。
Q5: 導入にはどのくらい時間がかかるか
回答: 以下は編集部の想定です。実際の所要時間は、台帳の状態、メールの形式、利用者の経験、権限設定によって異なります。
| 作業 | 編集部の想定時間 |
|---|---|
| フロー 1: 添付ファイルの自動保存 | 約 30 分 |
| フロー 2: 前日の確認メール自動送信 | 約 40 分 |
| 動作確認・テスト | 約 20 分 |
| 合計 | 約 90 分 |
初めて使う場合や、既存データの整理が必要な場合は、さらに時間がかかることがあります。まずは 1 つのフローを設定し、動作を確認してから次へ進めると安全です。
Q6: OneDrive 以外へ保存できるか
回答: 利用するサービスに対応するコネクタがあり、契約条件を満たしていれば、保存先を変更できる場合があります。SharePoint、Dropbox、Box、Google ドライブなどを検討する際は、コネクタの種類と必要なライセンスを確認してください。
保存先を変更する場合は、フロー 1 の保存アクションを対象サービスのアクションへ置き換えます。共有範囲とアクセス権限も、変更後に再確認します。
Q7: 予約内容に応じてメール文面を変えられるか
回答: できます。「条件」アクションをメール送信の前に追加し、宿泊人数などの値を判定します。
たとえば、次の手順で 10 名以上の団体予約を分けます。
- 条件を追加: 予約台帳を読み取った後に「条件」アクションを追加します。
- 判定値を指定: 左側に「宿泊人数」、演算子に「以上」、右側に
10を入力します。 - 真の分岐を設定: 10 名以上の分岐へ団体予約用のメール送信アクションを追加します。
- 偽の分岐を設定: 10 名未満の分岐へ通常のメール送信アクションを追加します。
- 送信済みを記録: 各分岐の後に「行の更新」アクションを置きます。
💡 編集部メモ: 団体予約用の文面には、代表者の連絡先、到着予定時刻、食事、送迎などの確認事項を含められます。文面を変更した場合は、テスト送信で表示と宛先を確認してください。
📚 出典・参考情報
- Microsoft Power Automate の料金ページ — 料金、無料利用、ライセンスの確認に利用します。
- Microsoft Power Automate のドキュメント — トリガー、アクション、フロー設定を確認できます。
- OneDrive のヘルプとラーニング — フォルダー共有や権限設定を確認できます。
- Google スプレッドシートのヘルプ — データ管理や共有設定を確認できます。
編集部メモ: この記事のフローは一例です。実際の予約経路、台帳の形式、メール文面、保存先の権限に合わせて調整してください。料金や機能、連携条件は変更される可能性があるため、導入前に公式情報を確認しましょう。
Mira / AI経営ラボ 編集長