Microsoft Flow の Apply to each アクションを使用して項目の一覧を定期的に処理するUse the apply to each action in Microsoft Flow to process a list of items periodically

受信トレイに新しいメールが到着したときなど、多くのトリガーはイベントに基づいてフローをすぐに開始できます。Many triggers can immediately start a flow based on an event such as when a new email arrives in your inbox. このようなトリガーは便利ですが、定義されているスケジュールでデータ ソースを照会し、データ ソース内の項目のプロパティに基づいて特定のアクションを行うようなフローを実行したいこともあります。These triggers are great, but sometimes you want to run a flow that queries a data source on a predefined schedule, taking certain actions based on the properties of the items in the data source. そのような処理のために、スケジュール (1 日 1 回など) に従ってフローを開始し、Apply to each などのループ アクションを使って項目の一覧を処理することができます。To do this, your flow can be started on a schedule (such as once per day) and use a loop action such as Apply to each to process a list of items. たとえば、Apply to each を使うと、データベースのレコードや、Microsoft SharePoint の項目の一覧を更新できます。For example, you could use Apply to each to update records from a database or list of items from Microsoft SharePoint.

このチュートリアルでは、15 分ごとに実行して以下の処理を行うフローを作成します。In this walk-through, we'll create a flow that runs every 15 minutes and does the following:

  1. Office 365 Outlook 受信トレイにある最新の未読メッセージを 10 件取得します。Gets the last 10 unread messages in your Office 365 Outlook Inbox.
  2. 10 件の各メッセージを調べて、件名にmeet now (会議の開始) が含まれるかどうかを確認します。Checks each of the 10 messages to confirm if any has meet now in the subject.
  3. 上司からのメールかどうか、または高重要度で送信されたかどうかを確認します。Checks if the email is from your boss or was sent with high importance.
  4. 件名にmeet now (会議の開始) が含まれる、上司からのメールまたは高重要度で送信されたメールについて、プッシュ通知を送信し、既読としてマークします。Sends a push notification and marks as read any email that has meet now in the subject and is either from your boss or was sent with high importance.

次の図は、このチュートリアルで作成するフローの詳細です。This diagram shows the details of the flow we'll create in this walk-through:

作成するフローの概要

前提条件Prerequisites

このチュートリアルの手順を正しく実行するための要件を次に示します。Here are the requirements for successfully performing the steps in this walk-through:

  • Microsoft Flow を使うために登録されたアカウント。An account that's registered to use Microsoft Flow.
  • Office 365 Outlook アカウント。An Office 365 Outlook account.
  • AndroidiOS、または Windows Phone 用の Microsoft Flow モバイル アプリ。The Microsoft Flow mobile app for Android, iOS, or Windows Phone.
  • Office 365 Outlook とプッシュ通知サービスへの接続。Connections to Office 365 Outlook and the push notification service.

フローを作成するCreate a flow

  1. Microsoft Flow にサインインします。Sign into Microsoft Flow:
  2. [マイ フロー] タブを選び、一からフローを作成します。Select the My flows tab, and then create a flow from a blank:

    一から作成する

  3. 検索ボックスに「schedule」と入力し、スケジュールに関係のあるすべてのサービスとトリガーを検索します。Enter "schedule" into the search box to search for all services and triggers that are related to scheduling.
  4. [Schedule - Recurrence] (スケジュール - 繰り返し) トリガーを選び、次に指定するスケジュールでフローを実行することを示します。Select the Schedule - Recurrence trigger to indicate that your flow will run on a schedule that you'll provide next:

    繰り返しアクションのスケジュール

  5. 15 分ごとに実行するようにスケジュールを設定します。Set the schedule to run every 15 minutes:

    実行のスケジュール

  6. [+ 新しいステップ][アクションの追加] の順に選び、検索ボックスに「outlook」と入力して、Microsoft Outlook に関連するすべてのアクションを検索します。Select + New step, Add an action, and then type outlook into the search box to search for all actions related to Microsoft Outlook.
  7. [Office 365 Outlook - 電子メールの取得] アクションを選びます。Select the Office 365 Outlook - Get emails action:

    電子メールの取得アクションの選択

  8. [電子メールの取得] カードが開きます。This will open the Get emails card. 受信トレイ フォルダーの先頭から未読のメールを 10 件選ぶように、[電子メールの取得] カードを構成します。Configure the Get emails card to select the top 10 unread emails from the Inbox folder. 添付ファイルはフローで使われないため含めません。Don't include attachments because they won't be used in the flow:

    電子メール カードの構成

    注意

    ここまでで、受信トレイからメールをいくつか取得する単純なフローができました。So far, you've created a simple flow that gets some emails from your inbox. これらのメールは配列で返されます。Apply to each アクションには配列が必要であり、これがまさに必要なことにあたります。These emails will be returned in an array; the Apply to each action requires an array, so this is exactly what's needed.

