鍋綿ブログ

C#・SharePoint・SharePoint Framework・Office365を中心に扱うブログです。

SharePointのワークフローで承認者を設定する方法

SharePointでワークフローを構築する方法はいくつかあります。

  • Microsoft Flowを利用する
  • SharePoint Designer 2013で構築する

 

どちらも処理を作る仕組みを提供するものであって、データの格納場所は提供しません。よって承認者など固定で書けない情報は他の場所から取ってくる必要があります。

 

  • パターン1:ユーザーが入力する

SharePoint上で承認フローを構築しようとする場合、ユーザーが承認依頼を入力するための「リスト」があるはずです。そこに承認者のフィールドを設けて、ユーザー自身が承認者を入力するのが最も簡単です。

デメリットはユーザーの入力ミスが発生することですね。

  • パターン2:Office 365 アカウントに設定した上長を利用する

Office 365アカウントには、各ユーザーに対して1人だけ上長を設定することができます。この情報を使って常にユーザーの上長に承認を求めるという処理は実現可能です。

Flowで実現する場合、登録者のOffice 365アカウント情報を取得すればそこから上長が得られますが、SharePoint Designerの場合にはREST APIで取得する必要があります。

方法は以前の記事で紹介しています。

SharePoint Designer のワークフローで REST API を呼び出す - 鍋綿ブログ

この方法のデメリットは、上長が1人しか設定できないことです。

  • パターン3:SharePoint リストから取得する

別のSharePointリストを用意して、ユーザー毎の承認者を持たせたり、組織毎の承認者を持たせたりして承認者を決定します。

デメリットは上記別リストのメンテナンスが煩雑になることです。また、アイテム数がリストビューの上限である5,000件を超えてしまわないように注意が必要です。

  • パターン4:その他

外部サービスなど、まったく別の場所から承認者を引き当てることも可能な場合があります。FlowもSharePoint DesignerもREST APIを実行することができますので、外部サービスがREST APIを提供しており、ユーザーのログインアカウントで認証をうまく通せるならば実現可能です。

 

以上、参考になれば幸いです。