クラウドエンジニアブログ

Microsoft Flow の紹介

human03

南斉 幸一

皆さん、こんにちは。
今回は Microsoft Flow をご紹介したいと思います。

Microsoft Flow とは?

Microsoft Flow は、プログラミングが出来なくても、タスクやプロセスを自動化する仕組みを提供するツールです。
例えば、承認フローの追加や、通知を送る、ファイルなどの同期等を GUI ベースで実装することが可能です。
プログラミングに苦手意識がある方でも、GUI からパーツを並べていくだけで、簡単にワークフローを作ることが出来ます。

Microsoft Flow を使用するためのライセンス

Microsoft Flow を利用するためにはライセンスが必要です。無償版もあるので気軽に試すことが可能です。
ライセンスの種類と利用できる機能は以下の通りです。

ライセンスの種類と利用できる機能

※ 価格は2018年9月現在のものになります。

有償のプラン1やプラン2では、Microsoft 以外のサービス(Salesforce など)とも連携するための Premium コネクタが利用できます。
無償版は、SLA が無かったり、フローの実行頻度が15分毎だったりと、有償版に比べて利用できる機能に制限はありますが、Microsoft Flow 単体の機能としては十分に活用できますので、気軽にお試しいただくことができます。
また、Office 365 や Dynamics 365 ライセンスをお持ちの方も、Microsoft Flow を活用できます。

Microsoft Flow でどんなことが出来るの?

Microsoft Flow は予め用意されたパーツを組み合わせて、フローを作成し、一連の処理を自動化できます。
例えば、
「10分後に通知を送信する」
「現在の場所の天気予報を取得する」
「Outlook.com の添付ファイルを OneDrive for Business に保存する」
等、日常でも利用することがある操作を自動化することが可能で、これらはテンプレートとして予め用意されているフローのため、すぐに使うことができます。
また、自身でフローを作成する場合にもテンプレートをベースに新しいフローをカスタマイズすることや、一からフローを作成することも可能です。

では、実際に簡単なフローを作ってみましょう!

Microsoft Flow でフローを作ってみよう

今回は Office 365 のサービスと連携した、「休暇申請」のフローを作成したいと思います。

作成するフローの処理

  1. スマートフォンアプリのボタンを押して、休みたい日とコメントを入力し、申請する
  2. 承認者にメールが届き、承認者は申請内容によって承認/拒否を行う
  3. 申請内容が承認されれば、申請者のスマートフォンに「承認」の通知をした後、送信したユーザーの予定表に「休暇」の予定が入り、Microsoft Teams(※)にもメッセージを通知する
    申請内容が却下された場合は、申請者のスマートフォンに「却下」が通知される
    ※ Microsoft Teams は Office 365 で利用できるグループチャットツールです。

作成するフローの全体イメージは以下の通りです。

作成するフローの全体イメージ

手順:
Office 365 に Microsoft Flow を利用するユーザーでログインし、Microsoft Flow のサイト「https://japan.flow.microsoft.com/ja-jp/」にアクセスします。
画面上部の【マイフロー】をクリックします。
※ 「Microsoft Flow へようこそ」画面が表示された場合は、【開始する】をクリックして進めてください。

画面上部の【マイフロー】をクリック

【一から作成】をクリックします。

【一から作成】をクリック

今回作成するフローは、「ボタンが押された時」が条件になるため、【多数のコネクタやトリガーを検索する】をクリックします。

【多数のコネクタやトリガーを検索する】をクリック

検索ボックスに「ボタン」と入力して検索します。【モバイルの Flow ボタン】をクリックします。

【モバイルの Flow ボタン】をクリック

【+入力の追加】をクリックして、「テキスト」を2個追加し、それぞれ「休暇予定日」「コメント」とします。

【+入力の追加】をクリック

続いて、承認動作のアクションを追加します。
検索ボックスで「Approvals」と検索して、【Approvals–Start an approval】をクリックします。

Start an approval の設定を以下のようにします。
Approval type:割り当て済みリストの任意のユーザー
タイトル:休暇承認
担当者:承認者のメールアドレス
と入力し、要求元、詳細欄については「動的コンテンツの追加」から選択します。

Start an approval の設定

続いて、承認結果によって以降のフローを分岐させます。
【Apply to Each の追加】をクリックします。
「以前の手順から出力を選択」欄では、「動的なコンテンツの追加」から【応答】を選択します。

【Apply to Each の追加】をクリック

