タスクや納品日などの期日を管理する際、SharePoint を利用される方もいらっしゃるかと思います。
SharePoint リストに記載した期日の〇日前になったらリマインダーを送る、といった単純作業は Power Automate で自動化できます。
今回の記事では、以下の2通りを、初心者向けに徹底解説していきます。
- 期日〇日前になったら自分自身にリマインダーを送る方法【Modern 限定】
- 期日〇日前になったら社内の人にリマインダーを送る方法
SharePointでの事前準備
まず、Power Automate 作成前に SharePoint のリストで準備しておくことを説明いたします。
期日の列の設置
この記事をご覧の方は、すでに期日を入力する列は SharePoint で作成済かもしれません。
今一度、期日の列が「日付と時刻」になっているかご確認ください。
⚙設定>リストの設定>列 で対象の列をクリックすると、「この列の情報の種類」を確認できます。
【社内の人にリマインダーを送る場合】ユーザーまたはグループ列を設置
この設定は、リマインダーを自分自身にのみ送りたい方には必須ではありません。
社内の人に送る場合は、情報の列が「ユーザーまたはグループ」の列を設置します。
この設定により、この列に入力されたユーザーへリマインダーを送ることができます。
Power Automate でフローを作成する
SharePoint での事前準備が終わったら、実際に Power Automate でフローを作成していきましょう。
自分自身にリマインダーを送る方法【Modern 限定】
自分自身にリマインダーを送るフローは、SharePoint 上より簡単に作成することができます。
※「Modern」エクスペリエンス限定の機能です。
① 対象のリストで「自動化」>アラームを設定>期日 と選択していきます。
※「日付と時刻」の列のみが、候補として選択できるようになります。
② 以下の画面が表示されたら、「続行」をクリックします。
③ 適当なフロー名をつけ、何日前にリマインダーを送るかを決定し、「作成」をクリックします。
ここでは7日前にリマインダーを送るように設定しました。
これだけで完成です!
作成されたフローは Power Automate の「マイフロー」保存されているので、確認してみましょう。
期日〇日前に社内の人にリマインダーを送る方法
特定の人にリマインダーを送る場合は、Power Automate からフローを作成します。
完成図からお見せすると、フローはこのような3Step です。
- 1日1回フローを実行するようにスケジュールする
- SharePoint リストの複数の項目を取得する
- Outlook から特定の人へメールを送信する
それでは手順の詳細をステップごとに説明いたします。
1日1回フローを実行するようにスケジュールする
フローの作成を開始しましょう!
① 作成>スケジュール済みクラウドフロー をクリックします。
② フロー名を設定し、繰り返し間隔を1日に変更してから「作成」をクリックします。
③ 「詳細オプションを表示する」をクリックして、タイムゾーンや設定時刻を選択しましょう。
※今回は後の作業の便宜上、9:05以降を設定してください。
これで、フローをスケジュールさせることができました。
一番下の「+新しいステップ」をクリックして次のステップへ進みます。
SharePointリストの複数の項目を取得する
続いて、Power Automate に SharePoint リストのデータを取得させます。
① 「複数の項目の取得」アクションを選択します。
⑤ 適切なSharePointサイトのアドレスとリスト名を選択し、「詳細オプションを表示する」をクリックして「フィルタークエリ」を設定していきます。
フィルタークエリでは、OData_から始まる呪文のような英数字が入力されていますね。
ここに入力する英数字は自分で取得する必要があります。
このフィルタークエリは本記事で一番の要になりますので、詳しく説明していきます。
フィルタークエリによる条件設定
フィルタークエリでは、「SharePointリストのとある列の条件が〇〇だった時にフローを実行する」といった条件設定を行うことができます。
例えば今回のケースでは、「’期日’列の日付が今日から〇日後に等しい場合」にフローを実行するよう、条件設定をします。
上の画像の OData__X4f9d__x983c__x4e88__x5b9a__x65 eq ‘addDays(…)’ のフィルタークエリは3つの構成でできています。
- ‘期日’列 → OData__X4f9d__x983c__x4e88__x5b9a__x65
- 等しい(イコール) → eq
- 今日から〇日後 → ’addDays(utcNow(),〇,’yyyy-MM-dd’)’
1つずつ見ていきましょう。
OData_ を入力して列を指定する
OData_では、SharePointリストの特定の列を指定します。
本来であればリスト名に合わせて、
期日 eq ‘addDays(…)’
と入力したいのですが、列名が日本語の場合はこれだとフローは失敗してしまいます。
✓ 列名が日本語の場合
OData_以降の英数字は SharePoint リストの設定画面より取得します。
① ⚙設定>リストの設定>列 で対象の列をクリックし、アドレスバーの「Field=」以降の文字列をコピーしましょう。
② Power Automate のフィルタークエリに OData_ と入力し、その後ろにコピーした文字列をペーストします。
ODataの後ろに「_(アンダーバー)」を入れてください。
これで列の指定はOKです。
✓ 列名が英語の場合
もしSharePointリストの列名が期日ではなく「Deadline(締切)」など英語の場合は、
Deadline eq ‘addDays(…)’
と入力すればOKです。
比較演算子「eq」 (イコール)の入力
「期日が今日から〇〇日後に等しい場合」の等しいを表すものが「eq(イコール)」です。
※OData_の後ろに半角スペースを入れてから入力してください。
本記事では eq しか使いませんが、他にも以下の比較演算子を使って条件設定できます。
比較演算子 | 意味 |
---|---|
eq (イコール) | 等しい |
ne (ノット イコール) | 等しくない |
gt (グレイター ザン) | より大きい |
lt (レス ザン) | より小さい |
ge (グレイターザン オア イコール) | 以上 |
le (レスザン オア イコール) | 以下 |
addDays 関数の入力
addDays 関数では、「今日から〇〇日後」のように日付に特定の日数を追加できます。
フィルタークエリ内ではカッコの中身が「…」になっていますが、中には関数が省略されています。
関数の詳細は以下の通りです。
今回は一週間前のリマインダーを作成すべく、今日から7日後で設定してみます。
どのように入力していくか詳細を説明いたします。
① OData_~ eq を入力後、「動的なコンテンツの追加」をクリックし、式にaddDays(utcNow(),7,’yyyy-MM-dd’)と入力してOKします。
- yyyy-MM-dd のMは大文字で!
- OKをクリック後は、関数を「’ ‘」(クオテーション)で囲います。
これで、フィルタークエリの入力が終わりました!
「+新しいステップ」より次のステップへ進みましょう。
Outlook から社内の人へメールを送信する
ここまで来ればあと少しです!
リマインダーを送るべく、メールの送信設定を行いましょう。
①「送信」で検索をかけて、通常のメールか共有メールボックスのどちらかを適宜選択します。
※どちらかを選択すると、「Apply to each」アクションと「value」が自動的に追加されます。
② メールの宛先を設定します。
「複数の項目を取得する」アクションで取得してあるデータを利用しましょう。
「動的なコンテンツの追加」より「ユーザーまたはグループの列名」+Email を追加します。
※ダイレクトに特定の人のメールアドレスを入力することも可能です。
③ メールの件名・本文を入力します。
④ 「詳細オプションを表示する」より、CC・BCC、メールの重要度などを変更します。
以上で社内の人へリマインダーを送る手順は終了です!
フローが無事に動くか、テストをしてみましょう。
完成したフローのテスト
ここまで完成したら、フローを保存してテストを行います。
① 右上の画面で保存後、「テスト」をクリックして手動でテストを行います。
② 実際にSharePoint リストに新しいアイテムを追加し、フローが実行できるか確認します。
※テスト時は宛先を一時的に自分のメールアドレス宛に設定してから行いましょう。
③メールボックスにメールが届いているかを確認します。
これで Power Automate でのフローの作成は終了です!
まとめ
本記事では、SharePoint リストで設定した期日の〇日前にリマインダーを送る方法をご紹介しました。
- リマインドを自分だけに送りたい場合(かつ、SharePointがModernエクスペリエンスの場合)は、
SharePoint上よりフローを簡単に作成できる
- リマインドを対象ユーザーに送りたい場合は、Power Automateよりフローを作成する
期日チェックに追われている方、いつの間にか過ぎた期日を見落とすことの多い方は、ぜひお試しください。
コメント