SharePoint×Teamsで承認回覧ワークフローを自作しました。
ワークフローで重視したことは「リストに登録されたことを通知し期限を自動フォローできること」、また「承認回覧を自動化しTeamsで投稿できること」の2点です。
Microsoft365のアプリのひとつであるPower Automateを使って構築しています。
それでは早速作り方について解説していきます。
※PowerAutomateの詳細な設定を書いており、記事全体が長くなりましたので各Partごとにページを区切っています。

ワークフローの導入・維持コストを抑えたいがための貧乏性が発揮されましたw
使用するアプリケーション一覧
この承認フローでは以下の4つのアプリを使用します。




ワークフローの動作
今回作ったワークフローは以下の動作が行えます。
Part1~4に分割して順に解説していきます。
尚、Part3の部分は1名に回覧するような図になっていますが、実際は2段階承認(審査者→承認者)に回るように設定しています。


このフローはリストの「動作」列が更新された時に動作する仕組みです。
SharePointの設定
それでは自動で承認回覧するワークフローを作っていきます。
初期のリストは以下のような設定としています。
リスト(ドロップダウン)選択する列は予めリストを作っておきましょう。
今回は「動作」の列が変更された時に承認回覧フローが機能する仕組みになっています。
ID | 担当者 | 報告期限 | 分類 | 状態 | 件名 | 優先度 | 区分 | 詳細 | 資料 | 起案日 | 回覧日 | 審査日 | 承認日 | 動作 |
名前またはメールアドレス | 日付と時刻 | 一行テキスト | リスト | 一行テキスト | リスト | リスト | 複数行テキスト | ハイパーリンク | 日付と時刻 | 日付と時刻 | 日付と時刻 | 日付と時刻 | リスト |
例)リストの設定
状態:作成中|審査中|承認中|完了|差戻し
優先度:高|中|低
区分:A|B
動作:ー|回覧|回覧1|回覧2
SharePointのリスト登録を通知させる自動フローはこちらで解説しています。
リストの初期設定も載せています。
PowerAutomateの設定
それではPowerAutomateの設定を行っていきます。
回覧する人数が多いほど長いフローになります。
今回は2名の上司に回覧するフローを作っています。
項目の修正~条件分岐1まで(Part1)
まずはSharePointリストの項目が更新された時に承認回覧フローを行うかどうかの条件分岐まで作りましょう。
- SharePointリストのアイテムが新規作成された時や列が修正されて保存された時をトリガーとします。

*サイトのアドレス | SharePointリストのアドレス(選択式) |
*リストやライブラリの名前 | SharePointリストの名前(選択式) |
フォルダー | 空欄でOK |
ビュー毎の列の制限 | 空欄でOK |

- SharePointリストの変更前後の状態を取得します。
*サイトのアドレス | SharePointリストのアドレス(選択式) |
*方法 | GET |
*URI | _api/web/Lists/getbytitle(‘リスト名‘)/Items(ID) |
ヘッダー | 空欄でOK |
ボディ | 空欄でOK |

- SharePointリストの列に変更があるかどうかを[true(変更あり)]、[false(変更なし)]で返します。
*サイトのアドレス | SharePointリストのアドレス(選択式) |
*リストやライブラリの名前 | SharePointリストの名前(選択式) |
*ID | ID |
*以降 | ウィンドウ開始のトークントリガー |
期限 | 空欄でOK |
マイナーバージョンを含める | 空欄でOK |
ビューごとの列制限 | 空欄でOK |

- この変数にはメールアドレスを入力します。
- フローの自動回覧先の設定やTeamsの投稿で@メンションする際に必要になります。
- それぞれのブロックでひとつずつ定義すると後で人が変わった時に大変なので変数で定義します。
- 必要な数だけ変数を設定しましょう。順番は回覧させる順序でなくてもOKです。

*名前 | 任意の値でOK |
*種類 | 文字列 |
値 | メールアドレスを入力します |

- この条件分岐では回覧するかしないかを判定します。
- 判定方法はアイテムやファイルの変更を取得する(SharePoint)で「変更があったか、なかったか」です。
- 「はい(変更がある)の場合」は承認回覧をフローを継続します。
- 「いいえ(変更がない)の場合」はフロー終了です。
条件分岐1~状態の更新(審査中)まで(Part2)
次に条件分岐1で「はいの場合」となったフローを作っていきます。
「いいえの場合」の方は空欄、もしくは通知が欲しければ通知を行うフローを作りましょう(本記事では割愛)。

条件:はいの場合
- 現在の時刻を取得します。
- ここでは審査に回った日時です。


- 「状態」の列を[作成中]から[審査中]に変更します。
- 「回覧日」の列を[現在の時刻]に変更します。
*サイトのアドレス | SharePointリストのアドレス(選択式) |
*リスト名 | 任意のリスト(選択式) |
*ID | ID |
ビューによる列の制限 | 空欄でOK |
*タイトル | タイトル |
*詳細 | 詳細 |
状態 | 審査中 |
回覧日 | 現在の時刻 |
その他、列 | 空欄でOK ※変更したい列があれば変更 |

- この条件分岐では回覧先をどちらにするか決定します。
- 判定方法は「区分」が[A]か、そうでないかを判定します。
- 「はい(A)の場合」は、Aの承認フローに進みます。
- 「いいえ(B)の場合」は、Bの承認フローに進みます。
※ここではAもBも同じ内容のフローになるためBは省略します。
コメント