【初めてのPower Automate(MS Flow)の使い方】承認フローを作成する

最終更新:2020年10月23日 公開:2019年07月04日

Microsoft Flowというものをご存知でしょうか。
office製品のうちのひとつで、ブラウザ上で自動ワークフローを作成・管理できるツールです。

ワークフローとは、業務の一連の処理手続きをシステム化、もしくは図式化したもので、おもにルーチンワークの自動化や、業務の簡略化のために使われます。

たとえば、書類を作成し、印刷したものを上司に提出して承認をもらう、という流れで行われる休暇申請や経費精算。
そうした事務作業も、ワークフロー化すれば、一連の流れをデータで、自動で手間なく簡単に済ませられるようになります。

Microsoft Flowが使える環境なら、そうしたワークフローを基本的には無料で作成できます。
選択肢を選んで作業を進めるだけでワークフローが作れるため、プログラムの知識や特別な技術も必要ありません。よく作られるフローのテンプレートも豊富に用意されています。

今回は、「承認後にリストアイテムをTwitterに投稿する」というテンプレートを使って、Microsoft Flowの使い方を簡単に説明します。

※Microsoftサポートセンターによると、現在(2019.07.04)、Outlookを経由した承認フロー上に不具合(承認または拒否を選択した後に送信ボタンを押すとエラーが起こる)が発生しているようです。この修正は今月中に行われる予定です。※
現在(2019.08.02)この問題は修正されました。

ワークフロー作成の準備をする

完成イメージは、下記の図のようになります。

下記の3つを準備していることを前提として、説明していきます。
【今回用意するもの】

  • Microsoftアカウント
  • office365(SharePoint)
  • Twitterアカウント

 

下記のURLをクリックすると、Microsoft Flowへアクセスできます。
https://japan.flow.microsoft.com/ja-jp/

 

それでは、作成していきましょう。
Microsoft Flowのホームへ行くと、画面左側にメニューバーがあるので、「テンプレート」を選択します。

テンプレートがたくさん表示されます。

検索ボックスに「Twitter」と入力し、「承認」タブを選択します。
承認後にリストアイテムをTwitterに投稿する」というテンプレートが候補に出てくるので、クリックします。

フローの接続先ツールにサインインしてから、「続行」を押します。

フロー作成画面が表示されました。

承認フローを作成する

それでは、フローの作成を始めます。
今回のワークフローを図式化すると、下記の図のような流れになります。

それぞれのステップをフロー作成画面に当てはめると、下記の図のようになります。

「指定したSharePointリストにアイテムが作成されたとき」処理を開始する

①について説明します。
Microsoft Flowにはトリガー(フローを開始するきっかけ)が必要です。これはあらゆるフローに必ず存在する概念です。
フローを作成するときは、まずこのトリガーを設定することになります。

テンプレートから作成した場合は、ワークフローの流れが初めから設定されているので、空欄だけ埋めていきます。
承認後にリストアイテムをTwitterに投稿する」のトリガー
When a new item is created」、つまり、指定したリストに「新しいアイテムが作成されたとき」になります。

赤枠の部分をクリックすると、下記の図のような入力画面が表示されます。
*マークがついている項目は入力必須項目です)

「サイトのアドレス」ボックスにカーソルを合わせると、チームサイトのURLが候補に出てくるので、それを選択します。

「リスト名」も同じように候補が一覧表示されるので、前もってSharePointで作成しておいたtwitter用のリスト名を選択します。

ここでいう「リスト」とはSharePointのコンテンツのうちのひとつです。
「アイテム」とはそれぞれのリストを構成する項目のことです。

これで①トリガーの設定 は完了です。

上司に承認を求めるメールを送信する

②について説明します。

ここは自動承認プロセスを使います。
このプロセスを実行すると、「Assigned To」ボックスに入力したメールアドレス宛に承認要求メールが送信されます。

赤枠の部分をクリックすると、下記の図のような入力画面が表示されます。

【項目の内容】

  • Title:メールでいう件名のこと。なるべくわかりやすいものが良い。
  • Assigned To:送信先。承認者のメールアドレスを入力する(複数入力可)。
  • Details:詳細。メールでいう本文のこと。送信者や申請内容を記載すると、一目で判断しやすい。
  • Item Link:フローのトリガーであるアイテムへのリンク。クリックすると、アイテム元のページに移動する。
  • Item Link Description:アイテムリンクの説明文。リンクの文字列。

 

今回はこのような設定にしてみました。リンクは使わないので、記載していません。

青いアイコン()はパラメーターと呼ばれるものです。
それぞれのテキストボックスにカーソルを合わせると、パラメーター一覧が表示されます(下記の図の黄色の枠内)。
パラメーターとは、場合によって値が変わる変数のことです。
今回は、ツイートするのに必要な「タイトル」、「ツイート案」と、誰がツイート案を投稿したのかが分かるように「発案者」をパラメーターとして設定します。
SharePointのロゴが使用されている通り、接続先ツールであるSharePointの各情報が格納されています。

青文字で「When a new item is created」とあります。
これは①で設定したトリガー部分と同じ文ですね。
トリガーとなった「a new item」についての情報(IDやタイトル、新しいアイテムを作成した者のメールアドレスや氏名など)が揃っています。

