例えば、受講者がトレーニングを完了した時点でアンケートの電子メール通知を送信するなど、LMS365で日常で行われるアクションや作業プロセスをMicrosoft Power Automateを使用して自動化することができます。
Power Automateで作成した既存のテンプレートは以下からご利用いただけます。
https://emea.flow.microsoft.com/ja-jp/connectors/shared_lms365/?slug=lms365。
オリジナルフローの作成は以下の手順で行います。
- Microsoft Power Automate のページに移動して https://flow.microsoft.com にアクセスし、サインインします。
- 「マイフロー」セクションをクリックし、ナビゲーションバーの「+新しいフロー」ボタン>「インスタントクラウドフロー」を選択します。
開いたウィンドウの「スキップ」ボタンをクリックします。 - LMS365を検索して、LMSシステムに関連するすべてのアクションを表示します。
コネクタは、2つのグループで構成されています。
トリガー:LMSで発生するイベントが表示されます。通常、これらはフローの開始点となります。
例えば、「ユーザーが削除されたとき」というトリガーは、ユーザーがLMS365から無効化、または削除されたときにフローが開始されます。
アクション:LMSシステムに対して直接行うアクションが表示されます。つまり、これらはLMSサービスに対するAPIコールのセットです。(API コールとは、クライアントアプリケーションがタスク実行のために実行時に起動できる特定の操作のことです。)
例えば、「登録要求の承認」アクションは、登録申請を承認します。
アクションの詳細については、LMS365のコネクタリファレンスをご参照ください。 - リストから目的のトリガーを選択します。
今回作成するフロー:コースが公開されたらコース情報を取得し、指定されたユーザーにコース情報を記載した電子メールを送信します。
トリガーより「トレーニングがカタログに公開されたとき」を選択します。
初めてLMS365コネクタを使用する場合は、資格情報を入力します。接続名はLMS365、ユーザー名とパスワードのフィールドには、API キーを入力してください。
APIキーはLMS365管理センター>グローバル設定>設定>LMS設定>APIkey管理でAPIキーをコピーして取得できます。※ APIキーはLMS365のデータのパスワードです。安全に保管してください。
接続されると、以下のようにフローの開始点が表示されます。 - 「+新しいステップ」ボタンをクリックします。
- 検索ボックスに LMS365 と入力して、使用可能なコネクタアクションを検索します。
今回は、公開されたコースに関する情報を取得するために、「コースの詳細を取得」アクションを選択します。 - 必須フィールドに入力します。
フィールドをクリックすると、使用可能なすべてのパラメータが表示されます。「コースID」を選択して次に進みます。 - 「コースの詳細を取得」アクションによって返されたデータを使用するアクションを追加します。「アクションの追加」をクリックします。
今回は「Office 365 Outlook Connector」の「メールの送信」アクションを選択します。
特定の接続(Outlook、LMS365、SharePointなど)を設定したら、その接続をすべてのフローで再利用できます。 - 宛先、件名、本文など必要事項を入力します。動的なコンテンツの追加で使用可能なパラメータを選択することができます。*が付いた項目は入力必須です。
- 「保存」ボタンをクリックして、作成したフローを保存します。
これで、コース公開がトリガーとなり、コースの詳細情報を取得し、指定した受信者にメールでコースの説明を送信するフローが作成されました。
Microsoft Power Automate経由でAPIからLMS365のデータの取得するフローを作成するには、以下の手順で行います。
今回は、コースカタログにあるすべてのコースの受講者のリストを取得するフローを作成します。
- 「マイフロー」セクションをクリックし、ナビゲーションバーの「+新しいフロー」ボタン>「インスタントクラウドフロー」を選択します。
- 「手動でフローをトリガーします」を選択し、「作成」ボタンをクリックします。必要に応じてフロー名を入力します。(入力がない場合、自動で名前が作成されます。)
- 「+新しいステップ」ボタンをクリックします。
- LMS365で検索し、表示されたアクションから「HTTP 要求を送信します」を選択します。「HTTP 要求を送信します」と「HTTP 要求を送信します(プレビュー)」の違いについてはこちらをご参照ください。
- APIに接続します。接続名はLMS365、ユーザー名とパスワードのフィールドには、API キーを入力してください。以下を入力して、作成ボタンをクリックします。
- 「HTTP要求を送信します」アクションの設定が開きます。
方法:今回は、情報を受信するので GET メソッドを選択します。
URI:エンドポイントを指定します。「odata/v2/Courses」を指定してすべてのコースのリストを取得します。
すべての登録内容を取得する場合は、パラメータとして「Enrollments」を指定する必要があります。
従って、今回は「Courses?$expand=Enrollments」と入力します。
URIフィールドに入力するパスはSwaggerで確認(取得)することができます。Swaggerでエンドポイントを実行すると、「Request URL」 欄に「URI」が表示されます。
利用可能なすべてのパラメータは、「Responses」欄の「Model」で確認できます.
HTTPメソッドには、GET,PUT,POST,PATCH,DELETEの5つのメソッドがあります。
-
GET:情報を取得するために使用します。
-
PUT:既存のリソースを更新するために使用します。
-
POST:新しいリソースを作成するために使用します。
-
PATCH:リソースの部分的な更新を行うために使用します。
-
DELETE:リソースを削除するために使用します。
-
- 一度保存して、フローを実行(テスト)して情報がどのように取得されているか確認します。右上のテストアイコンから>手動を選択>テストボタン>続行>フローの実行の順に進みます。
- 完了をクリックすると以下の画面が表示されます。「HTTP 要求を送信します」をクリックします。
Bodyフィールドに取得したすべての情報が表示されます。APIは、JSON形式で応答します。JSON形式の詳細についてはこちらをご参照ください。Bodyフィールドをスクロールすると次の情報が確認できます。
"Enrollments": [
{
"Id": "407de1a8-e9a0-40a6-94ed-XXXXXXXXX",
"CourseId": "144e2fc1-76d1-4387-XXXXXXXXXX",
"UserId": "ae5119a5-3426-4402-982a-XXXXXXXXX",
"UserLoginName": "c:0t.c|tenant|e6e6f293-8809-4c64-a888-XXXXXXXXXX",
"Roles": [
"Teacher"
]
- 6で設定した「HTTP要求を送信します」をコース毎に適用します。「+新しいステップ」ボタンを追加します。
- コネクタ「コントロール」を選択し、
「Apply to each」アクションを選択します。 - 「以前の手順から出力を選択」フィールドに、前のステップを指定する次の式を入力します。
body('HTTP_要求を送信します')['value'] - 登録者を取得するアクションを追加します。「アクションの追加」をクリックします。
操作を選択します。組み込みグループにある「データ操作」を選択します。
アクションの「作成」を選択します。
「入力」フィールドに各コースの登録者を取得する次の式を入力します。
items('Apply_to_each')['Enrollments'] - 「保存」ボタンをクリックして、作成したフローを保存します。
- 右上の「テスト」をクリックしてフローを実行します。
結果が表示されます。
作成したフローは一覧に表示されます。
作成中、入力に誤りがあるなど場合、右上のフローチェッカー警告表示されます。
クリックして詳細を確認できます。
内容を確認して必要な修正を行います。