【Power Automate × SharePoint】期日〇日前に自動でリマインダーを送る

Microsoft 365
この記事は約9分で読めます。

職場で Microsoft 365 をご利用の方は多いのではないでしょうか?


タスクや納品日などの期日を管理する際、SharePoint を利用される方もいらっしゃるかと思います。
もし組織内で Power Automate の利用がサポートされていたら、


SharePoint リストに記載した期日の〇日前になったらリマインダーを送る、といった単純作業は Power Automate で自動化できます



今回の記事では、以下の2通りを、初心者向けに徹底解説していきます。

  1. 期日〇日前になったら自分自身にリマインダーを送る方法【Modern 限定】
  2. 期日〇日前になったら社内の人にリマインダーを送る方法

 
条件設定には少しテクニックが必要ですが、理屈がわかると簡単です。是非お試しください!



SharePointでの事前準備

まず、Power Automate 作成前に SharePoint のリストで準備しておくことを説明いたします。

期日の列の設置

この記事をご覧の方は、すでに期日を入力する列は SharePoint で作成済かもしれません。
今一度、期日の列が「日付と時刻」になっているかご確認ください


⚙設定>リストの設定>列 で対象の列をクリックすると、「この列の情報の種類」を確認できます。

列の情報の確認方法
日付と時刻になっているか確認!

 

Modern の場合の確認方法

サイトが Modern エクスペリエンスの場合はリスト上より、簡単に確認することができます。

Modernのリストでの列の設定確認
対象の列で列の設定>編集
種類の確認
「日付と時刻」になっているか確認

【社内の人にリマインダーを送る場合】ユーザーまたはグループ列を設置

この設定は、リマインダーを自分自身にのみ送りたい方には必須ではありません


社内の人に送る場合は、情報の列が「ユーザーまたはグループ」の列を設置します。
この設定により、この列に入力されたユーザーへリマインダーを送ることができます。

ユーザまたはグループの列を設置
※ここでは列名を担当にしました

Power Automate でフローを作成する

SharePoint での事前準備が終わったら、実際に Power Automate でフローを作成していきましょう。

期日〇日前に自分自身にリマインダーを送る方法【Modern 限定】

自分自身にリマインダーを送るフローは、SharePoint 上より簡単に作成することができます
※「Modern」エクスペリエンス限定の機能です。
 
 

① 対象のリストで「自動化」>アラームを設定>期日 と選択していきます。
※「日付と時刻」の列のみが、候補として選択できるようになります。

「自動化」よりアラームの設定

 
 
② 以下の画面が表示されたら、「続行」をクリックします。

続行をクリック

 
 
③ 適当なフロー名をつけ、何日前にリマインダーを送るかを決定し、「作成」をクリックします。
ここでは7日前にリマインダーを送るように設定しました。

作成をクリック

 
これだけで完成です!
作成されたフローは Power Automate の「マイフロー」保存されているので、確認してみましょう。

マイフローより作成したフローを確認


 
フローを停止したくなった場合は、Power Automate より OFF・削除できます

FLOWのOFF・削除




期日〇日前に社内の人にリマインダーを送る方法

特定の人にリマインダーを送る場合は、Power Automate からフローを作成します。
完成図からお見せすると、フローはこのような3Step です。

フローの全体の流れ
フロー完成図

 

  1. 1日1回フローを実行するようにスケジュールする
  2. SharePoint リストの複数の項目を取得する
  3. Outlook から特定の人へメールを送信する


それでは手順の詳細をステップごとに説明いたします。

1日1回フローを実行するようにスケジュールする

フローの作成を開始しましょう!


① 作成>スケジュール済みクラウドフロー をクリックします。

スケジュール済みクラウドフローをクリック

 
 
② フロー名を設定し、繰り返し間隔を1日に変更してから「作成」をクリックします。

 
 
③ 「詳細オプションを表示する」をクリックして、タイムゾーンや設定時刻を選択しましょう。

 

UTC(世界標準時刻)と日本との時差の9時間分を考慮するために、設定時刻は 09:05 ~をお勧めします

9時より前に設定すると、フローは失敗してしまいます
※9時ジャストでもたまに失敗します…

 
これで、フローをスケジュールさせることができました。
一番下の「+新しいステップ」をクリックして次のステップへ進みます。

SharePointリストの複数の項目を取得する

続いて、Power Automate に SharePoint リストのデータを取得させます。

 
① 「複数の項目の取得」アクションを選択します。

複数の項目の取得をクリック

 
 
⑤ 適切なSharePointサイトのアドレスとリスト名を選択し、「詳細オプションを表示する」をクリックして「フィルタークエリ」を設定していきます。

SharePointアドレスとリスト名の選択とフィルタークエリ

 
フィルタークエリでは、OData_から始まる呪文のような英数字が入力されていますね。
ここに入力する英数字は自分で取得する必要があります


このフィルタークエリは本記事で一番の要になりますので、詳しく説明していきます。

フィルタークエリによる条件設定

フィルタークエリでは、「SharePointリストのとある列の条件が〇〇だった時にフローを実行する」といった条件設定を行うことができます

 

例えば今回のケースでは、「’期日’列の日付が今日から〇日後に等しい場合」にフローを実行するよう、条件設定をします。

 
上の画像の OData__X4f9d__x983c__x4e88__x5b9a__x65 eq ‘addDays(…)’ のフィルタークエリは3つの構成でできています。
 

  1. ‘期日’列 → OData__X4f9d__x983c__x4e88__x5b9a__x65
  2. 等しい(イコール) → eq
  3. 今日から〇日後 → ’addDays(utcNow(),〇,’yyyy-MM-dd’)’

 
