๐Ÿš€ Master 6 Power Automate Control Actions Easily and Improve Workflow

If you’re ready to level up your automation skills, this is the perfect place to start. Master 6 Power Automate Control Actions Easily with this first post in our Power Automate Built-in Tools Series. This article kicks off a deep dive into Microsoft Power Automateโ€™s most essential tools โ€” and weโ€™re starting with one of the most important categories: Control actions.


๐Ÿ”— About This Tutorial Series

Power Automate offers several built-in tools that let you automate business processes across Microsoft 365 and beyond. In this blog series, weโ€™ll cover each category in detail to help beginners and intermediate users master automation step by step.

๐Ÿงฐ Here’s what we’ll cover in the series:

  • Control
  • Data Operation
  • Date Time
  • Flow Button for Mobile
  • HTTP
  • Microsoft Teams Webhook
  • Number Functions
  • Request
  • Schedule
  • Text Functions
  • Variable

We begin the series with the foundational Control actions.


๐Ÿ“Œ What Are Power Automate Control Actions?

Before you can automate with confidence, you need logic. Control actions give your flows the power to make decisions, repeat tasks, and organize execution. In this guide, youโ€™ll Master 6 Power Automate Control Actions Easily, including:

Master 6 Power Automate Control Actions
  • Condition
  • Apply to Each
  • Do Until
  • Scope
  • Switch
  • Terminate


Each of these actions gives you more control and flexibility when designing flows.


โœ… 1. Condition

The Condition control allows your flow to make a True/False decision based on data.

๐Ÿ“Œ Use Case:

When a new email arrives, check if the subject contains “Invoice” but the email has no attachment. If that’s true, send a reminder email asking the sender to attach the required invoice.

๐Ÿ”ง How to Use:

  1. Start your flow with the โ€œWhen a new email arrives (V3)โ€ trigger from Outlook.
  2. Click the plus (+) icon below the trigger to add a new action.
  3. You can either:
    1. Search for "Condition" in the search box, then select Condition or
    2. Go to Built-in > Control, then select Condition.
  1. In the Condition action:
    1. In the first row, click the flash icon (dynamic content) and select Subject.
    2. Set the condition to contains โ†’ type "Invoice".
    3. Click on + New Item to add another condition.
    4. In the new row, click the flash icon again and select Has Attachment from the dynamic content list.
    5. Set the condition to is equal to โ†’ type “false“.
  1. The Condition control creates two paths:
    1. True โ€“ when the condition is met.
    2. False โ€“ when it’s not met.
  2. Under the True section:
    • Add the Send an email (V2) action.
    • In the To field, click the flash icon, and select From to use the sender’s email address dynamically.
    • Add a Subject and Body for your reminder, such as:
      • Subject: Missing Invoice Attachment
      • Body: Hi, it looks like your email with subject โ€œInvoiceโ€ didnโ€™t include an attachment. Could you please resend it with the invoice attached?

๐Ÿ”„ 2. Apply to Each

The Apply to Each control is used when you want to loop through a collection such as rows in an Excel table, a SharePoint list, or any array of items. It processes each item one at a time in sequence.

๐Ÿ“Œ Use Case:

Send a personalized email to each contact listed in an Excel file with a table containing the following columns:

  • Email Address
  • Name
  • Subject
  • Message

๐Ÿ”” Trigger to Use:

Use the “Manually trigger a flow” action (from the Flow Button for Mobile connector), which is great for manually launching a flow when you’re ready to send emails.

๐Ÿ”ง How to Use:

  1. Add the โ€œList rows present in a tableโ€ action to read the rows.
    • Select the Location, Document Library, file and the table.
  1. Click the plus (+) icon below this action to add a new step.
  1. Either search for โ€œApply to eachโ€ in the search box,
    or go to Built-in > Control > Apply to each.
  2. In the Apply to each input field:
    • Select the value field from dynamic content (this represents each row in the table).
  1. Inside the Apply to each container:
    • Add a Send an email (V2) action.
      • In the To field, select the Email Address from dynamic content.
      • In the Subject field, insert the Subject column value.
      • In the Body, include a personalized message like:
        Hi [Name],
        [Message]
        Use dynamic values for Name and Message from the Excel row.

Now, the flow will loop through all 3 rows and send a custom email to each contact based on the data in the table.


โณ 3. Do Until

Do Until is a control action that repeats a set of actions until a specific condition is met โ€” or until it times out. Itโ€™s ideal for monitoring dynamic data, like tracking updates in an Excel table.