アクションと条件を追加するAdd actions and conditions

  1. [+ 新しいステップ][More] (その他) の順に選び、[Apply to Each の追加] アクションを選びます。Select + New step, More, and then Add an apply to each action:

    Apply to Each の選択

  2. [Apply to each] カードの [以前の手順から出力を選択] ボックスに Body トークンを挿入します。Insert the Body token into the Select an output from previous steps box on the Apply to each card. これにより、Apply to each アクションで使うメールの本文が取得されます。This pulls in the body of the emails to be used in the Apply to each action:

    Body トークンの追加

  3. [条件の追加] を選びます。Select Add a condition:

    条件の追加

  4. 各メールの件名で文字列 "meet now" を検索するように、[条件] カードを構成します。Configure the Condition card to search the subject of each email for the words "meet now":

    • [オブジェクト名] ボックスに Subject トークンを挿入します。Insert the Subject token into the Object Name box.
    • [リレーションシップ] の一覧で [次の値を含む] を選びます。Select contains in the Relationship list.
    • [値] ボックスに「meet now」と入力します。Enter meet now into the Value box.

      条件の構成

  5. [More] (その他) を選び、[IF YES, DO NOTHING] 分岐から [条件の追加] を選びます。Select More, and then select Add a condition from the IF YES, DO NOTHING branch. [条件 2] カードが開きます。そのカードを次のように構成します。This opens the Condition 2 card; configure that card like this:

    • [オブジェクト名] ボックスに Importance トークンを挿入します。Insert the Importance token into the Object Name box.
    • [リレーションシップ] ボックスの一覧で [次の値に等しい] を選びます。Select is equal to in the Relationship list.
    • [値] ボックスに「High」と入力します。Enter High into the Value box.

      条件の追加

  6. [IF YES, DO NOTHING] セクションから [アクションの追加] を選びます。Select Add an action under the IF YES, DO NOTHING section. [アクションを選択してください] カードが開くので、検索条件 (meet now を含むメールが高重要度で送信された) が真の場合の動作を定義します。This will open the Choose an action card, where you'll define what should happen if the search condition (the meet now email was sent with high importance) is true:

    アクションの追加

  7. 通知を検索し、[Notifications - Send me a mobile notification] (通知 - モバイル通知を送信する) アクションを選びます。Search for notification, and then select the Notifications - Send me a mobile notification action:

    通知の検索と選択

  8. [Send me a mobile notification] (モバイル通知を送信する) カードで、メールの件名に "meet now" が含まれる場合に送信されるプッシュ通知の詳細を指定して、[アクションの追加] を選びます。On the Send me a mobile notification card, provide the details for the push notification that will be sent if the subject of an email contains "meet now", and then select Add an action:

    通知の構成

  9. 検索語として「開封済み」と入力し、[Office 365 Outlook - 開封済みにする] アクションを選びます。Enter read as the search term, and then select the Office 365 Outlook - Mark as read action. これにより、各メールはプッシュ通知送信後に開封済みになります。This will mark each email as read after the push notification is sent:

    開封済みにするアクションの追加

  10. [開封済みにする] カードの [メッセージ ID] ボックスに Message Id トークンを追加します。Add the Message Id token to the Message Id box of the Mark as read card. Message Id トークンを探すには、[もっと見る] を選ばなければならない場合があります。You may need to select See more to find the Message Id token. これは、開封済みとして指定するメッセージの ID を示します。This indicates the Id of the message that will be marked as read:

    Message Id の追加

  11. [条件 2] カードの [IF NO, DO NOTHING] 分岐に戻ります。Going back to the Condition 2 card, on the IF NO, DO NOTHING branch:

    • [アクションの追加] を選び、検索ボックスに「上司を取得する」と入力します。Select Add an action, and then type get manager into the search box.
    • 検索結果の一覧から [Office 365 ユーザー - 上司を取得する] アクションを選びます。Select the Office 365 Users - Get manager action from the search results list.
    • [上司を取得する] カードの [ユーザー] ボックスに 完全な メール アドレスを入力します。Enter your full email address into the User box of the Get Manager card.

      上司を取得するアクションの追加と構成

  12. [More] (その他) を選び、[IF NO] 分岐から [条件の追加] を選びます。Select More, and then select Add a condition from the IF NO branch. [条件 3] カードが開きます。メール送信者のメール アドレス (From トークン) が上司のメール アドレス (Email トークン) と同じかどうかを調べるようにカードを構成します。This opens the Condition 3 card; configure the card to check if the email sender's email address (the From token) is the same as your boss' email address (the Email token):

    • [オブジェクト名] ボックスに From トークンを挿入します。Insert the From token into the Object Name box.
    • [リレーションシップ] の一覧で [次の値を含む] を選びます。Select contains in the Relationship list.
    • [値] ボックスに Email トークンを入力します。Enter Email token into the Value box.

      検索条件の構成

  13. [条件 3] カードの [IF YES, DO NOTHING] セクションから [アクションの追加] を選びます。Select Add an action under the IF YES, DO NOTHING section of the Condition 3 card. [IF YES] カードが開くので、検索条件 (メールが上司から送信された) が真の場合の動作を定義します。This will open the IF YES card, where you'll define what should happen if the search condition (the email was sent from your boss) is true:

    条件の構成

  14. 通知を検索し、[Notifications - Send me a mobile notification] (通知 - モバイル通知を送信する) アクションを選びます。Search for notification, and then select the Notifications - Send me a mobile notification action:

    通知アクションの検索

  15. [Send me a mobile notification 2] (モバイル通知を送信する 2) カードで、メールが上司からのものである場合に送信されるプッシュ通知の詳細を指定して、[アクションの追加] を選びます。On the Send me a mobile notification 2 card, provide the details for the push notification that will be sent if the email is from your boss, and then select Add an action:

    通知カードの構成

  16. [Office 365 Outlook - 開封済みにする] アクションを追加します。Add the Office 365 Outlook - Mark as read action. これにより、各メールはプッシュ通知送信後に開封済みになります。This will mark each email as read after the push notification is sent:

    開封済みにするアクションの追加

  17. [開封済みにする 2] カードに Message Id トークンを追加します。Add the Message Id token to the Mark as read 2 card. Message Id トークンを探すには、[もっと見る] を選ばなければならない場合があります。You may need to select See more to find the Message Id token. これは、開封済みとして指定するメッセージの ID を示します。This indicates the Id of the message that will be marked as read:

    開封済みにするアクションの構成

  18. フローの名前を指定して作成します。Name your flow, and then create it:

    フローに名前を付けて保存

