Slide 1

Slide 1 text

MicrosoftFlow 2019/09/01 @yuma1217_ja

Slide 2

Slide 2 text

MicrosoftFlowとは • Microsoftのサービス • 色んなサービスと連携して自 動化出来る • Microsoftのサービスなので Office365との連携が協力 • 例:メールが来たらメールの 添付ファイルをOnedriveに保 存してTeams, Slackにも投稿

Slide 3

Slide 3 text

始め方 • https://japan.flow.microsoft.com/ja-jp/ • O365アカウントでログイン

Slide 4

Slide 4 text

1. Create Click to add text 3. Flowの種類を選択する 2. まずTemplateを確認する

Slide 5

Slide 5 text

Templateの確認 • やりたい事の大半がテンプ レートを少し改変するだけで 出来るかもしれない • 例えば左下は、メールが来た ら特定のSlackチャンネルに転 送するテンプレート

Slide 6

Slide 6 text

flowの種類 • Automated flow • 自由に作成するlow • Instant flow • スマホアプリ上にボタンを配置 し押したら実行されるflow • Sceduled flow • 時間を設定しその時間に実行す るflow • 毎日、毎週など定期実行も出来 る

Slide 7

Slide 7 text

Automated flow • TriggerとActionを指定する • Triggerが起きたらActionが実行される • Triggerは例えば、メールが来たら、 Sharepointでファイルが作られたら、 GitHubでIssueが立てられたら、 Gmailが来たら、などたくさんある • Actionも同じように豊富で Gmailで返信するなどがある

Slide 8

Slide 8 text

Automated flow(例) • Botを作る • 発言があったら挨拶 するBot

Slide 9

Slide 9 text

Automated flow(例) • Botを作る • 言った相手にメンションを 送る • メンションは, メールアドレス で実現できる アドレス

Slide 10

Slide 10 text

Automated flow(例) • 今のままだと誰が発言してもBotが返答する • Botがメッセージを投稿したものに対しても反応してしまう -> 無限ループ! • 発言が誰によって行われたかを判断したい! • Conditionを使おう!

Slide 11

Slide 11 text

Automated flow(例) • ConditionをTriggerの下に挟む • Messge from userを選択 • is not equal toを選択 • null と入力する

Slide 12

Slide 12 text

Automated flow(例) • If yesの下にメッセージを返答するアクションを記述して完成!

Slide 13

Slide 13 text

完成したが・・・ • Flowには実行回数の制限がある • 作ったFlowのトップページに何回Flowが走ったか見れる • 自分は1回しか投稿していないが二回Flowが走っている • Botの返答でもFlowが走っていて実行回数が無駄に増えている! • クリックすると詳細が見れる

Slide 14

Slide 14 text

• 自分が投稿した時 • ConditionがTrue • if yesの所に チェックマーク • Botが投稿した時 • ConditionがFalse • if yesの所に×マーク

Slide 15

Slide 15 text

Triggerの発火条件を絞る • Triggerの・・・を押しSettings • 一番下のTrigger Conditionsに 下の数式を入力 • これでBotの投稿ではFlowが 動かなくなる

Slide 16

Slide 16 text

どうやって数式を作っていくか • Dynamic Contentや、Expressionをよく見る • 入力しようとすると出てくるリスト

Slide 17

Slide 17 text

DynamicContent • Message from userなどFlowが判断してくれる式のこと • どうなっているのかを確かめるには 式を入力後コピーしてエディター(メモ帳など)に貼り付ける • 下のような式になっている

Slide 18

Slide 18 text

DynamicContent • DynamicContentと普通の文字などを一緒に使うには @{}で囲むと良さそうと分かる

Slide 19

Slide 19 text

DynamicContent • DynamicContentを使えば、Triggerが発火した時のデータを アクションに使う事が出来る • 例えば、Teamsでの発言時間を取得して、Excelに転記する など • DynamicContentで出ないデータが欲しい場合 • 今まで実行されたFlowをクリックする

Slide 20

Slide 20 text

DynamicContent • Flow実行時のデータを見る事が出来る • createdDateTimeがメッセージが 投稿された時間 • @{triggerBody()?['createdDateTime']} でデータを使う

Slide 21

Slide 21 text

Expressions • 式を記述できる • 二つを比較して等しい時にはtrueを返す equals • 二つの数値を比較して大きい方を返す max • などたくさん存在

Slide 22

Slide 22 text

Expressions • 今回はuserがnullかどうかを調べたい • equals()の()の中でDynamicContentから Message from userを選択 • ['user']の後に、 , nullと入力する • さらに今回は等しく無いときなので、 not()を使う • not(equals(......))のように挟んで記述してOKを選択

Slide 23

Slide 23 text

Expressions • 生成されたExpressionをまたコピーして エディターに貼り付けると16Pの数式が 取得できる!

Slide 24

Slide 24 text

Flowのテスト • 編集画面の右上のTestを押すと 今までFlowが動いたデータでテストが可能

Slide 25

Slide 25 text

Instant flow(例) • ボタンを押したらTeamsの特 定のチャンネルに投稿される flow

Slide 26

Slide 26 text

Instant flow(例) • →スマホアプリ上のボタンに 作成されているので押すと • 設定したTeamsで投稿されて いる • 絵文字は展開されなかった...

Slide 27

Slide 27 text

Instant flow(例) Ver2 • 入力を付けてみる • 休む理由を適宜変更出来るよ うにする

Slide 28

Slide 28 text

Instant flow(例) Ver2 • ボタンを押すと入力フォームが 出現 • テキストを打って完了ボタンを押 す • 自由なお休み理由を投稿できた