. TeamsとPower Automate連携でスケジュール調整の自動化をしたい!作り方を分かりやすく説明 | はっくなび
TeamsとPower Automate連携でスケジュール調整の自動化をしたい!作り方を分かりやすく説明 | はっくなび
TeamsとPower Automate連携でスケジュール調整の自動化をしたい!作り方を分かりやすく説明 | はっくなび

Без кейворда

「参加者全員の空き時間を確認するのが大変」「メールのやり取りが何往復も発生して、調整に時間がかかる」「調整中に他の予定が入ってしまって、また最初からやり直し…」。複数のメンバーが関わるスケジュール調整は、非常に手間がかかる定型業務ですよね。 Power AutomateとTeams、そしてOutlookを組み合わせることで、スケジュール調整のプロセスを自動化し、参加者全員の負担を大幅に軽減する仕組みを構築できます。

なぜスケジュール調整を自動化することが大切なのでしょう?

スケジュール調整の自動化は、日々の業務効率と生産性を大きく向上させます。どんな良いことがあるのか、一緒に見ていきましょう。 調整にかかる時間と手間を大幅に削減できるから 参加者の負担を減らし、返答率を高められるから 人的ミスやダブルブッキングのリスクを減らせるから チーム全体の生産性と連携が向上するから

構築システムの準備を始めましょう

スケジュール調整の自動化システムを構築する前に、いくつか確認し、準備しておくべきことがあります。これらを事前に整理しておくことで、スムーズに自動化を進めることができます。 調整したい「参加者」と「リソース」を特定しましょう
  • 必須参加者: 会議に必ず出席してほしいメンバーのリスト(メールアドレス)。
  • 任意参加者: 出席できれば望ましいメンバーのリスト(メールアドレス)。
  • 会議室/リソース: 予約が必要な会議室や備品のリソースメールボックス(例: 会議室A@yourcompany.com )。
調整したい「会議のテーマ」と「期間」を決めましょう
  • 会議時間: 30分、60分など、会議の所要時間。
  • 調整期間: 今後1週間、2週間など、候補日を提示する期間。
  • 会議の件名/目的: 自動で作成される会議の件名や、参加者に伝える目的。
スケジュール調整の「起点」を決めましょう
  • 手動トリガー: Power AutomateのモバイルアプリやTeamsのPower Automateアプリから、ユーザーが手動でフローを起動し、必要な情報を入力する。
  • Teamsメッセージのキーワード: Teamsチャネルのメッセージに特定のキーワード(例: 「会議調整依頼」)が含まれたらフローを起動する。
  • Outlookメールの受信: 特定のメール(例: 「面接依頼」)を受信したらフローを起動する。
通知を送るTeamsの場所を決めましょう
  • 会議の参加者へ個人チャット: 最も一般的で、各参加者に個別で返答を促します。
  • 会議調整依頼チャネル: 調整の進捗状況を可視化するため、関係者が参加しているTeamsチャネル(例: スケジュール調整 )に通知します。
  • Outlookカレンダーへの追加: 最終的に調整が完了したら、参加者全員のOutlookカレンダーに会議予定を追加します。

Power Automateで自動化を設定しましょう(基本編)

フローを作成する場所を決めましょう

Power Automateのウェブサイトにアクセスし、左側のメニューから「作成」を選択します。今回は、ユーザーが手動で起動し、必要な情報を入力してスケジュール調整を開始するフローなので、「インスタント クラウド フロー」を選択します。

トリガーを設定しましょう

フローのトリガーとは、「いつ」このフローを実行するかを決定するものです。Teamsから直接フローを起動することを想定し、トリガーには「手動でフローをトリガーします」を選択します。

