TeamsとPower Automateで異動希望の進捗状況を自動化をしたい!
「異動希望の申請状況が今どうなっているか分かりにくい」「承認者からの連絡が遅いと不安になる」「手動での進捗確認やリマインドが手間」。従業員のキャリアに関わる異動希望は、デリケートで重要なプロセスです。しかし、その進捗管理が煩雑だと、従業員の不満に繋がりかねませんし、人事部門の負担も増えてしまいますよね。
Power AutomateとTeams、そして異動希望の情報を管理するSharePointリストを組み合わせることで、異動希望の申請から承認、そして進捗状況の自動通知までをシームレスに行う仕組みを構築できます。これにより、異動希望プロセスの透明性を高め、従業員の安心感と人事部門の業務効率を飛躍的に向上させられますよ。
なぜ異動希望の進捗状況管理を自動化することが大切なの?
従業員の異動希望を適切に管理し、その進捗を透明化することは、従業員満足度向上と戦略的な人材配置に不可欠です。この自動化がもたらす具体的なメリットについて、一緒に見ていきましょう。
従業員の安心感を高め、エンゲージメントを向上できるから
異動希望を提出した従業員にとって、その後の進捗状況が不透明だと不安を感じやすいものです。自動通知システムは、申請の受付、承認プロセスの進行、結果通知といった節目で、従業員へタイムリーにTeams通知を送ります。これにより、従業員は自分の希望が適切に処理されていることを認識でき、安心感が高まり、会社へのエンゲージメント向上に繋がるでしょう。
人事部門の問い合わせ対応負担を大幅に軽減できるから
「私の異動希望、今どこまで進んでいますか?」「承認されましたか?」。このような定型的な問い合わせは、人事部門に集中しがちです。自動化システムを導入することで、従業員自身がTeams通知やSharePointリストで進捗を確認できるようになるため、人事部門はこれらのルーティンワークから解放され、従業員との面談やキャリアサポートといった、より価値の高い業務に集中できるようになります。
承認プロセスが迅速化し、遅延を防げるから
異動希望の承認は、直属の上長、部門長、人事部門など、複数の承認者が関わることが多いです。手動での承認依頼やリマインドでは、承認が滞り、対応が遅れてしまうリスクがあります。自動承認ワークフローを導入すれば、承認依頼がタイムリーに適切な承認者へTeamsで届き、その場で承認・却下のアクションを取れます。これにより、承認までの時間を大幅に短縮し、プロセス全体の遅延を防げるでしょう。
人的ミスを減らし、管理の正確性を高められるから
異動希望の申請情報の転記ミス、承認状況の更新漏れ、連絡のし忘れなど、手動プロセスでは様々な人的ミスが発生しがちです。自動化されたワークフローは、これらのヒューマンエラーのリスクを大幅に削減します。全ての履歴がシステム上に記録されるため、常に正確な情報に基づいたプロセスが実行され、管理の正確性と信頼性が向上します。
構築システムの準備を始めよう
異動希望の進捗状況自動化システムを作る前に、いくつか確認し、準備しておくべきことがあります。これらを事前に整理しておくことで、スムーズに自動化を進められます。
異動希望情報の「入力方法」と「置き場所」を決めよう
Power Automateが異動希望申請を検知するためには、従業員がどこで申請を行うかを明確にする必要があります。ここでは、「Microsoft Forms」または「SharePointリスト」の活用を推奨します。
- Microsoft Formsの活用(推奨):
- 従業員が異動希望を申請するためのフォームを作成します。FormsはTeamsと連携しやすいため、申請の入口として最適です。
- 申請項目例:
- 申請者名、社員番号、所属部署
- 異動希望部署(第一希望、第二希望)
- 異動希望理由
- 活かしたいスキル、学びたいスキル
- 上長への確認状況(任意)
- (オプション)上長メールアドレス
- SharePointリストの活用:
- Formsからの回答データや、異動希望の進捗状況を管理するための中央リポジトリとしてSharePointリストを設計します。
- 必要な列(例):
- タイトル(既定): 申請者氏名
- 社員番号: テキスト(1行)
- メールアドレス: テキスト(1行、通知用)
- 所属部署: テキスト(1行)
- 上長(ユーザー列): 申請者の直属の上長(承認依頼先)
- 人事担当者(ユーザー列): 担当人事
- 異動希望部署1: テキスト(1行)または選択肢
- 異動希望理由: 複数行テキスト
- 現在の承認ステータス: 選択肢(例:
申請中、一次承認待ち、二次承認待ち、人事検討中、承認済、却下、取り下げ)、**既定値は申請中**とします。 - 最終承認者: ユーザー列
- 最終承認日時: 日付と時刻
- 承認コメント: 複数行テキスト
- 進捗更新日時: 日付と時刻(自動更新)
- 最終リマインダー通知日時: 日付と時刻(重複通知防止用)
承認ルートと通知先を決めよう
誰がこの異動希望を承認するのか、承認ルートはどのような多段階になるのか、そして申請・承認後にどこに、誰に対して通知したいのかを事前に明確にしておきましょう。
- 承認者:
- 申請者の直属の上長(一次承認者)。
- 所属部門長(二次承認者)。
- 人事部門責任者(最終承認者)。
- 承認ルートの分岐:
- 申請者の役職や所属部署によって分岐。
- 希望部署の重要性によって分岐。
- 通知先:
- 承認者へのTeamsチャット(推奨): 承認依頼のメインの通知先。
- 申請者へのTeamsチャット: 申請受付完了、承認結果(承認/却下/取り下げ)、進捗ステータス変更通知。
- 人事担当者へのTeamsチャット: 申請受付、ステータス変更、最終結果通知。
- 関連チャネルへ投稿(オプション): 異動希望の全体状況共有用(例:
人事部_異動希望管理)。
通知する「メッセージ内容」と「テンプレート」を準備しよう
自動でTeamsに投稿されるメッセージは、簡潔かつ分かりやすく、次のアクションを促せるように工夫しましょう。
- 申請受付通知(申請者向け):
- 件名:
【異動希望申請受付完了】 - 本文: 申請内容の確認、現在のステータス、今後の流れ。
- 件名:
- 承認依頼通知(承認者向け):
- 件名:
【承認依頼】異動希望申請のご確認(申請者:〇〇) - 本文: 申請者、希望部署、理由概要、承認・却下・差し戻しアクションボタン、承認コメント入力欄、申請詳細へのリンク。
- 件名:
- ステータス変更通知(申請者/人事向け):
- 件名:
【異動希望_進捗更新】〇〇さんの希望が〇〇に進みました - 本文: 申請者、希望部署、変更前/後のステータス、承認者、コメント、詳細へのリンク。
- 件名:
- 承認完了通知(申請者/人事向け):
- 件名:
【✅承認完了】異動希望申請「〇〇」が承認されました - 本文: 結果、承認者、詳細へのリンク。
- 件名:
- 却下/取り下げ通知(申請者/人事向け):
- 件名:
【❌却下/取り下げ】異動希望申請「〇〇」 - 本文: 結果、理由、承認者コメント、詳細へのリンク。
- 件名:
必要な「権限」を確認しよう
Power Automateでフローを作成し、Formsの回答を読み取り、SharePointリストの情報を読み書きし、Teamsにメッセージを送信するためには、フローを実行するアカウントが適切な権限を持っている必要があります。
- Formsへのアクセス権: 申請フォームのURLと回答内容を取得できる権限。
- SharePointリストへのアクセス権: 異動希望管理リストに対する「読み取り」および「書き込み」権限が必要です。
- Teamsチャネル/チャットへのメッセージ投稿権: 投稿先のTeamsチャネルまたは個人チャットへのメッセージ投稿権限が必要です。
Power Automateで自動化を設定しましょう(基本編)
ここからはいよいよ、Power Automateを使って異動希望の進捗状況自動化フローを作成していきます。Formsで異動希望申請が送信されたことをトリガーに、SharePointリストに登録し、一次承認者へTeamsで承認依頼を送信する基本的なフローから見ていきましょう。
フローを作成する場所を決めましょう
Power Automateのウェブサイトにアクセスし、左側のメニューから「作成」を選択します。今回は、特定のイベント(Formsの回答)が発生したときに自動的に実行されるフローなので、「自動化したクラウド フロー」を選択します。
トリガーを設定しましょう
フローのトリガーとは、「いつ」このフローを実行するかを決定するものです。ここでは、Formsで異動希望申請が送信されたときにフローを実行したいので、トリガーには「新しい応答が送信されるとき (Microsoft Forms)」を選択します。
作成例1:Forms異動希望申請送信時にSharePointリスト登録&一次承認者へTeams承認依頼
このフローは、従業員がFormsで異動希望申請を送信した際に、その内容をSharePointリストに記録し、一次承認者(例: 直属の上長)へTeamsで承認依頼を送信します。
- Power Automateにサインインします。 お使いのMicrosoft 365アカウントでPower Automateのウェブサイト(
https://make.powerautomate.com/)にアクセスし、サインインします。 - 「作成」から「自動化したクラウド フロー」を選択します。 左側のナビゲーションペインにある「作成」をクリックし、表示されるオプションの中から「自動化したクラウド フロー」を選択します。
- フロー名を指定し、トリガーを選択します。 フロー名には「異動希望申請_承認フロー」など、分かりやすい名前を付けます。 「フローのトリガーを選択してください」の検索ボックスに「Forms」と入力し、「新しい応答が送信されるとき (Microsoft Forms)」を選択して「作成」をクリックします。
- トリガーの詳細を設定します。
- フォーム ID: 事前に作成した「異動希望申請フォーム」(Microsoft Forms)を選択します。
- 新しいステップを追加し、フォームの応答詳細を取得します。 「+ 新しいステップ」をクリックします。 検索ボックスに「Forms」と入力し、「応答の詳細を取得します (Microsoft Forms)」を選択します。
- フォーム ID: トリガーで選択したフォームと同じものを選択します。
- 応答 ID: 動的なコンテンツのリストから「応答 ID」(「新しい応答が送信されるとき」トリガーからの出力)を選択します。
- 新しいステップを追加し、申請者と一次承認者(上長)のメールアドレスを取得します。 Formsの回答者メールアドレスは
Responder's Emailで取得できますが、上長の情報は別途Azure ADから取得します。- 「ユーザー プロファイル (V2) を取得する (Azure AD)」アクション(申請者):
- User (UPN):
@{triggerOutputs()?['body/responder']?['email']}(Forms回答者のメールアドレス)
- User (UPN):
- 「ユーザー プロファイル (V2) を取得する (Azure AD)」アクション(上長):
- User (UPN):
@{outputs('ユーザー_プロファイル_(V2)_を取得する')?['body/manager']}(申請者の上長メールアドレス) - 補足: Azure ADで上長が設定されている場合にのみ有効です。Formsで「承認依頼先上長のメールアドレス」を入力させるのが、より確実な方法です。
- User (UPN):
- 「ユーザー プロファイル (V2) を取得する (Azure AD)」アクション(申請者):
- 新しいステップを追加し、SharePointリストに申請情報を記録します。 「+ 新しいステップ」をクリックします。 検索ボックスに「SharePoint」と入力し、「新しいアイテムを作成します (SharePoint)」を選択します。
- サイトのアドレス:
異動希望管理リストを作成したSharePointサイトのURLを選択します。 - リスト名: 作成したSharePointリスト(例:
異動希望管理)を選択します。 - 各列に値をマッピングします。 Formsの質問項目とSharePointリストの列を対応付けます。
- タイトル:
@{outputs('応答の詳細を取得します')?['body/r〇〇〇']} (申請者名) - 社員番号:
@{outputs('応答の詳細を取得します')?['body/r〇〇〇']} (社員番号) - メールアドレス:
@{triggerOutputs()?['body/responder']?['email']} - 異動希望部署1:
@{outputs('応答の詳細を取得します')?['body/r〇〇〇']} (希望部署) - 現在の承認ステータス: 「申請中」(固定値)
- 申請日時:
utcNow()(フロー実行時の日時) - 上長:
@{outputs('ユーザー_プロファイル_(V2)_を取得する_2')?['body/mail']}(上長のメールアドレス) - 人事担当者: (人事担当者を固定で設定するか、人事部メンバーのメールアドレス)
- 補足:
r〇〇〇はFormsの質問IDです。
- タイトル:
- サイトのアドレス:
- 新しいステップを追加し、一次承認者へTeamsで承認依頼を送信します。 「+ 新しいステップ」をクリックし、「アクションを開始して承認を待機します (承認)」アクションを選択します。
- 承認の種類: 「最初の応答」
- タイトル:
異動希望申請承認依頼: @{outputs('新しいアイテムを作成します')?['body/Title']}(希望部署:@{outputs('新しいアイテムを作成します')?['body/異動希望部署1']}) - 割り当て先:
@{outputs('ユーザー_プロファイル_(V2)_を取得する_2')?['body/mail']}(上長のメールアドレス) - 詳細:
以下の異動希望申請の承認をお願いいたします。 申請者: @{outputs('新しいアイテムを作成します')?['body/Title']} 社員番号: @{outputs('新しいアイテムを作成します')?['body/社員番号']} 現在の所属: @{outputs('新しいアイテムを作成します')?['body/所属部署']} 希望部署: @{outputs('新しいアイテムを作成します')?['body/異動希望部署1']} 希望理由: @{outputs('応答の詳細を取得します')?['body/r〇〇〇']} (希望理由のForms質問ID) ▼詳細を確認 [SharePointリストを開く]@{outputs('新しいアイテムを作成します')?['body/WebUrl']} - 項目へのリンク:
@{outputs('新しいアイテムを作成します')?['body/WebUrl']}(SharePointリストアイテムへの直接リンク) - 項目への説明:
申請内容を確認し、承認または却下してください。
- 新しいステップを追加し、承認結果によって処理を分岐します。 「+ 新しいステップ」をクリックし、「条件」アクションを選択します。
- 左側の値: 「アクションを開始して承認を待機します」アクションの
Outcomeを選択します。 - 演算子: 「次の値と等しい」
- 右側の値: 「
Approve」と入力します。
- 左側の値: 「アクションを開始して承認を待機します」アクションの
- 「はい」のパス(承認された場合)に、SharePointアイテムの更新と次の承認プロセスへの連携を行います。
- 「項目を更新します (SharePoint)」アクション:
- サイトのアドレス/リスト名:
異動希望管理リスト - ID:
@{outputs('新しいアイテムを作成します')?['body/ID']}(作成されたアイテムのID) - 現在の承認ステータス: 「
承認待ち_二次」(次の承認者へ回す場合、例: 部門長)または「人事検討中」(人事部門へ連携する場合)を選択します。 - 最終承認者: 「アクションを開始して承認を待機します」アクションの
Responses Approver Name - 最終承認日時:
utcNow() - 承認コメント: 「アクションを開始して承認を待機します」アクションの
Responses Comments
- サイトのアドレス/リスト名:
- 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション(申請者向け):
- 投稿先: チャット
- 受信者: 申請者のメールアドレス
- メッセージ: 「異動希望申請が一次承認されました!(現在のステータス:〇〇)。詳細:[リンク]」
- 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション(人事担当者向け):
- 投稿先: チャネルまたはチャット
- メッセージ: 「@{outputs(‘新しいアイテムを作成します’)?[‘body/Title’]}さんの異動希望が一次承認されました。」
- 「項目を更新します (SharePoint)」アクション:
- 「いいえ」のパス(却下された場合)に、SharePointアイテムの更新とTeams通知アクションを追加します。
- 「項目を更新します (SharePoint)」アクション:
- 現在の承認ステータス: 「
却下」または「差し戻し」を選択します。 - 最終承認者: 「アクションを開始して承認を待機します」アクションの
Responses Approver Name - 最終承認日時:
utcNow() - 承認コメント: 「アクションを開始して承認を待機します」アクションの
Responses Comments
- 現在の承認ステータス: 「
- 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション(申請者向け):
- 投稿先: チャット
- 受信者: 申請者のメールアドレス
- メッセージ: 「異動希望申請が却下されました。理由:[承認コメント]」
- 「項目を更新します (SharePoint)」アクション:
- フローを保存してテストします。 画面右上の「保存」をクリックします。 保存後、「テスト」をクリックし、「手動」を選択して「テスト」をクリックします。 Formsでテスト用の異動希望申請を送信します。Teamsで上長に承認依頼が届くので、承認/却下を行い、その結果がTeamsに通知され、SharePointの「現在の承認ステータス」が更新されることを確認します。
アクションを設定しましょう
トリガーが発動したら、次に「何を」するのかを設定します。これがアクションです。
- Formsアクション:
- 「新しい応答が送信されるとき」: 異動希望申請フォームが送信されたことを検知するトリガー。
- 「応答の詳細を取得します」: フォームから送信された申請内容の詳細を取得します。
- Azure ADアクション(オプション):
- 「ユーザー プロファイル (V2) を取得する」: 申請者やその上長(承認者)の情報を取得します。
- SharePointアクション:
- 「新しいアイテムを作成します」: 異動希望申請情報をSharePointリストに記録します。
- 「項目を更新します」: 承認結果や進捗状況に基づいて、申請の「現在の承認ステータス」などを更新します。
- 承認アクション:
- 「アクションを開始して承認を待機します」: Teams上で承認者へ承認依頼のカードを送信し、応答を待ちます。
- 制御アクション:
- 「条件」: 承認結果(承認/却下/差し戻し)や、承認ルートの分岐条件を判断します。
- Teamsアクション:
- 「チャットまたはチャネルにメッセージを投稿する」: 申請受付通知、承認依頼、承認結果通知、進捗ステータス変更通知などに使用します。
通知メッセージのカスタマイズをしましょう
メッセージの内容は、動的なコンテンツを利用して、申請者、社員番号、所属部署、希望部署、希望理由、承認者、コメント、申請詳細へのリンクなどを自動的に埋め込むことができます。
- 申請者名:
Title(SharePointリストアイテム) - 社員番号/所属部署/希望部署: SharePointリストの列名
- 希望理由: Formsの回答
- 承認者名/コメント: 承認アクションの出力
- SharePointリストアイテムへのリンク:
WebUrl(SharePointリストアイテムへの直接リンク)
これらの情報を適切に配置することで、パーソナルで正確な申請依頼を自動で送信し、関連者への通知も分かりやすくできます。
Power Automateで自動化を設定しましょう(応用編)
基本編で作成したフローをさらに便利にするための応用テクニックを見ていきましょう。
多段階承認ルートを構築する(人事部門承認まで)
直属上長だけでなく、部門長、人事部門責任者など、複数の承認者が順番に承認を行う多段階ルートを自動で設定します。
作成例2:多段階承認ルートを構築するPower Automateフロー(人事部門承認まで)
基本編のフローの「はい」のパス(一次承認された場合)に、さらに条件分岐と承認アクションを追加します。
- 基本編のフロー(異動希望申請_承認フロー)を開きます。
- ステップ10の「はい」のパス(一次承認された場合)内を開きます。
- 「項目を更新します (SharePoint)」アクションで「現在の承認ステータス」を「
承認待ち_二次」に更新。
- 「項目を更新します (SharePoint)」アクションで「現在の承認ステータス」を「
- 新しいステップを追加し、二次承認者(例: 部門長)の承認アクションを追加します。
- 「アクションを開始して承認を待機します (承認)」アクション(二次承認):
- 割り当て先: 部門長のメールアドレス(Formsで入力させるか、Azure ADで自動取得)。
- タイトル:
異動希望申請承認依頼(二次承認): @{outputs('新しいアイテムを作成します')?['body/Title']} - 詳細: 稟議件名、一次承認者、一次承認コメントなどを記載。
- その後の「条件」アクションで二次承認の結果をチェックします。
- 「アクションを開始して承認を待機します (承認)」アクション(二次承認):
- 内側の「はい」のパス(二次承認された場合)に、人事部門の承認ステップを追加します。
- 「項目を更新します (SharePoint)」アクションで「現在の承認ステータス」を「
人事検討中」に更新。 - 「アクションを開始して承認を待機します (承認)」アクション(人事部門承認):
- 割り当て先: 人事担当者や人事部長のメールアドレス。
- タイトル:
異動希望申請_最終承認依頼(人事部門): @{outputs('新しいアイテムを作成します')?['body/Title']} - 詳細: これまでの承認履歴(一次、二次承認者名とコメント)を記載。
- その後の「条件」アクションで人事承認の結果をチェックします。
- 「項目を更新します (SharePoint)」アクションで「現在の承認ステータス」を「
- 人事承認後の処理を分岐します。
- 「はい」のパス(最終承認された場合):
- 「項目を更新します (SharePoint)」アクション: 「現在の承認ステータス」を「
承認済」に更新。 - 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション: 申請者へ「異動希望申請が最終承認されました!」と通知。人事担当者へも通知。
- 「項目を更新します (SharePoint)」アクション: 「現在の承認ステータス」を「
- 「いいえ」のパス(人事却下/取り下げの場合):
- 「項目を更新します (SharePoint)」アクション: 「現在の承認ステータス」を「
却下」または「取り下げ」に更新。 - 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション: 申請者へ却下理由を通知。
- 「項目を更新します (SharePoint)」アクション: 「現在の承認ステータス」を「
- 「はい」のパス(最終承認された場合):
- フローを保存してテストします。 多段階の稟議を提出し、承認ルートが正しく分岐し、各承認者へ依頼が届き、最終結果が通知されることを確認します。
承認が遅延している場合にリマインドする
承認依頼を送信したものの、一定時間(例:24時間)経過しても承認が完了していない場合に、自動でリマインド通知を送信することで、承認忘れやプロセスの停滞を防ぎます。
作成例3:承認が遅延している場合にリマインドするPower Automateフロー(別フロー)
このフローは、毎日特定の時間に実行され、承認待ちの期間が長い異動希望申請を検索し、承認者へTeamsでリマインドを送信します。
- 新しいフローを「スケジュール済みクラウド フロー」として作成します。
- フロー名:「異動希望_承認遅延リマインダー」
- 繰り返し: フローを実行したい頻度を設定します。例:毎日、午前10時。
- 新しいステップを追加し、SharePointリストから承認待ちの申請を取得します。 「アイテムの取得 (SharePoint)」アクションを追加します。
- サイトのアドレス: 異動希望管理リストのSharePointサイト
- リスト名:
異動希望管理リスト - フィルタークエリ:
(現在の承認ステータス eq '承認待ち_一次' or 現在の承認ステータス eq '承認待ち_二次' or 現在の承認ステータス eq '人事検討中') and 申請日時 lt '@{formatDateTime(addHours(utcNow(), -24), 'yyyy-MM-ddTHH:mm:ssZ')}'- 補足: これは「承認待ちのいずれかのステータス」で、かつ申請日時から24時間以上経過したものを抽出します。
- 新しいステップを追加し、取得した各申請に対して処理を繰り返します。 「アプライ トゥー イーチ」コントロールを追加し、「アイテムの取得」アクションの
値を選択します。 - 「アプライ トゥー イーチ」の中に「条件」アクションを追加し、現在のステータスから承認者を特定します。
- 左側の値:
@{items('アプライ_トゥー_イーチ')?['現在の承認ステータス']?['Value']} - 演算子: 「次の値と等しい」
- 右側の値: 「
承認待ち_一次」
- 左側の値:
- 「はい」のパス(一次承認待ちの場合)に、Teamsへのリマインダー通知アクションを追加します。
- 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション:
- 投稿先: チャット
- 受信者:
@{items('アプライ_トゥー_イーチ')?['上長']?['Email']}(上長のメールアドレス) - メッセージ:
@{items('アプライ_トゥー_イーチ')?['上長']?['DisplayName']}様 【🚨重要リマインダー】異動希望申請の承認依頼が保留中です。 @{items('アプライ_トゥー_イーチ')?['Title']}さんの異動希望申請がまだ承認されていません。 お手数ですが、ご確認の上、承認をお願いいたします。 申請者: @{items('アプライ_トゥー_イーチ')?['申請者']?['DisplayName']} 依頼日時: @{formatDateTime(items('アプライ_トゥー_イーチ')?['申請日時'], 'yyyy/MM/dd HH:mm')} ▼申請を確認し承認する [承認アクション] (Teamsの承認カードへの直接リンクがあればここに追加) [リストアイテムを開く]@{items('アプライ_トゥー_イーチ')?['WebUrl']} - 重要度: 「重要」を選択します。
- (オプション)申請者への通知: 承認が遅れている旨を申請者にも通知します。
- 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション:
- 「いいえ」のパスに、二次承認待ち、人事検討中の場合のリマインダーを追加します。
- フローを保存してテストします。 テスト用の稟議書を「承認待ち_一次」にし、しばらく待ってからフローを手動で実行し、リマインダーが届くことを確認します。
異動希望の進捗状況ダッシュボードをTeamsに埋め込む(Power BI連携)
SharePointリストに蓄積された異動希望申請のデータをPower BIで可視化し、申請件数、各承認段階での滞留件数、平均承認時間、承認率、却下率などをダッシュボードで一目で確認できるようにします。Teamsチャネルにタブとして埋め込むことで、常時アクセス可能な「見える化」のハブとなります。
作成例4:異動希望の進捗状況ダッシュボードをTeamsに埋め込む(Power BI連携)
これはPower Automateのフロー自体ではなく、Power BIとTeamsの連携機能です。
- SharePointリストのデータ準備:
- 上記フローでデータを自動登録している
異動希望管理リストが、Power BIのデータソースとなります。 - 「現在の承認ステータス」「申請日時」「最終承認日時」「最終承認者」「承認コメント」などの列をPower BIで利用できるようにしておきます。
- 上記フローでデータを自動登録している
- Power BI Desktopでレポート作成:
- Power BI Desktopを開き、「データの取得」から「SharePointオンラインリスト」を選択し、
異動希望管理リストをデータソースとして追加します。 - データを加工し、以下のレポートを作成します。
- KPIカード: 総申請件数、承認済み件数、承認待ち件数、却下件数、平均承認時間。
- ドーナツグラフ: 各承認ステータス別の割合。
- 棒グラフ: 部署別の申請件数、承認者別の処理件数。
- 折れ線グラフ: 月別の申請件数推移、平均承認時間推移。
- テーブル: 承認待ちの申請一覧(件名、申請者、現在のステータス、滞留日数)。
- これらのレポートを分かりやすいダッシュボードにまとめます。
- Power BI Desktopを開き、「データの取得」から「SharePointオンラインリスト」を選択し、
- Power BI Serviceに発行:
- 作成したレポートをPower BI DesktopからPower BI Service(クラウドサービス)に発行します。
- TeamsにPower BIレポートをタブとして追加:
- Teamsを開き、異動希望状況を可視化したいチャネル(例:
人事部_異動希望管理)を選択します。 - チャネルの上部にある「+」ボタンをクリックし、新しいタブを追加します。
- 「Power BI」アプリを検索して選択します。
- 表示されたワークスペースから、先ほど発行したレポートまたはダッシュボードを選択します。
- 「保存」をクリックします。
- Teamsを開き、異動希望状況を可視化したいチャネル(例:
メリット: 人事部門や管理層はTeamsを離れることなく、常に最新の異動希望状況ダッシュボードを確認できます。これにより、問題の早期発見、承認プロセスのボトルネックの特定、そして戦略的な人材配置に役立てることができます。
エラー対策とトラブルシューティングを確認しましょう
Power Automateフローは、確実に動作することが求められます。特に従業員のキャリアに関わる異動希望は、その信頼性が非常に重要ですし、誤作動は避けたいものです。よくあるエラーとその対策、そしてトラブルシューティングのポイントをご紹介します。
権限不足のエラーが出た場合
「アクセスが拒否されました」といったエラーメッセージが表示される場合、Power AutomateがFormsの回答を読み取ったり、SharePointのリストを操作したり、Teamsにメッセージを送信したりするための権限が不足している可能性があります。
フローを実行するアカウントが、対象のForms、SharePointリスト、Teamsチャネルに対して適切な権限を持っていることを確認してください。人事部門やシステム管理者がフローを作成・管理するのが望ましいでしょう。
Formsの入力ミスやSharePoint列との不一致の場合
Formsで異動希望申請を入力する際、入力ミスや、SharePointリストの列のデータ型と合致しない形式で入力される場合に、フローがエラーになることがあります。特にユーザー列へのマッピングに注意が必要です。
- Formsでの入力規則の設定: 希望部署など、選択肢がある項目は自由入力ではなくプルダウンリストで選択させるようにしましょう。
- SharePoint列のデータ型: SharePointリストの列のデータ型が、Formsからのデータと一致しているか確認しましょう。
- Power Automateでのデータ変換: 必要に応じて
formatDateTime()やint()といった関数を使って、明示的なデータ型変換を行うことで、堅牢性を高めましょう。 - ユーザー列には、メールアドレス形式の値を渡す必要があります。
上長情報取得エラーが出た場合
Forms回答者の上長情報をAzure ADから取得する場合、Azure ADに上長が正しく設定されていないと、上長が見つからずにフローが失敗します。
- Formsで上長メールアドレスを入力させる: 申請者がFormsで直接、承認を依頼する上長のメールアドレスを入力する項目を設けるのが最も確実です。
- Azure ADのデータ整備: Azure ADで上長情報が正確に登録されているか確認し、整備を促しましょう。
- エラー時の代替通知: 上長情報が取得できなかった場合に、人事部門のチャネルにエラー通知を送り、手動での対応を促すロジックを組み込みましょう。
通知がTeamsに届かない場合(フローは成功しているのに)
Power Automateの実行履歴ではフローが「成功」しているのに、Teamsに通知が届かない場合があります。
- Teamsの通知設定: 受信者(申請者、承認者など)のTeamsアプリの通知設定で、Flow botからの通知がブロックされていないか、ミュートされていないかなどを確認してください。
- 受信者のメールアドレス: Teamsのチャット通知の場合、受信者のメールアドレスが正確であるかを確認しましょう。
- 接続の正常性: Power Automateの「データ」→「接続」で、Teamsへの接続が正常に確立されているかを確認しましょう。
フローの履歴を確認しましょう
エラーが発生した場合や、フローが意図通りに動作しない場合は、Power Automateのフロー実行履歴を確認することが最も重要ですされます。
- Power Automateの「マイ フロー」から、該当のフローを選択します。
- 「実行履歴」タブをクリックします。
- 失敗した実行、または成功したものの動作が怪しい実行を選択すると、フローの各ステップがどのように処理され、どこでエラーが発生したか、そして入力/出力データやエラーメッセージの詳細を確認できます。
各アクションの「入力」と「出力」を確認することで、どのデータがどのように処理され、どこで問題が発生したのかを詳細に把握できます。特にFormsからのデータ取得、承認者情報の解決、承認アクションの出力が期待通りに構成されているかを確認しましょう。
セキュリティとアクセス管理を確認しましょう
異動希望に関する情報は、従業員のキャリアや人事評価に関わる機密性の高い個人情報です。自動化システムを構築する際は、セキュリティとアクセス管理に細心の注意が必要です。
SharePointリストの権限設定を適切にしましょう
異動希望管理リストに保存されたデータは、誰が閲覧・編集できるべきかを厳密に管理する必要があります。
- 編集権限: 申請者(自身の申請のみ)、人事担当者(全体)、各段階の承認者(承認依頼中の稟議のみ)など、限られたメンバーにのみ「編集」権限を付与しましょう。
- 閲覧権限: 原則として、従業員は自分自身の申請のみ閲覧可能とします。人事部門や経営層は全体の閲覧権限を持ちます。
- 最小限の原則: 必要な人にのみ最小限の権限を与えましょう。
- グループの活用: 個々のユーザーに権限を付与するのではなく、Active DirectoryグループやMicrosoft 365グループを利用して権限を管理することで、運用が容易になります。
Teamsチャネル/チャットの権限設定を適切にしましょう
異動希望に関する通知が送信されるTeamsチャネルやチャットのメンバーシップも適切に管理しましょう。
- 個人チャットの利用: 申請者や承認者への通知は、個人チャットが最も安全で適切です。
- プライベートチャネルの利用: 異動希望の全体管理チャネル(例:
人事部_異動希望管理)は、必ず「プライベート」チャネルとし、関係者以外が閲覧できないようにしましょう。 - 一般チャネルへの通知の制限: 全員がアクセスできる「一般」チャネルには、異動希望に関する機密性の高い情報(氏名、希望部署、理由など)は原則として投稿しないようにしましょう。
フローの作成と実行権限を管理しましょう
この自動化フローは、従業員のキャリアに関わる重要な個人情報を扱うため、不用意に作成・変更・実行できないように、適切な権限管理が必要です。
- フロー作成者の制限: 重要なフローの作成権限は、人事部門の責任者や特定のシステム管理者にのみ付与することを検討しましょう。
- 共有の最小化: フローを他のユーザーと共有する際は、実行のみの権限に限定し、共同所有者としての共有は慎重に検討しましょう。共同所有者はフローを編集できるため、意図しない変更のリスクがあります。
- サービスアカウントの利用: フローの実行アカウントが個人アカウントではなく、専用のサービスアカウントであれば、個人の人事異動や退職の影響を受けにくく、権限管理も一元化しやすいでしょう。
個人情報保護への配慮を忘れずに
異動希望に関する情報には、申請者の氏名、所属、希望理由といった個人情報が含まれます。これらの情報の取り扱いには、個人情報保護法などの関連法令や社内規定を遵守するよう細心の注意を払いましょう。
- 利用目的の明確化: 異動希望情報の収集目的を従業員に明確に伝え、適切に管理しましょう。
- 安全な保管: 不必要なアクセスを制限し、データの安全な保管に努めましょう。
- 保持期間の検討: 異動希望情報の保持期間を定め、期間経過後は適切に廃棄する運用を検討しましょう。
まとめ
ここまで、Power AutomateとTeams、Microsoft Forms、SharePointリストを組み合わせることで、異動希望の進捗状況を自動化する方法について、基本的な設定から応用、エラー対策、そしてセキュリティとアクセス管理まで、詳細に解説してきました。
この自動化されたシステムは、異動希望申請の透明性を高め、承認プロセスを迅速化し、従業員の安心感を向上させるための強力なツールとなるでしょう。結果として、人事部門の業務効率向上と、戦略的な人材配置への貢献に大きく貢献できます。
まずは、この記事で紹介した基本的なフローを実際に作成し、ご自身の環境で試してみてください。そして、貴社の人事制度や情報共有のニーズに合わせて、応用編で紹介した機能を追加したり、さらに独自のカスタマイズを加えたりすることで、より洗練された異動希望管理システムを実現できるはずです。