以上の手順に従うと、フローは次の図のようになるはずです。If you followed along, your flow should look similar to this diagram:

作成されるフローの概要

フローを実行するRun the flow

  1. 件名に meet now が含まれる高重要度のメールを自分宛てに送信します (または、組織内のだれかにそのようなメールを送信してもらいます)。Send yourself a high-importance email that includes meet now in the subject (or have someone in your organization send you such an email).
  2. メールが受信トレイにあり、未開封であることを確認します。Confirm the email is in your inbox and it's unread.
  3. Microsoft Flow にサインインし、[マイ フロー] を選んで、[今すぐ実行] を選びます。Sign into Microsoft Flow, select My flows, and then select Run now:

    今すぐ実行

  4. [フローの実行] を選び、フローを本当に実行することを確認します。Select Run flow to confirm you really want to run the flow:

    実行の確認

  5. しばらくしてから、正常な実行の結果が表示されます。After a few moments you should see the results of the successful run:

    実行結果

実行の結果を表示するView results of the run

フローが正常に実行されたので、モバイル デバイスにプッシュ通知が送られてきているはずです。Now that you've run the flow successfully, you should receive the push notification on your mobile device.

  1. モバイル デバイスで Microsoft Flow アプリを開き、[アクティビティ] タブを選びます。会議に関するプッシュ通知が表示されます。Open the Microsoft Flow app on your mobile device, and then select the Activity tab. You'll see the push notification about the meeting:

    [アクティビティ] タブの選択

  2. 通知の完全な内容を表示するには、通知を選択しなければならない場合があります。To see the full contents of the notification, you may have to select the notification. 完全な通知は次のような内容です。You'll see the full notification, similar to this:

    通知の詳細

    注意

    プッシュ通知が届かない場合は、モバイル デバイスのデータ接続が動作していることを確認します。If you don't receive the push notification, confirm that your mobile device has a working data connection.