初めてのFlowを作成

先日Microsoft Flowのプラットフォームについて紹介されたので、今回は初めてのFlowを作成してみました。

## Microsoft Flowとは
Microsoftは2016年4月にFlow（フロー）をリリースしました。Flowでは、自分の手動的なタスクを自動的なアプリに変換することができます。Flowはコードが必要なく、ExcelやPowerPointのようなGUIで作成するウェブとモバイルアプリです。

もし、[IFTTT](https://ifttt.com/)を使ったことがあったら、FlowはIFTTTと似ている概念だと思います。

## 前提条件
- Microsoftのアカウント。持っているWindowsやSkypeのアカウントが使えるし、[無料でサインアップができます](https://flow.microsoft.com/ja-jp/)。
- Microsoft Flowの[Android](https://play.google.com/store/apps/details?id=com.microsoft.flow&hl=en)または[iPhone](#)のアプリ
- Excel
- ツイーターアカウント。[無料でアカウントが作成できます。](https://twitter.com/signup)
- OneDriveやDropboxのようなオンラインストレージ

## 目的
ここでは私がMicrosoftについてのツイートに興味があると仮定して、そのツイートを記録するFlowを作ってみます。

## Excelスプレッドシートを用意
Flowは様々なサービスと接続できます。今回は、ツイートを記録するために、ツイートの情報をクラウドストレージに保存しているExcelスプレッドシートに入れる予定です。

新しいExcelスプレッドシートを作成して、5つの欄を追加します。日付、ツイートのURL、ツイートのテキスト、リツイート数。

![excel-start.png](https://qiita-image-store.s3.amazonaws.com/0/153003/4a46b0ef-deb1-7f31-42eb-f9cd3b28e74e.png "excel-start.png")


欄を全て選択して、`挿入`から`テーブル`のボタンを押してこの欄をテーブルにします。テーブルのどこかをクリックして、現れる`デザイン`のタブをクリックして、テーブルにわかりやすい名前を付けます。

![table-name.png](https://qiita-image-store.s3.amazonaws.com/0/153003/08a230b5-49ab-ca3e-96cf-df99b237976e.png "table-name.png")

後で、Flowから開けるように、ファイルをOneDriveやDropboxの用なクラウドストレージに保存します。

ファイルがExcelに使われいているとき、Flowはファイルが同時に使えないから、保存してから必ずファイルを閉じてください。

## 新しいFlowを作成
[Microsoft Flow](https://flow.microsoft.com/ja-jp/)のサイトにログインしてから、`自分のFlow｀をクリックします。

![flow-menu.png](https://qiita-image-store.s3.amazonaws.com/0/153003/24a59f00-b83b-f892-334f-dbed0273e966.png "flow-menu.png")

次の画面で`一から作成`のボタンを押して、トリガーのフィルドの上にある名前のフィールドに名前を入力しましょう。

![blank-flow.png](https://qiita-image-store.s3.amazonaws.com/0/153003/d00b589f-8995-5669-08df-e9040f9f2573.png "blank-flow.png")


Flowでは自動起動するFlowも作れますし、スマホアプリでボタンを押すときだけ起動するFlowも作れますし。今回はスマホアプリで起動する種類にするから、トリガーのフィルドで「Flow button for mobile」を検索してトリガーを選択します。

それから、`新しいステップ`をクリックして、`アクションの追加`を選択します。

![add-action.png](https://qiita-image-store.s3.amazonaws.com/0/153003/2b96de49-424a-070c-e46e-61ee3e9b448d.png "add-action.png")


「Twitter」を検索して「新しいツイートが投稿されたとき」のアクションを選択します。Twitterにサインインして、`検索テキスト`のフィルドで「Microsoft」を入力します。これで、「Microsoft」を含んでいる、最近投稿されたツイートを手に入れます。

また、新しいステップを追加するけれど、今回`さらに追加`をクリックして`それぞれへの通用の追加`を選択します。`以前の手順からパラメーターを挿入`の下に表示されているTwitterの`value`をクリックします。これで、この`Apply to each`のステップの中のステップは各ツイートに実行されます。そして、このステップの３つの点のメニューから`名前を変更`を選択して、もっとわかりやすい名前をつけましょう。

![apply-to-each.png](https://qiita-image-store.s3.amazonaws.com/0/153003/6d24a8f5-c012-a5bf-3a75-1e196d86cbb7.png "apply-to-each.png")


このステップの中の`アクションを追加`のリンクを押して、「Excel」を検索します。`行の挿入`のアクションを選択して、以前使ったクラウドストレージのサービスにサインインします。以前作成したファイルとテーブルを選択します。それから、以下の画像のようにTwitterのコンテンツを欄に与えます。

![excel-step.png](https://qiita-image-store.s3.amazonaws.com/0/153003/9c0a0bfb-b851-3a6e-f508-93f5d27ba54e.png "excel-step.png")

ツイートのURLのコンテンツはないですが、ツイートのURLのフィルドに`https://www.twitter.com/statuses/`を入力して、隣に`ツイートID`のコンテンツを入れます。このように、テキストとコンテンツが組み合わせられます。

それから、また新しいアクションのステップを追加します。「Push Notification」を検索して`Send a push notification`のアクションを追加します。このアクションはFlowが終わったとき、通知してくれます。`Text`のフィルドに「Microsoftのツイートを記録しました」のような通知を書いてください。

![push-notification.png](https://qiita-image-store.s3.amazonaws.com/0/153003/1fe59436-207a-6a88-cadf-ad1be99b03ea.png "push-notification.png")

## Flowを実行する

これで、このFlowは完成です。上の`Flowの作成`のボタンを押して、上に現れる`完了`のボタンを押します。

![complete-flow.png](https://qiita-image-store.s3.amazonaws.com/0/153003/ec3dd17f-7b06-4c2d-35ed-05f73c0c6b12.png "complete-flow.png")

そうすると、このFlowの実行が始めます。実行するのは数分かかるはずです。終わったら、画面の上のベルのアイコンに通知が現れます。

![notification.png](https://qiita-image-store.s3.amazonaws.com/0/153003/8c448f8f-00e7-ea6c-8120-6ce3107ef495.png "notification.png")

そして、以前作成したスプレッドシートを開くと、記録されたツートの情報が見えます。

![data.png](https://qiita-image-store.s3.amazonaws.com/0/153003/a4066b2e-cb37-7c2c-dfbf-81c528f3f8e1.png "data.png")

このFlowはFlowのスマホのアプリでいつでも起動することができます。スマホのアプリを開いて、まだサインインしいない場合、サインインしてください。`ボタン`のセクションに移動すると以前作ったFlowのボタンがあります。そのボタンを押すと、作成したFlowはまた起動します。

![smart-phone-app.png](https://qiita-image-store.s3.amazonaws.com/0/153003/92e99f72-630e-7873-3ec2-7f01ace1048d.png "smart-phone-app.png")

## まとめ

これは私の初めてのFlowなので、簡単なFlowだけれども、Flowのプラットフォームにいつて勉強になりました。様々な機能があるようなので、今から、Flowをもっと調べるつもりです。