๐Ÿ“Œ Use Case:

You have an Excel file with daily sales data stored in a table.
You want to check throughout the day if total sales exceed $1,000.

  • If sales reach the goal within the day โ†’ send a “Congrats!” email.
  • If not by the end of the day โ†’ send a “Letโ€™s improve sales” email.

๐Ÿ”ง How to Use:

  1. Trigger: Scheduled Flow
    • Trigger: Recurrence
    • Frequency: every morning (e.g., 8:00 AM daily)

  1. Add a Variable TotalSales and set its value to 0

  1. Add a Do Until control
    • This loop will keep checking today’s sales total every 30 minutes, for up to 12 hours.
    • Configure Do Until timeout
      • Timeout: 12 hours – PT12H
      • Count: 24 iterations
      • If the Timeout and Count options are not visible, click on ‘Advanced Parameters‘ and check them.
    • Set the Do Until condition to exit when:
      TotalSales is greater than or equal to 1000

  1. Inside the Do Until loop:
    1. Add the โ€œList rows present in a tableโ€ action to read the rows.
    2. Select the Location, Document Library, file and the table.
    3. Add a Filter Query to retrieve only the rows for the current day
      In the filter field, enter: Date eq ‘<write expression here>’.
      Click on the fx icon, paste the expression formatDateTime(utcNow(),’dd/M/yyyy’) into the field, and then click the Add button.

  1. Calculate total sales
    Add the Apply to each action:
    1. Input: Select an output body/value from the Excel ‘List rows present in a table’ action
    2. Add action: Increment variable
      • Name: TotalSales Value: items('Apply_to_each')?['Amount']
      • Add the value from the dynamic values list by clicking on the flash icon, or click on the fx icon, paste the expression there, and click the Add button
      โœ… This adds each row’s Amount to TotalSales.

  1. Add a Delay of 30 minutes
  1. One more action we need is to reset the TotalSales value before the “List rows present in a table” action. This ensures that in the next cycle of the Do Until action, the values from the previous cycle donโ€™t get added to the current cycle.
    Add a Set variable action and set the Value to 0.

  1. After the loop: Add a Condition
    • If TotalSales is greater than or equal to 1000 โ†’ send a โ€œCongrats!โ€ email
    • Otherwise โ†’ send a motivational or alert email

๐Ÿ“ฆ 4. Scope

Scope helps you group multiple actions together โ€” useful for organization and error handling.

๐Ÿ“Œ Use Case:

Group all actions related to invoice approval into one scope.

๐Ÿ”ง How to Use:

  • Add a Scope action.
  • Drag related steps inside it.
  • Monitor success or failure of the whole group.

๐Ÿ”€ 5. Switch

Switch is similar to Condition but is better for handling multiple possible values.

๐Ÿ“Œ Use Case:

Trigger different actions based on department: Sales, HR, or IT.

๐Ÿ”ง How to Use:

  • Choose a variable (e.g., Department).
  • Add cases like Sales, HR, IT.
  • Include a Default case for unhandled values.

๐Ÿ›‘ 6. Terminate

Terminate lets you end the flow early with a specific status: Failed, or Cancelled.

๐Ÿ“Œ Use Case:

Stop the flow if required the status is Failed or Cancelled.

๐Ÿ”ง How to Use:

  • Use ‘Terminate‘ after a condition check. Note that ‘OR‘ is selected and there are two conditionsโ€”if either one is true, the ‘True‘ section will run and terminate the flow. Otherwise, it will continue and send an email

๐Ÿง  Summary: Control Actions in Power Automate

Hereโ€™s a quick overview of the 6 actions we covered:

ActionFunction
ConditionMake decisions (If/Else)
Apply to EachLoop through arrays or lists
Do UntilRepeat until condition is true
ScopeGroup actions together
SwitchHandle multiple cases
TerminateEnd the flow with status

When you Master 6 Power Automate Control Actions Easily, youโ€™re building a strong foundation for more advanced flows.


๐Ÿ’ก Final Thoughts

That wraps up the first part of our Power Automate Built-in Tools Series! When you Master 6 Power Automate Control Actions Easily, you gain the power to build intelligent, structured, and reliable flows. These tools form the logical backbone of any process automation.

Next up, weโ€™ll dive into Data Operations โ€” stay tuned!

๐Ÿ’กBonus Resources

Leave a Comment