Power AutomateとTeamsで契約社員・派遣社員の契約更新を自動管理する!
「契約満了日が近づいているのに、気づくのが遅れる」「更新の意思確認や手続きの案内を毎回手動で送るのが大変」「契約情報の管理が煩雑で、更新漏れが心配」。契約更新は、従業員の安定した雇用と企業のコンプライアンス遵守に直結する非常に重要な業務です。しかし、手動での期日管理や連絡は、手間がかかり、見落としのリスクも伴いがちですよね。
ご安心ください!Power AutomateとTeams、そして契約情報を管理するSharePointリストを組み合わせることで、契約社員・派遣社員の契約更新期日を自動で検知し、本人や上長、人事・総務部門へ迅速にTeamsで通知する仕組みを構築できます。これにより、契約更新プロセスをスムーズにし、従業員のエンゲージメント向上とコンプライアンス強化を両立できるでしょう。
なぜ契約更新管理を自動化することが大切なの?
契約社員や派遣社員の方々の契約更新を適切に管理することは、従業員の安心と企業の法的リスク回避に不可欠です。自動化がもたらす具体的なメリットについて、一緒に見ていきましょう。
契約更新漏れを防ぎ、コンプライアンスを強化できるから
労働契約法や労働者派遣法では、契約更新に関する手続きや、有期契約労働者への配慮義務が定められています。これらのルールを適切に遵守するためには、契約満了日を正確に把握し、 timely に更新手続きを進める必要があります。自動通知システムは、契約満了日を検知し、必要なアクションを促すことで、契約更新漏れといったコンプライアンス違反のリスクを大幅に低減できます。
本人・上長・人事の連携がスムーズになり、手続きの遅延を防げるから
契約更新には、本人への意思確認、上長へのヒアリング、人事部門での手続きと承認など、複数の関係者が関わります。手動での連絡や調整では、情報伝達の遅れや見落としが発生しやすく、手続きが滞りがちです。自動通知システムは、各関係者へ適切なタイミングでTeams通知を送るため、情報共有がスムーズになり、手続きの遅延を防いで円滑な契約更新を実現できます。
人事・総務部門の業務負担を大幅に軽減できるから
多数の契約社員や派遣社員を抱える企業では、一人ひとりの契約満了日を台帳で確認し、個別に連絡を送る作業は、非常に手間がかかります。自動通知システムを導入することで、これらの定型的な監視・連絡業務から解放され、担当者はより戦略的な人材配置や、従業員エンゲージメントの向上といった、価値の高い業務に集中できるようになります。結果として、部門全体の生産性向上とストレス軽減に貢献するでしょう。
従業員の安心感を高め、エンゲージメントを向上できるから
契約社員や派遣社員の方々にとって、契約更新は自身のキャリアや生活に関わる重要な事柄です。会社側から適切なタイミングで丁寧な案内が届くことは、従業員に安心感を与え、会社への信頼とエンゲージメントを高めます。このような配慮は、従業員の定着率向上にも繋がるでしょう。
構築システムの準備を始めよう
契約社員・派遣社員の契約更新管理の自動化システムを作る前に、いくつか確認し、準備しておくべきことがあります。これらを事前に整理しておくことで、スムーズに自動化を進められます。
契約情報の「置き場所」を決めよう
Power Automateが契約更新の期日を検知するためには、契約情報がどこかに保存されており、Power Automateからアクセスできる必要があります。ここでは、「SharePointリスト」で管理することを想定します。
- SharePointリストの作成:
- 人事・総務部門用のSharePointサイトを選択するか、新規作成します。
- リスト名(例:
契約社員・派遣社員契約管理)で新しいリストを作成します。 - 必要な列の追加(例):
- タイトル(既定): 従業員氏名
- 社員番号: テキスト(1行)
- メールアドレス: テキスト(1行、通知用)
- 雇用形態: 選択肢(例:
契約社員、派遣社員) - 所属部署: テキスト(1行)
- 上長: ユーザー列(従業員の直属の上長)
- 契約開始日: 日付と時刻
- 契約満了日: 日付と時刻(必須)
- 契約更新回数: 数値(無期転換ルール対応のため)
- 契約ステータス: 選択肢(例:
有効、更新検討中、更新済み、満了、満了後離職) - 更新意思確認フォームURL: ハイパーリンクまたは画像(別途Formsで作成)
- 最終リマインダー通知日時: 日付と時刻(重複通知防止用、Power Automateで自動更新)
- 備考: 複数行テキスト
- (補足) 既存の人事システムとの連携: もし貴社で既に人事システムやHRISを利用している場合、そのシステムがPower Automateのコネクタを提供しているか確認してください。コネクタがあれば、SharePointリストを介さずに直接連携できる場合があります。コネクタがない場合は、システムからCSVファイルを定期的にエクスポートし、それをOneDrive/SharePointに保存する、またはAPI連携(より高度)を検討します。
通知を送るTeamsの「場所」を決めよう
契約更新に関する通知を、どこに、誰に対して送りたいのかを決定します。
- 本人へのTeamsチャット: 従業員個人へ直接通知します。これが最も確実でパーソナルな方法です。
- 上長へのTeamsチャット: 従業員の直属の上長へ直接通知します。
- 人事・総務部門チャネル: 契約更新の全体状況把握、手続きの進捗管理用(例:
人事部_契約更新管理)。 - 部署別チャネル(オプション): 特定の部署に関する契約満了が集中する場合などに通知します。
リマインダーメッセージの内容とタイミングを考えよう
自動で送信される通知メッセージは、簡潔かつ明確で、受け手が次の行動に移しやすい情報が過不足なく含まれている必要があります。
- 通知タイミングの例:
- 契約満了日の3ヶ月前: 本人・上長・人事へ通知。更新の意思確認と手続きの全体像を案内。
- 契約満了日の1ヶ月半前 (45日前): 本人・上長・人事へリマインド。意思確認フォームへの回答期限を促す。
- 契約満了日の1ヶ月前 (30日前): 本人・上長・人事へ最終リマインド。未回答者への回答催促、未確定者への対応。
- 契約満了日の7日前: 人事・総務部門へ最終確認リマインド(手続き漏れ防止)。
- メッセージの例(本人向け):
- 件名:
【重要】契約更新のご案内:〇〇様 - 本文: 「〇〇様、現在の契約の満了日が〇月〇日に迫ってまいりました。つきましては、契約更新の意向確認と手続きのご案内です。」「▼詳細はこちら」「▼意思確認フォームはこちら」
- 件名:
- メッセージの例(上長向け):
- 件名:
【重要】部下〇〇の契約満了日が近づいています - 本文: 「部下〇〇の契約満了日が〇月〇日に迫っています。本人への意向確認と評価面談、および貴殿の更新判断をお願いいたします。」
- 件名:
- メッセージの例(人事向け):
- 件名:
【契約更新_要対応】〇〇さんの契約満了日(〇月〇日)が近づいています - 本文: 〇〇さんの契約更新手続きが「未完了」です。進捗確認と対応をお願いします。
- 件名:
Power Automateで自動化を設定しよう(基本編)
Power Automateを使って契約更新管理の自動通知フローを作成していきます。SharePointリストに登録された契約満了日を基に、本人・上長・人事へTeamsでリマインダーを送信する基本的なフローから見ていきましょう。
フローを作成する場所を決めよう
Power Automateのウェブサイトにアクセスし、左側のメニューから「作成」を選択します。今回は、毎日特定の時間にフローを実行し、期日が近い契約を検索して通知するフローなので、「スケジュール済みクラウド フロー」を選択します。
トリガーを設定しよう
フローのトリガーとは、「いつ」このフローを実行するかを決定するものです。ここでは、「毎日特定の時間にフローを実行する」というスケジュールトリガーを設定します。
作成例1:契約満了日を検知し、本人・上長・人事へTeamsで自動リマインダー
このフローは、毎日実行され、契約満了日までの残り日数に応じて、従業員本人、直属の上長、および人事担当者へTeamsチャットでリマインダー通知を送信します。
- Power Automateにサインインします。 お使いのMicrosoft 365アカウントでPower Automateのウェブサイト(
https://make.powerautomate.com/)にアクセスし、サインインします。 - 「作成」から「スケジュール済みクラウド フロー」を選択します。 左側のナビゲーションペインにある「作成」をクリックし、表示されるオプションの中から「スケジュール済みクラウド フロー」を選択します。
- フロー名を指定し、トリガーを設定します。 フロー名には「契約更新_期日リマインダー」など、分かりやすい名前を付けます。
- 繰り返し間隔: 「
1」日、「日」を選択します。 - 開始時刻: 毎日フローを実行したい時刻(例:
09:00)を設定します。 - 「作成」をクリックします。
- 繰り返し間隔: 「
- 新しいステップを追加し、SharePointリストから契約情報を取得します。 「+ 新しいステップ」をクリックします。 検索ボックスに「SharePoint」と入力し、「アイテムの取得 (SharePoint)」を選択します。
- サイトのアドレス:
契約社員・派遣社員契約管理リストを作成したSharePointサイトのURLを選択します。 - リスト名: 作成したSharePointリスト(例:
契約社員・派遣社員契約管理)を選択します。 - フィルタークエリ:
契約ステータス eq '有効' and 契約満了日 ge '@{formatDateTime(utcNow(), 'yyyy-MM-dd')}' and 契約満了日 le '@{formatDateTime(addMonths(utcNow(), 3), 'yyyy-MM-dd')}'- 補足: これは「契約ステータスが『有効』で、かつ契約満了日が現在から3ヶ月以内(今日を含む)」の契約書を抽出します。
- サイトのアドレス:
- 新しいステップを追加し、取得した各契約情報に対して処理を繰り返します。 「アプライ トゥー イーチ」コントロールを追加し、「アイテムの取得」アクションの
値を選択します。 - 「アプライ トゥー イーチ」の中に、現在から契約満了日までの残り日数を計算する式を設定します。
- 「作成」アクション(残り日数計算):
div(sub(ticks(items('アプライ_トゥー_イーチ')?['契約満了日']), ticks(utcNow())), 864000000000)- 補足: これは「契約満了日」から現在までの日数を計算します。
- 「作成」アクション(残り日数計算):
- 「アプライ トゥー イーチ」の中に「条件」アクションを追加し、残り日数に基づいてリマインダーを分岐します。
- 3ヶ月前通知の条件:
- 左側の値: 残り日数計算の出力
- 演算子: 「次の値より大きいか、または等しい」
- 右側の値:
61 - 追加条件(AND): 残り日数計算の出力が
90以下であること。 - 追加条件(AND):
リマインダー通知状況が未通知と等しい (二重通知防止)
- 1ヶ月半前(45日前)通知の条件:
- 左側の値: 残り日数計算の出力
- 演算子: 「次の値より大きいか、または等しい」
- 右側の値:
31 - 追加条件(AND): 残り日数計算の出力が
45以下であること。 - 追加条件(AND):
リマインダー通知状況が未通知または3ヶ月前通知済と等しい (二重通知防止)
- 1ヶ月前(30日前)通知の条件:
- 左側の値: 残り日数計算の出力
- 演算子: 「次の値より大きいか、または等しい」
- 右側の値:
0 - 追加条件(AND): 残り日数計算の出力が
30以下であること。 - 追加条件(AND):
リマインダー通知状況が未通知または3ヶ月前通知済または45日前通知済と等しい (二重通知防止)
- 3ヶ月前通知の条件:
- 各条件の「はい」のパスに、Teamsへのリマインダー通知とSharePointの「リマインダー通知状況」更新アクションを設定します。
- 例:3ヶ月前通知(1つ目の「条件」の「はい」のパス)
- (本人への通知)「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション:
- 投稿者: Flow bot
- 投稿先: チャット
- 受信者:
アプライ トゥー イーチ内のアイテムから取得した従業員の「メールアドレス」 - メッセージ:
@{items('アプライ_トゥー_イーチ')?['Title']}様 【重要】契約更新のご案内(3ヶ月前) 現在の契約の満了日が@{formatDateTime(items('アプライ_トゥー_イーチ')?['契約満了日'], 'yyyy/MM/dd')}に迫っています。 つきましては、契約更新の意向確認と手続きのご案内です。 ▼詳細はこちらをご確認ください [契約情報]@{items('アプライ_トゥー_イーチ')?['WebUrl']} ▼意思確認フォームはこちら [回答する]@{items('アプライ_トゥー_イーチ')?['更新意思確認フォームURL']?['Description']} - 重要度: 「重要」を選択します。
- (上長への通知)「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション:
- 投稿先: チャット
- 受信者:
アプライ トゥー イーチ内のアイテムから取得した「上長」のメールアドレス。 - メッセージ: 「部下@{items(‘アプライ_トゥー_イーチ’)?[‘Title’]}さんの契約満了日(@{formatDateTime(items(‘アプライ_トゥー_イーチ’)?[‘契約満了日’], ‘yyyy/MM/dd’)})が近づいています。」(上記同様のメッセージを調整)
- (人事への通知)「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション:
- 投稿先: チャネル(
人事部_契約更新管理) - メッセージ: 「@{items(‘アプライ_トゥー_イーチ’)?[‘Title’]}さんの契約更新対応を開始してください。」
- 投稿先: チャネル(
- 「項目を更新します (SharePoint)」アクション:
- サイトのアドレス: SharePointサイト
- リスト名:
契約社員・派遣社員契約管理 - ID:
アプライ トゥー イーチ内のアイテムのID - リマインダー通知状況: 「
3ヶ月前通知済」に更新
- (本人への通知)「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション:
- 例:1ヶ月前(30日前)通知(2つ目の「条件」の「はい」のパス)
- 上記と同様に本人・上長・人事への通知を設定し、メッセージ内容と「リマインダー通知状況」を調整します(例: 「1ヶ月前通知済」)。特に未回答者への催促を強調します。
- 例:3ヶ月前通知(1つ目の「条件」の「はい」のパス)
- フローを保存してテストします。 画面右上の「保存」をクリックします。 保存後、「テスト」をクリックし、「手動」を選択して「テスト」をクリックします。 SharePointリスト(
契約社員・派遣社員契約管理)に、テスト用の契約情報(契約満了日を現在の3ヶ月後、1ヶ月後などに設定し、契約ステータスを「有効」、リマインダー通知状況を「未通知」に設定)を登録します。 Power Automateのフロー実行履歴を確認し、本人・上長・人事のTeamsに適切なリマインダーが届いていることを確認します。
アクションを設定しよう
トリガーが発動したら、次に「何を」するのかを設定します。これがアクションです。
- スケジュールアクション:
- 「繰り返し」: 毎日特定の時間にフローを実行するためのトリガー。
- SharePointアクション:
- 「アイテムの取得」: 契約管理リストから、期日が近い契約情報を取得します。
- 「項目を更新します」: 契約書の「リマインダー通知状況」や「契約ステータス」を更新し、通知が重複しないように管理します。
- データ操作アクション:
- 「作成」: 日数計算など、一時的なデータ処理に使用します。
- 「アプライ トゥー イーチ」: 取得した契約情報ごとにループ処理を行います。
- Teamsアクション:
- 「チャットまたはチャネルにメッセージを投稿する」: 従業員本人、上長、人事・総務部門へリマインダー通知を送信します。
- 「重要度」の設定: このアクションの設定項目の中に、「重要度」というドロップダウンがあります。緊急性に応じて「重要」を選択することを検討しましょう。
通知メッセージのカスタマイズをしよう
メッセージの内容は、動的なコンテンツを利用して、従業員氏名、契約満了日、更新意思確認フォームURL、契約情報へのリンクなどを自動的に埋め込むことができます。
- 従業員氏名:
Title - 契約満了日:
契約満了日(SharePointリストの列名) - 上長名:
上長/DisplayName(SharePointリストのユーザー列) - 更新意思確認フォームURL:
更新意思確認フォームURL(SharePointリストのハイパーリンク列) - 契約情報リストへのリンク:
WebUrl(SharePointリストアイテムへの直接リンク)
これらの情報をメッセージ本文に適切に配置することで、受け取った関係者が、どの契約が、いつ満了し、次に何をすべきかを、一目で把握できるように工夫しましょう。簡潔で分かりやすいメッセージと、すぐにアクションできるリンクが重要です。
Power Automateで自動化を設定しよう(応用編)
基本編で作成したフローをさらに便利にするための応用テクニックを見ていきましょう。
契約更新の意思確認フォームの回答を自動で管理する
従業員からの契約更新意思確認フォーム(Microsoft Forms)の回答があった際に、その回答を自動でSharePointリストに集計し、人事・総務部門へ通知します。これにより、意思確認の状況を正確に把握できます。
作成例2:契約更新の意思確認フォームの回答を自動で集計・管理するPower Automateフロー(別フロー)
このフローは、Formsの回答があったことをトリガーに、SharePointリストに回答内容を記録し、運営担当者へ通知します。
- 新しいフローを「自動化したクラウド フロー」として作成します。
- フロー名:「契約更新_意思確認回答集計」
- トリガー: 「新しい応答が送信されるとき (Microsoft Forms)」(契約更新意思確認フォーム用)を選択します。
- 新しいステップを追加し、フォームの応答詳細を取得します。
- 「応答の詳細を取得します (Microsoft Forms)」アクションを追加します。
- 新しいステップを追加し、内定者情報を取得します。 フォームから取得した従業員情報(メールアドレスや社員番号)をキーに、
契約社員・派遣社員契約管理リストから該当の従業員情報を取得します。- 「アイテムの取得 (SharePoint)」アクションを追加します。
- フィルタークエリ:
メールアドレス eq '@{outputs('応答の詳細を取得します')?['body/r〇〇〇']}'(フォームから取得した従業員のメールアドレス)
- 新しいステップを追加し、
契約社員・派遣社員契約管理リストの「契約ステータス」を更新します。- 「項目を更新します (SharePoint)」アクションを追加します。
- サイトのアドレス: SharePointサイト
- リスト名:
契約社員・派遣社員契約管理 - ID: 「アイテムの取得」で取得したアイテムの
ID - 契約ステータス: フォームの回答(例:「更新希望」「更新しない」)に応じて、「
更新検討中」などに更新します。
- 新しいステップを追加し、Teamsに人事・総務部門へ通知します。
- 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション:
- 投稿者: Flow bot
- 投稿先: チャネル
- チーム: 人事・総務部門のチーム
- チャネル:
人事部_契約更新管理チャネル - メッセージ:
【✅契約更新意思確認_新着】 @{outputs('応答の詳細を取得します')?['body/r〇〇〇']}様より、契約更新の意向回答がありました。 従業員名: @{outputs('応答の詳細を取得します')?['body/r〇〇〇']} 意向: @{outputs('応答の詳細を取得します')?['body/r〇〇〇']} 現在のステータス: @{outputs('項目を更新します')?['body/契約ステータス']?['Value']} 詳細はこちら: [契約管理台帳へのリンク]@{outputs('アイテムの取得')?['body/value'][0]['WebUrl']}
- 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション:
- フローを保存してテストします。 契約更新意思確認フォームを送信し、
契約社員・派遣社員契約管理リストの該当従業員のステータスが更新され、Teamsに通知が届くことを確認します。
契約更新プロセスの承認ワークフローを組み込む
従業員や上長からの意向確認後、人事部門内で契約更新の可否を判断し、承認を行うワークフローをTeams上で組み込むことで、プロセスの透明性と管理性を高めます。
作成例3:契約更新プロセスの承認ワークフローを組み込むPower Automateフロー
これは、作成例2のフロー(意思確認回答集計)の後に組み込むか、独立したフローとして作成します。ここでは、意思確認後に人事部門への承認依頼を出す例を挙げます。
- 「契約更新_意思確認回答集計」フロー(作成例2)を開きます。
- 「項目を更新します (SharePoint)」アクション(契約ステータス更新)の後に、新しいステップを追加します。
- 「アクションを開始して承認を待機します (承認)」アクション:
- 承認の種類: 「最初の応答」または「全員が承認」(承認者が複数いる場合)
- タイトル:
【承認依頼】契約社員@{outputs('応答の詳細を取得します')?['body/r〇〇〇']}様の契約更新について - 割り当て先: 承認者(人事部長や担当役員など、メールアドレスを直接入力)。
- 詳細:
@{outputs('応答の詳細を取得します')?['body/r〇〇〇']}様(契約社員)の契約更新に関する承認依頼です。 契約満了日: @{formatDateTime(outputs('アイテムの取得')?['body/value'][0]?['契約満了日'], 'yyyy/MM/dd')} 本人意向: @{outputs('応答の詳細を取得します')?['body/r〇〇〇']} 上長コメント: (上長からのコメントをFormsで取得している場合) ▼詳細はこちらをご確認ください [契約情報]@{outputs('アイテムの取得')?['body/value'][0]['WebUrl']} - カスタム応答: 「はい」「いいえ」ではなく、承認者からのコメント入力欄を追加。
- 「アクションを開始して承認を待機します (承認)」アクション:
- 新しいステップを追加し、承認結果によって処理を分岐します。
- 「条件」アクションを追加します。
- 左側の値: 「アクションを開始して承認を待機します」アクションの
Outcomeを選択。 - 演算子: 「次の値と等しい」
- 右側の値: 「
Approve」(承認された場合)
- 「はい」のパス(承認された場合)に、SharePointリストの更新と本人への通知を追加します。
- 「項目を更新します (SharePoint)」アクション: 契約の「契約ステータス」を「
更新済み」に更新。 - 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション: 本人へ「契約が更新されました」と通知。
- (オプション)「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション: 人事・総務部門のチャネルへ「〇〇さんの契約が更新されました」と通知。
- 「項目を更新します (SharePoint)」アクション: 契約の「契約ステータス」を「
- 「いいえ」のパス(却下された場合)に、SharePointリストの更新と本人への通知を追加します。
- 「項目を更新します (SharePoint)」アクション: 契約の「契約ステータス」を「
満了」または「満了後離職」に更新。 - 「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション: 本人へ「契約更新はされません」と通知(承認者コメントを添える)。
- (オプション)「チャットまたはチャネルにメッセージを投稿する (Teams)」アクション: 人事・総務部門のチャネルへ「〇〇さんの契約満了に伴い、離職が決定しました」と通知。
- 「項目を更新します (SharePoint)」アクション: 契約の「契約ステータス」を「
- フローを保存してテストします。 意思確認フォームにテスト回答を送信し、Teamsに承認依頼が届き、承認/却下によってその後の処理が分岐することを確認します。
Power BIで契約更新状況のダッシュボードを可視化する
SharePointリストに蓄積された契約情報をPower BIで可視化し、契約社員・派遣社員の総数、契約満了が近い人数、更新率、雇用形態別の状況などをダッシュボードで一目で確認できるようにします。Teamsチャネルにタブとして埋め込むと、常時アクセス可能な「見える化」のハブとなります。
作成例4:Power BIで契約更新状況のダッシュボードを可視化する
これはPower Automateのフロー自体ではなく、Power BIとTeamsの連携機能です。
- SharePointリストのデータ準備:
- 上記フローでデータを自動登録している
契約社員・派遣社員契約管理リストが、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がSharePointのリストを操作したり、Teamsにメッセージを送信したりするための権限が不足している可能性があります。
対策: フローを実行するアカウントが、対象のSharePointリストに対して「編集」権限(アイテム作成・更新のため)と、Teamsチャネルへのメッセージ投稿権限、個人チャットへのメッセージ送信権限を持っていることを確認してください。人事・総務部門やシステム管理者がフローを作成・管理するのが望ましいでしょう。
SharePointリストのデータ型不一致の場合
契約情報をSharePointリストに登録・更新する際、列のデータ型とフローから送られるデータの型が一致しない場合にエラーが発生することがあります。特に日付形式やユーザー列へのマッピングに注意が必要です。
対策
- SharePointリストの列のデータ型と、Power Automateで処理する際のデータ型が一致しているか確認します。
formatDateTime()を使用して、日付や時刻の形式を変換・整形するようにしましょう。- ユーザー列には、メールアドレス形式の値を渡す必要があります。
通知がTeamsに届かない場合(フローは成功しているのに)
Power Automateの実行履歴ではフローが「成功」しているのに、Teamsに通知が届かない場合があります。
対策
- Teamsの通知設定: 受信者(従業員本人、上長、人事担当者など)のTeamsアプリの通知設定で、Flow botからの通知がブロックされていないか、ミュートされていないかなどを確認してください。
- 受信者のメールアドレス: Teamsのチャット通知の場合、受信者のメールアドレスが正確であるかを確認しましょう。SharePointリストのメールアドレスが最新であるかを定期的に確認する運用も重要です。
- 接続の正常性: Power Automateの「データ」→「接続」で、Teamsへの接続が正常に確立されているかを確認しましょう。
フローの履歴を確認しましょう
エラーが発生した場合や、フローが意図通りに動作しない場合は、Power Automateのフロー実行履歴を確認することが最も重要ですされます。
- 手順:
- Power Automateの「マイ フロー」から、該当のフローを選択します。
- 「実行履歴」タブをクリックします。
- 失敗した実行、または成功したものの動作が怪しい実行を選択すると、フローの各ステップがどのように実行されたか、どこでエラーが発生したか、そして入力/出力データやエラーメッセージの詳細を確認できます。
- ポイント: 各アクションの「入力」と「出力」を確認することで、どのデータがどのように処理され、どこで問題が発生したのかを詳細に把握できます。特にSharePointリストからの「アイテムの取得」アクションで、期待通りの契約情報が抽出されているか、フィルタークエリが正しく機能しているかを確認しましょう。
セキュリティとアクセス管理を確認しましょう
契約社員・派遣社員の契約情報は、従業員の雇用や個人情報に関わる非常に機密性の高いデータです。自動化システムを構築する際は、セキュリティとアクセス管理に細心の注意が必要です。
SharePointリストの権限設定を適切にしましょう
契約社員・派遣社員契約管理リストに保存されたデータは、誰が閲覧・編集できるべきかを厳密に管理する必要があります。
- 編集権限: 人事・総務部門の限られたメンバーにのみ「編集」権限を付与しましょう。
- 閲覧権限: 上長は、自身の部下の契約情報のみを閲覧できるように設定し、他の従業員のデータは閲覧できないようにしましょう。従業員は原則として、自分自身のデータのみ閲覧可能とします。
- 最小限の原則: 必要な人にのみ最小限の権限を与えましょう。
- グループの活用: 個々のユーザーに権限を付与するのではなく、Active DirectoryグループやMicrosoft 365グループを利用して権限を管理することで、運用が容易になります。
Teamsチャネル/チャットの権限設定を適切にしましょう
契約更新に関する通知が送信されるTeamsチャネルやチャットのメンバーシップも適切に管理しましょう。
- 個人チャットの利用: 本人や上長への通知は、個人チャットが最も安全で適切です。
- プライベートチャネルの利用: 人事・総務部門向けの契約更新管理チャネルは、必ず「プライベート」チャネルとし、関係者以外が閲覧できないようにしましょう。
- 一般チャネルへの通知の制限: 全員がアクセスできる「一般」チャネルには、契約更新に関するアラートは原則として投稿しないようにしましょう。
フローの作成と実行権限を管理しましょう
この自動化フローは、従業員の雇用に関する重要な個人情報を扱うため、不用意に作成・変更・実行できないように、適切な権限管理が必要です。
- フロー作成者の制限: 重要なフローの作成権限は、人事・総務部門の責任者や特定のシステム管理者にのみ付与することを検討しましょう。
- 共有の最小化: フローを他のユーザーと共有する際は、実行のみの権限に限定し、共同所有者としての共有は慎重に検討しましょう。共同所有者はフローを編集できるため、意図しない変更のリスクがあります。
- サービスアカウントの利用: フローの実行アカウントが個人アカウントではなく、専用のサービスアカウントであれば、個人の人事異動や退職の影響を受けにくく、権限管理も一元化しやすいでしょう。
個人情報保護への配慮を忘れずに
契約社員・派遣社員の契約情報は、氏名、メールアドレス、契約期間といった個人情報を含むため、個人情報保護法などの関連法令や社内規定を遵守するよう細心の注意を払いましょう。
- 利用目的の明確化: 契約情報の収集目的を従業員に明確に伝え、同意を得ましょう。
- 安全な保管: 不必要なアクセスを制限し、データの安全な保管に努めましょう。
- 保持期間の検討: 契約情報の保持期間を定め、期間経過後は適切に廃棄する運用を検討しましょう。
- 契約更新意思確認フォームの設計: 従業員の意思確認フォームで収集する情報も、必要最低限に留め、適切に管理しましょう。
まとめ
Power AutomateとTeams、SharePointリストを組み合わせることで、契約社員・派遣社員の契約更新管理を自動化する方法について、基本的な設定から応用、エラー対策、そしてセキュリティとアクセス管理まで、詳細に解説してきました。
この自動化されたシステムは、契約更新漏れを防ぎ、手続きを迅速化し、人事・総務部門の負担を軽減するための強力なツールとなるでしょう。結果として、従業員の安心感向上と企業のコンプライアンス強化に大きく貢献できます。

