SharePoint Online + Microsoft Flow を利用して受講管理簿を作成する(基本編)

ちょっと寝正月と思っていたら2019年の1月も半ばを過ぎてしまいました。
あけましておめでとうございます。
今年もがんばってアウトプットしていきますので、ご愛顧いただけるとうれしいです!

さて、今日はDailyUIのつづき…ではなく、SharePointとFlowの話題です。
技術的にむずかしいことはありませんが、実業務からのアウトプットなので、誰かのお役に立てると幸いです。

背景

企業では色々な教育システムがあることも多く、社員の受講履歴がひとつのシステムでわからなかったり、「この通達はめちゃくちゃに大事なので絶対にXX日までに読んで、読んだかどうかを集計すること」のように、教育システムに組み込めないような内容のものがあります。
そういった諸々を所属部署でとりまとめるための、非常に簡単な管理簿を作りました。
SharePoint + Flow の事例としてとてもシンプルで、導入しやすいと思いますので、ぜひ応用してご活用いただければと思います。

SharePointでリストを2つ作る(受講対象の一覧、受講履歴)

最近SharePointのモダンUIをちゃんとさわっていなかったのですが、とても使い勝手がよくなっていますね!
リストは次のような感じで作ります。

受講リスト:受講対象の一覧

受講リスト:受講対象の一覧

何の変哲もないカスタムリストです。

受講履歴:ユーザーごとの受講履歴

こちらは先頭の2列が参照列で、前段の「受講リスト」を参照するようにしています。また、既定列の「タイトル」は「固有の値を適用する(リストで一意にする)」を「はい」に設定します。

Flowを設定する

SharePointで作った「受講リスト」からFlowをつくります。
実は今までSharePointからのFlowをちゃんと作ったことがなかったのですが、テンプレートまでsuggestionされて至れり尽くせりじゃないですか…べんり…。

Flowはリストから作成していきます。

フローのテンプレートが表示されます。今回は承認フローを作るわけではないのですが、Office365ユーザーのコネクタを使いたいので、「選択した項目について上司の承認を要求する」を選んでみます。

Microsoft Flowの画面が開かれるので、テンプレートを用いたフロー作成を行います。

壮大なフローが作成されますが、赤枠のところだけ残せばOKです。他のアクションは削除しましょう。
※アクションを削除するときは下から消さないと、「利用されているので削除できません」のようなエラーが出ることがあります。

フロー全体がすっきりしたら、設定を少し変更しましょう。
SharePointからフローを実行する際に、コメント入力ができるようにします。

「get my profile」アクションの下に、履歴レコードを作成するためのアクションを追加します。
コネクタは「SharePoint」、アクションは「項目の作成」を選びます。

タイトルの部分が一意になるように、元の受講リストのIDとユーザープリンシパル名をハイフンで繋いで設定します。コンカチ(concat)関数の中身はこんな感じです。

concat(body('get_item')?['ID'], '-', body('get_my_profile')?['userPrincipalName'])

※2019/1/20追記
 コメントを入力せずにフローを実行すると、エラーとなってしまうので修正しました。「コメント」部分は以下のようにempty関数を使ったNULLチェックを入れます。

if(empty(triggerBody()?['text']), '', triggerBody()?['text']) 

ここでフローを保存します。フローの概要とフロー名もちゃんと設定しましょう。フロー名はリストから実行する際のコンテキストメニューに出てくるので、短くわかりやすい名前にする方がよいでしょう。
また、「実行のみのユーザー」に受講管理をさせたいユーザーを追加しておきます。これでフローの作成は完了です。

次のページへ続きます。