1つずつ見ていきましょう。

OData_ を入力して列を指定する

OData_では、SharePointリストの特定の列を指定します。
本来であればリスト名に合わせて、


期日 eq ‘addDays(…)’


と入力したいのですが、列名が日本語の場合はこれだとフローは失敗してしまいます
 
 

✓ 列名が日本語の場合

OData_以降の英数字は SharePoint リストの設定画面より取得します

 
① ⚙設定>リストの設定>列 で対象の列をクリックし、アドレスバーの「Field=」以降の文字列をコピーしましょう。

「Field=」以降の文字列をコピー


 
② Power Automate のフィルタークエリに OData_ と入力し、その後ろにコピーした文字列をペーストします。
ODataの後ろに「_(アンダーバー)」を入れてください。

コピーした文字列をフィルタークエリに貼付
フィルタークエリに入力

 
これで列の指定はOKです。
 

✓ 列名が英語の場合

もしSharePointリストの列名が期日ではなく「Deadline(締切)」など英語の場合は、

 
Deadline eq ‘addDays(…)’

 
と入力すればOKです。

比較演算子「eq」 (イコール)の入力

「期日が今日から〇〇日後に等しい場合」の等しいを表すものが「eq(イコール)」です。
※OData_の後ろに半角スペースを入れてから入力してください。

「eq」(イコール)の入力
eq の入力

 

本記事では eq しか使いませんが、他にも以下の比較演算子を使って条件設定できます。

比較演算子意味
eq (イコール) 等しい
ne (ノット イコール) 等しくない
gt (グレイター ザン) より大きい
lt (レス ザン) より小さい
ge (グレイターザン オア イコール) 以上
le (レスザン オア イコール) 以下
addDays 関数の入力

addDays 関数では、「今日から〇〇日後」のように日付に特定の日数を追加できます

 
フィルタークエリ内ではカッコの中身が「…」になっていますが、中には関数が省略されています。

addDays関数

 
 
関数の詳細は以下の通りです。
今回は一週間前のリマインダーを作成すべく、今日から7日後で設定してみます。

関数の詳細

 
どのように入力していくか詳細を説明いたします。
 
 

OData_~ eq を入力後、「動的なコンテンツの追加」をクリックし、addDays(utcNow(),7,’yyyy-MM-dd’)と入力してOKします。

動的なコンテンツ追加

 

  • yyyy-MM-dd のMは大文字で!
  • OKをクリック後は、関数を「’ ‘」(クオテーション)で囲います
くおテーションで囲う

 
 
これで、フィルタークエリの入力が終わりました!
「+新しいステップ」より次のステップへ進みましょう。

 

論理演算子で条件を追加する

論理演算子を利用することで、フィルタークエリに条件を追加することができます

 
例えば、「’期日’列が今日から7日後」かつ「’部署’列が’営業’」の場合の条件を設定したい場合は、and を利用します。



代表的な論理演算子は次の2つです。

論理演算子意味
andかつ
orまたは

Outlook から社内の人へメールを送信する

ここまで来ればあと少しです!
リマインダーを送るべく、メールの送信設定を行いましょう。

 
①「送信」で検索をかけて、通常のメールか共有メールボックスのどちらかを適宜選択します。

メール送信アクションを選択


 
※どちらかを選択すると、「Apply to each」アクションと「value」が自動的に追加されます。

自動で追加されるApply to eachとvalue


 
② メールの宛先を設定します。
「複数の項目を取得する」アクションで取得してあるデータを利用しましょう。
「動的なコンテンツの追加」よりユーザーまたはグループの列名+Email を追加します。

動的なコンテンツより宛先の指定

※ダイレクトに特定の人のメールアドレスを入力することも可能です。


 
③ メールの件名・本文を入力します。

件名と本文の入力

 
 
④ 「詳細オプションを表示する」より、CC・BCC、メールの重要度などを変更します。
※デフォルトの重要度はです。

CCや重要度の設定

 
以上で社内の人へリマインダーを送る手順は終了です!
フローが無事に動くか、テストをしてみましょう。

完成したフローのテスト

ここまで完成したら、フローを保存してテストを行います。

 
① 右上の画面で保存後、「テスト」をクリックして手動でテストを行います。

保存とテストをクリック

 
 

② 実際にSharePoint リストに新しいアイテムを追加し、フローが実行できるか確認します。
 ※テスト時は宛先を一時的に自分のメールアドレス宛に設定してから行いましょう。

テスト成功時の表示
フロー成功時の画面

 
 
③メールボックスにメールが届いているかを確認します。

実際受信したメール
実際のメール画面

 
これで Power Automate でのフローの作成は終了です!

まとめ

本記事では、SharePoint リストで設定した期日の〇日前にリマインダーを送る方法をご紹介しました。

 
単純作業は AI を利用して、より重要なタスクに集中できるように。
そういった考えから誕生したものが Power Automate です。

 
ただ、プログラミングやコードの知識がないとまだまだ難しいのが現状です。
今後もわかりやすいように徹底解説した Power Automate の記事を作成していきたいと思います。

 
この記事が皆さんの業務の効率化に少しでも役に立てたら嬉しいです。