前回の落とし穴の経験をもとに考え直した結果、以下の処理をSharePoint OnlineのリストとFlowの組み合わせで自動で実現できるようになった。
・SharePoint Onlineリストの情報をもとに、指定の日付になったら、対象者にメールを送信する
・メールを受信した対象者は、メール本文に記載されている「Approve(承認)」「Reject(却下)」ボタンで応答する
・応答結果をもとに、SharePoint Onlineの対象行の情報を更新する
実現方法は割とシンプルで、2つのリストと2つのフローを作ること。
メインになるリストがある場合、対象行を日付や諸条件をもとにフィルターするところまでは以前のエントリの通り。そこで抽出した対象行を、もう1つ用意しておいた別のテンポラリリスト(対象者の連絡に必要な列のみ保有)に項目をコピー(作成)する。ここまでが1つ目のフローで、日次処理をトリガーとしている。
もう1つのフローは、テンポラリリストに「項目が作成されたとき」をトリガーとする。そうすることで、僅差はあるかもしれないが、メインのリストで対象が複数になった場合も、1行単位の処理が行えるようになる。これで、前の行の対象者が承認処理に応えてくれなくても、並列に処理が走っているため、依存せずに後続の対象行の処理が行えるようになる。
あとは、対象者の「Approve(承認)」の処理に対する後続処理(メインのリストの項目の更新)をアクションとして追加することで、当初実現したかった一連の動きの自動化が実現できるようになった。整理すると以下のような流れ。
わざわざリストを分けたり、別のフローを作成しないといけないため、多少面倒ではあるが、一度作ってしまえば特に問題なく機能するため、これはこれでOKかな、と思っている。

0 件のコメント:
コメントを投稿