×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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 • ボタンを押すと入力フォームが 出現 • テキストを打って完了ボタンを押 す • 自由なお休み理由を投稿できた