【条件の追加】をクリックし、「値の選択」欄では、「動的コンテンツの追加」から【応答】を選択します。
条件を「応答」「次の値に等しい」「Approve」とします。

【条件の追加】をクリック

条件の結果が「はい」の場合のフローを作成します。
承認されたことを申請者に通知するため、「アクションの追加」にて、「Notifications」の【Send me a mobile notification】を選択します。

申請が許可された旨のコメントを返すため、
Text:了承
とします。

【Send me a mobile notification】を選択

次に、予定表に予定を登録するためのアクションを作成します。
「アクションの追加」にて、「Office 365 Outlook」の【イベントの作成(V2)】を選択します。

イベントの内容としては、以下のように設定します。
予定表 ID:Calendar
件名:休暇
開始時刻:「動的なコンテンツの追加」から「式」を選択、「adddays()」と入力します。
adddays()の式を埋めるため「動的なコンテンツ」を選択して、「手動でフローをトリガー
します」から【休暇予定日】を指定します。すると、adddays()に式が自動で入ります。2
つ目の引数である増加日数を「0」として【OK】をクリックします。

開始時刻:「動的なコンテンツの追加」から「式」を選択

開始時刻:「手動でフローをトリガーします」から【休暇予定日】を指定


終了時刻:終了時刻も開始時刻と同様に adddays 関数を利用します。
2つ目の引数である増加日数は「1」とします。
タイムゾーン:(UTC+9:00)Osaka, Sapporo, Tokyo
本文:「動的なコンテンツの追加」を選択して、「手動でフローをトリガーします」から「コメント」を指定します。

終了時刻

続いて、【アクションの追加】をクリックして、「Microsoft Teams」の【Post Message】を選択します。

Post message の設定内容としては以下の通りです。
Team ID:メッセージを送るチーム名
Channel ID:メッセージを送るチャネル名
Message:動的なコンテンツの追加にて「手動でフローをトリガーします」から「ユーザー名」
「休暇予定日」「コメント」を指定します。

Post message の設定

最後に、条件の結果が「いいえ」の場合のフローを作成します。
却下されたことを申請者に通知するため、「アクションの追加」にて、「Notifications」の【Send me a mobile notification】を選択します。

却下された旨を申請者に伝えるため、コメントとして
Text:却下
とします。

「いいえ」の場合

以上でフローの作成は完了です。

実際にフローの動作を見てみよう

今回はスマートフォンのアプリからボタンを押す、という動作になるため、スマートフォンには、予め Microsoft Flow のアプリをダウンロードしておきます。
(今回は iOS 版のアプリで実施しています)

Microsoft Flow のアプリ

Microsoft Flow アプリを開き、画面下部にある【ボタン】をタップします。

画面下部にある【ボタン】をタップ

今回作成したフロー名のボタンが表示されますので、タップします。

今回作成したフロー名のボタン

「休暇予定日」欄と「コメント」欄をそれぞれ入力し、【完了】をタップします。

「休暇予定日」欄と「コメント」欄

【完了】をタップ

  

続いて、承認者のメールボックスを開きます。
申請者(差出人は Microsoft Flow)から承認依頼のメールが届きます。
※ 下記画像は Outlook on the Web の場合

Outlook on the Web の場合

【Approve】をクリックすると、「理由(オプション)」欄が表示されますので、必要に応じて入力し、【Submit】をクリックします。

【Approve】をクリック

申請者のスマートフォンに、了承の通知があり、予定表を確認すると該当日に「休暇」の予定が追加されています。
また、Microsoft Teams にも指定したチャネルにメッセージが通知されます。

Microsoft Teams にも指定したチャネルにメッセージが通知される

おわりに

いかがでしたでしょうか。今回ご紹介したフローは数分もあれば出来てしまう、非常に簡単な内容でしたが、Microsoft Flow では、様々なサービスの組み合わせることが可能なので、より複雑、より高機能なフローも作成出来ます。
また、初心者の方向けには、Microsoft Flow のサイトではガイド付き学習のページ「https://docs.microsoft.com/ja-jp/flow/guided-learning/」もありますので、是非ご活用ください。

最後までご覧いただき、ありがとうございました!



次回予告
  • SQL Database のセキュリティシナリオ



【総合】お問い合わせ

ソリューションに関する全般的なお問い合わせはお気軽にご相談ください。

ピックアップ

セミナー情報
クラウドエンジニアブログ
clouXion
メールマガジン登録