作成例1:手動トリガーで参加者の空き時間をTeamsに提示

  1. Power Automateにサインインします。お使いのMicrosoft 365アカウントでPower Automateのウェブサイト(https://make.powerautomate.com/)にアクセスし、サインインします。
  2. 「作成」から「インスタント クラウド フロー」を選択します。左側のナビゲーションペインにある「作成」をクリックし、表示されるオプションの中から「インスタント クラウド フロー」を選択します。
  3. フロー名を指定し、トリガーを選択します。フロー名には「スケジュール調整アシスタント」など、分かりやすい名前を付けます。「フローをトリガーする方法を選択してください」で「手動でフローをトリガーします」を選択して「作成」をクリックします。
  4. トリガーにユーザー入力項目を追加します。「手動でフローをトリガーします」アクションの「+ 入力を追加」をクリックします。
    • テキスト: 会議の件名
    • テキスト: 必須参加者メールアドレス (カンマ区切り)
    • テキスト: 任意参加者メールアドレス (カンマ区切り)
    • 数値: 会議時間 (分)
    • 日付: 検索開始日 (会議候補の開始日)
    • 日付: 検索終了日 (会議候補の終了日)
    • テキスト: 会議室名/メールアドレス (省略可)
  5. 新しいステップを追加し、必須参加者と任意参加者のメールアドレスを配列に変換します。
    • 作成」アクションを2つ追加します(必須参加者用、任意参加者用)。
      • 入力: split(triggerBody()['text_1'], ',') (カンマで分割)
      • 補足: text_1 は必須参加者メールアドレスの入力項目名です。 text_2 も同様に任意参加者用を作成します。
  6. 新しいステップを追加し、参加者全員の空き時間を取得します。検索ボックスに「Outlook」と入力し、「タイム スロットの空き情報を取得する (V2) (Office 365 Outlook)」を選択します。
    • タイム スロットの長さ: トリガーの 会議時間 (分) を選択します。
    • 期間の開始: トリガーの 検索開始日 を選択します。
    • 期間の終了: トリガーの 検索終了日 を選択します。
    • ユーザーのメール アドレス:union(outputs(‘作成’), outputs(‘作成_2’))
      • 補足: 作成 と 作成_2 は、必須参加者と任意参加者のメールアドレス配列の出力です。 union 関数で両方の配列を結合します。
    • タイムゾーン:(UTC+09:00) 大阪、札幌、東京」を選択します。
    • 会議室メールアドレス (オプション): トリガーの 会議室名/メールアドレス を選択します。
  7. 新しいステップを追加し、利用可能なタイムスロット(空き時間)を整形します。「データ操作」カテゴリから「HTML テーブルの作成」アクションを選択します。
    • From:タイム スロットの空き情報を取得する」アクションの AvailableTimeSlots を選択。
    • 列:カスタム」を選択し、以下の列を追加。
      • 開始時刻 : Start (動的なコンテンツ)
      • 終了時刻 : End (動的なコンテンツ)
      • 補足: formatDateTime 関数を使って表示形式を整えると良いでしょう。例: formatDateTime(items('HTML_テーブルの作成')?['Start'], 'yyyy/MM/dd HH:mm')
  8. 新しいステップを追加し、Teamsに空き状況を投稿します。検索ボックスに「Teams」と入力し、「チャットまたはチャネルにメッセージを投稿する (Teams)」を選択します。
    • 投稿者:Flow bot」を選択します。
    • 投稿先:チャネル」または「チャット」。ここでは「チャネル」を選択し、 会議調整 チャネルなどに投稿します。
    • メッセージ:

【🗓️スケジュール調整候補日のお知らせ】 会議件名: @ 以下の候補日時で、参加者全員の空き時間が見つかりました。 ご都合の良い日時をご検討ください。 @ 最終決定後、Outlookカレンダーから会議を設定してください。
  • 補足: triggerBody()['text'] は会議の件名入力項目です。
アクションを設定しましょう

手動トリガーアクション

手動でフローをトリガーします」: ユーザーからの入力(会議情報、参加者など)を受け付けます。

Outlookアクション

タイム スロットの空き情報を取得する (V2)」: 複数の参加者やリソースの空き時間を同時に確認できます。

  • 作成」: 配列の結合や文字列の整形などに利用します。
  • HTML テーブルの作成」: 取得した空き時間のリストを見やすいHTML形式に整形するために使用します。
  • タイムゾーンの変換」: 日時情報を正しいタイムゾーンに変換するために使用します。

チャットまたはチャネルにメッセージを投稿する」: 取得した空き状況をTeamsチャネルに表示します。

通知メッセージのカスタマイズをしましょう
  • 会議件名: Subject
  • 参加者リスト: Attendees
  • 候補日時: AvailableTimeSlots の Start と End
  • 会議室名: Location

Power Automateで自動化を設定しましょう(応用編)

候補日を提示し、参加者がTeamsで選択・返答する(アダプティブカード利用:高度)

作成例2:候補日を提示し、参加者がTeamsで選択・返答するPower Automateフロー(アダプティブカード利用:高度)

  1. 基本編のフロー(スケジュール調整アシスタント)をベースにします。
  2. 「HTML テーブルの作成」アクションの後に新しいステップを追加し、アダプティブカードのJSONを生成します。
    • 「作成」アクションを追加し、アダプティブカードのJSONを動的に構築します。
    • JSONの構成例:
      • 会議件名、参加者リストなどの情報。
      • 利用可能な候補日時をドロップダウンリストで表示: Input.ChoiceSet 要素を使用し、 AvailableTimeSlots から取得した各候補日時を choices として設定します。
      • 「この日時で参加します」ボタン: Action.Submit タイプ。ボタンの data プロパティには、選択された日時や会議IDなど、後続の処理に必要な情報を埋め込みます。
      • 「参加できません」ボタン: Action.Submit タイプ。
  3. Teamsへの投稿アクションを「チャットまたはチャネルにアダプティブ カードを投稿して応答を待機する (Teams)」に変更します。
    • 投稿者: Flow bot
    • 投稿先: チャット(各参加者へ個別に送る)
    • 受信者: 参加者全員のメールアドレスをループ処理で送信します。
      • 「アプライ トゥー イーチ」コントロール: 結合した参加者リスト( union の出力)をループ。
      • 「チャットまたはチャネルにアダプティブ カードを投稿して応答を待機する」アクション: アプライ トゥー イーチ の中に追加。
        • 受信者: アプライ トゥー イーチ 内のアイテムのメールアドレス。
        • メッセージ: 生成したアダプティブカードのJSON。
  4. 新しいステップを追加し、アダプティブカードからの応答を処理します。
    • 「アダプティブ カードへの応答の待機」アクションが自動で追加されます。
    • 「条件」アクション: 参加者が「参加します」を選択したかどうかをチェックします( triggerBody()['data']['selectedTime'] など)。
  5. 「はい」のパス(参加者が「参加します」を選択した場合)に、Outlookカレンダーに会議を作成するアクションを追加します。
    • 「イベントを作成する (V4) (Office 365 Outlook)」アクション:
      • 件名: 会議の件名
      • 本文: 会議の目的など
      • 開始時刻/終了時刻: アダプティブカードで選択された日時( selectedTime )から取得し、会議時間を加算。
      • 必須出席者/任意出席者: 元のリストから設定。
      • 会議室 (オプション): 設定。
      • (オプション)Teams会議を作成: 「はい」に設定。
    • 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション: 会議が確定したことを参加者全員に通知。
  6. 「いいえ」のパス(参加者が「参加できません」を選択した場合)に、その旨を通知するアクションを追加します。

メリット: 参加者の回答を自動で収集し、Outlookに会議を自動作成できるため、調整の自動化レベルが格段に向上します。

参加者が多忙で空き時間が見つからない場合に、別の候補日を提案する

作成例3:参加者が多忙で空き時間が見つからない場合に、別の候補日を提案するPower Automateフロー

  1. 基本編のフロー(スケジュール調整アシスタント)を開きます。
  2. 「利用可能な会議室を取得します」(または「タイム スロットの空き情報を取得する」)アクションの後に「条件」アクションを追加します。
    • 左側の値: 「タイム スロットの空き情報を取得する」アクションの AvailableTimeSlots (利用可能なタイムスロットの配列)
    • 演算子:が空ではない
    • 右側の値: True
    • 補足: これにより、空き時間が見つかった場合は「はい」のパスに、見つからなかった場合は「いいえ」のパスに進みます。
  3. 「はい」のパス(空き時間が見つかった場合)に、既存の「HTML テーブルの作成」とTeamsへの通知アクションを移動します。
  4. 「いいえ」のパス(空き時間が見つからなかった場合)に、以下のアクションを追加します。
    • 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション(調整担当者へ通知):
      • 投稿者: Flow bot
      • 投稿先: チャット
      • 受信者: 調整フローを開始したユーザーのメールアドレス( triggerOutputs()?['body/requester']?['mail'] など)
      • メッセージ:

【スケジュール調整_お知らせ】 会議「@」の調整について、 指定された期間で全員が参加可能な空き時間が見つかりませんでした。 ▼対応方法をご検討ください: ・検索期間を延長する ・必須参加者を減らす ・個別に調整を試みる 詳細はこちら: [参考リンク]

エラー対策とトラブルシューティングを確認しましょう

権限不足のエラーが出た場合

対策: フローを実行するアカウントが、関係者のOutlookカレンダーやリソースカレンダーに対して「読み取り」権限、そしてTeamsチャネルへのメッセージ投稿権限、個人チャットへのメッセージ送信権限を持っていることを確認してください。

日付・時刻の書式設定エラーが出た場合
  • 明確な入力ガイド: フローのトリガーで、ユーザーに「YYYY-MM-DD」や「HH:MM」といった特定の書式で入力するよう明確な指示を出すようにしましょう。
  • formatDateTime と convertFromUtc : 入力された日時文字列を、Power Automateの式( formatDateTime 、 convertFromUtc など)を使って、正確なDateTime型に変換し、タイムゾーンを適切に処理するようにしましょう。
参加者のメールアドレス入力ミスの場合
  • フォームの入力規則でメールアドレス形式を強制する。
  • 入力されたメールアドレスリストをPower AutomateでAzure ADと照合し、存在しないメールアドレスがあればエラー通知を出すステップを追加する(高度)。
  • ユーザーが入力したメールアドレスのリストに対して join 関数を使って結合する際に、不要なスペースが入っていないか、カンマ区切りが正しく行われているかを確認する。
通知がTeamsに届かない場合(フローは成功しているのに)
  • Teamsの通知設定: 受信側のTeamsで、Flow botからの通知がブロックされていないか、ミュートされていないかなどを確認してください。
  • チャネル/チャットの選択ミス: 「チャットまたはチャネルにメッセージを投稿する」アクションで、意図したチャネルや受信者が正しく選択されているか、タイプミスがないかを再確認しましょう。
  • 接続の正常性: Power Automateの「データ」→「接続」で、Teamsへの接続が正常に確立されているかを確認しましょう。
フローの履歴を確認しましょう
  1. Power Automateの「マイ フロー」から、該当のフローを選択します。
  2. 実行履歴」タブをクリックします。
  3. 失敗した実行、または成功したものの動作が怪しい実行を選択すると、フローの各ステップがどのように実行されたか、どこでエラーが発生したか、そして入力/出力データやエラーメッセージの詳細を確認できます。

ポイント: 各アクションの「入力」と「出力」を確認することで、どのデータがどのように処理され、どこで問題が発生したのかを詳細に把握できます。特に「タイム スロットの空き情報を取得する」アクションの出力で、空き時間が正しく取得されているか、エラーがないかを確認しましょう。

セキュリティとアクセス管理を確認しましょう

Outlookカレンダーへのアクセス権限を適切にしましょう
  • 最小限の原則: フローに与える権限は、必要最小限にとどめましょう。空き時間情報のみを取得する権限があれば十分な場合が多いです。
  • 承認の仕組み: 参加者全員の空き時間を取得する際に、Graph APIなどを使って、ユーザーからの初回承認を求める仕組みを検討することもできます(高度)。
Teamsチャネルの権限設定を適切にしましょう
  • プライベートチャネルの利用: 機密性の高い会議の調整を行う場合は、プライベートチャネルとし、必要なメンバーのみを招待しましょう。
  • 個人チャットの利用: 個別の調整依頼は、各参加者の個人チャットへ送ることで、情報が限定的な範囲に留まります。
フローの作成と実行権限を管理しましょう
  • フロー作成者の制限: 重要なフローの作成権限は、総務部門やシステム管理者にのみ付与することを検討しましょう。
  • 共有の最小化: フローを他のユーザーと共有する際は、実行のみの権限に限定し、共同所有者としての共有は慎重に検討しましょう。共同所有者はフローを編集できるため、意図しない変更のリスクがあります。
  • サービスアカウントの利用: フローの実行アカウントが個人アカウントではなく、専用のサービスアカウントであれば、個人の人事異動や退職の影響を受けにくく、権限管理も一元化しやすいでしょう。
個人情報保護への配慮を忘れずに
  • 利用目的の明確化: スケジュール調整の自動化の目的を従業員に明確に伝え、同意を得ましょう。
  • 安全な保管: 不必要なアクセスを制限し、データの安全な保管に努めましょう。ログの保持期間なども考慮しましょう。

まとめ

TeamsとPower Automate連携で定型的な返信の自… TeamsとPower Automate連携でOutlookメ… カテゴリー
  • 1分間スピーチ・朝礼・ネタ(ビジネス)
  • 英語(テスト・英検・TOEIC頻繁に使われる)
  • アニメ名言から学ぶビジネス1分間スピーチ
  • 人材育成・自己啓発
  • マンション・アパート関連
  • 氷河期世代
  • お祝い(ビジネス例文)
  • 日程調整
  • スピーチ例文(ビジネス・学校関連)
  • SharePoint、Power Automate
  • 昇進試験対策
  • Teams
  • 自己PR
  • TeamsとPower Automate
  • 新卒就活で使える自己PR例文
  • Gemini in AppSheet
  • 転職用自己PR
  • slack
  • 志望動機(新卒就活用)
  • 介護と仕事の両立
  • 志望動機・転職・中途採用
  • IT試験(予想問題と概要)
  • ビジネスと慣用句(英文付き)
  • 言葉・単語の違いと使い分け
  • 迷惑電話・電話営業
  • プロンプトエンジニア・コンテキストエンジニアリング
  • ChatGPT・Gemini
  • 契約・法務関連用語
  • 賀詞
  • ビジネスと形容詞
  • セキュリティ
  • 雑学
  • 古語(昔使われていた言葉でたまにビジネスでも活用)
  • ビジネスメール【謝罪】
  • 未分類
  • 年賀状例文集(ハガキ・LINE)
  • 添付書謝罪メール例文
  • 欠勤・遅延メール例文【休む側・送信】
  • 年末の挨拶・新年の営業日(例文)
  • 二十四節気(時候の挨拶)
  • 学校・幼稚園からの通達
  • トレンド・営業や会話で使えるかも?ひと休み
  • お悔みメール・忌引き例文
  • ビジネスメール謝罪(社外向け)
  • おじさんビジネス用語
  • お詫び状(ビジネス例文)
  • 就活・転職【面接関連】
  • お断りメール(社外向けビジネス)
  • 営業の手法・効果的な営業とは?
  • 催促メール(社内・社外用)
  • 敬語・他の言い回し(ビジネス・社会人)
  • 依頼メール
  • フリーランス・個人事業
  • アルバイト・パート
  • ビジネスマナー
  • お礼メール(ビジネス・社会人)
  • 語彙力(ビジネス・社会人での常識)
  • ネットショップ・ECサイト
  • 営業(ビジネス例文・注意点)
  • 事務・総務メール例文
  • ビジネス用語
Recent Posts 生成AIにおけるプロンプトとは?分かりやすく!この1ページで全てを解説 azure障害の確認方法は?また対処法は? 議員定数削減はいつから?いつの選挙から開始が濃厚? ダイソー自主回収ステンレスボトル 何が起きた?返金・返品方法は? 2025年山形県での熊出没情報は約2000件 2026年4月 月火水木金土日 123456789101112131415161718192021222324252627282930 著者

© 2026 はっくなび All rights reserved.

📎📎📎📎📎📎📎📎📎📎