パラメーターを設定すると、SharePointのチームサイトは、下図のようになります。

※実際に送信される承認要求メール

条件分岐(承認されたときの処理/差し戻しされたときの処理)

③~⑤について説明します。

③の部分をクリックすると、④、⑤の部分が表示されます。

まず、条件分岐とは、指定した条件が満たされているかどうかによって次に実行する処理を変えることです。
条件が満たされている場合に実行する処理と、満たされていない場合に実行する処理に分けることができます。

承認者が、②で送信された承認要求メールの本文に記載されている「承認」または「拒否」のボタンを押すと、その結果がMicrosoft Flowに返されます。

ここでは、承認の場合は「ツイート案を投稿」し、
拒否の場合は「ツイート案を投稿しないで作業を終了する(何も処理しない)」という2つの処理を作成します。

テンプレートの場合はすでに条件の設定がされています。

※環境により、「Response」パラメータでは正常に動作しないとのご指摘を頂きました。その場合は「Outcome」パラメータを使用してください。貴重なご意見誠にありがとうございます。(2020/04/07 追記)
※”環境により”と記載しましたが、有志の方からの情報提供により条件が判明しました。承認者が単一である場合は「Response」のままで問題ありません。承認者を複数設定したい場合Outcome」を使用してください。手順は以下に記載致します。貴重なご意見誠にありがとうございます。

【承認者が複数の場合の手順】
①「承認を開始する(Start an approval)」アクションを「開始して承認を待つ(Start and wait for an approval)」アクションに置き換える
※アクションを削除して、同じ位置に新しいアクションを追加してください
②条件分岐の比較元の値に「Outcome」パラメータを指定する
③比較方法を「次の値に等しい(is equal to)」から「次の値を含む(contains)」に変更する
④比較先に「Reject(=拒否)」と入力する
※半角アルファベットで、頭文字は大文字にしてください

※このフローを採用すると、「はいの場合」と「いいえの場合」の処理が反転します。「はいの場合」に拒否されたときの処理を、「いいえの場合」に承認されたときの処理を作成してください。

参考URL:Microsoft Power Automateコミュニティ
https://powerusers.microsoft.com/t5/Building-Flows/Wait-for-approval-V2-Outcome/td-p/318505
(2020/04/10 追記)


※Response…応答、反応
Approve …承認する、認める
Outcome …結果、成果
Reject …拒否する

Microsoft Flowは、ここで承認プロセスの応答結果(Response)が承認(Approve)と等しいかどうかを判断します。

そのため、「はいの場合」に承認されたときの処理、
「いいえの場合」に拒否されたときの処理を設定します。

ここも既にステップが設定されています。デフォルトでは「ツイートテキスト」に「タイトル」のパラメータが挿入されていますが、今回は「ツイート案」の内容をツイートしたいので、パラメーターを入れ替えます。

「タイトル」パラメーターを削除してから、「ツイート案」パラメーターを選択します。

次に「いいえの場合」ですが、
拒否されたときは「ツイート案を投稿しないで作業を終了する」ため、特定の処理は行いません。

以上でワークフローは完成です。
テンプレートを使うと、流れがほぼ完成した状態で始まるので、10分ほどで作成できてしまいます。
設定を変更したら画面推移する前に保存をしておきます。

また、それぞれのステップは名前を変更できるので、第三者が見たときに分かりやすいよう編集しておきます。

承認フローを実際に動かしてみる

では実際にフローを使ってみます。
先ほど届いた承認要求メールの「承認」ボタンをクリックします。
すると、連携したTwitterアカウントにツイートが自動投稿されます。
承認ボタンをクリックしてからツイートが投稿されるまでの動画を見てみましょう。

 

フローが正常に実行されたか確認したいときは、「マイフロー」から「実行履歴」を選択します。

確認したい実行履歴のリンクをクリックすると、

このようにフロー実行時の詳細が表示されます。

実行履歴の確認方法は、主にフローが失敗したときの原因を調べるときに使用するので、覚えておいて損はありません。

まとめ

今回はSharePointtwitterを使った簡単なフローをご紹介しましたが、MicrosoftFlowにはOutlookやTrello、Slack、Facebookなど、多種多様なツールと連携できます。
また、複数のフローを組み合わせたり、変数やループを使用することにより、複雑な処理を自動で行うこともできます。
当社では、実際にMicrosoftFlowを導入し、有給休暇などの休暇取得の承認、通知を自動化しています。
次回からは特別に、当社で使用している休暇取得ワークフローの仕組みを順を追って公開していきます。乞うご期待!

次回の記事:【Microsoft Flowの使い方事例】有給申請を自動化しよう!
次々回の記事:【Microsoft Flowの使い方事例】変数とループ(Apply to each)を活用しよう

オフィスで働く方、ネットショップやホームページを運営されている皆様へ、ネットを使った仕事の効率化、Webマーケティングなど役立つ情報をお送りしています。
  • 【初めての方へ】Formzuで仕事の効率化
  • 【初めての方へ】メールフォームについて