Power Automate - Detail Notes and Scenario Based Mcqs
Power Automate - Detail Notes and Scenario Based Mcqs
Power Automate (formerly called Microsoft Flow) is a Microsoft service that lets you automate tasks across
different apps and services.
You can build flows that can:
• Send automatic emails
• Copy files
• Collect data
• Post messages in Teams
• Connect apps like Excel, Outlook, SharePoint, Word, etc.
It saves time by doing repetitive tasks automatically.
Please Note: In the context of Power Automate (and many other Microsoft services), "V2" refers to the second
version of a particular action or connector.
For example:
• Send an email (V2) refers to the second version of the "Send an email" action available in Power
Automate. This version often includes new features, improvements, and optimizations over the original
(V1) version.
Why "V2"?
• The "V2" versions of actions and connectors are typically more advanced, supporting newer features and
better integration with Microsoft 365 services. For instance, Send an email (V2) provides more options
like the ability to send emails with dynamic content, attachments, and improved error handling compared
to the older version.
In general, newer versions (like V2) tend to be more reliable and may offer enhanced capabilities or better
performance than their predecessors.
Power Automate Practice Case Scenarios
Q1. In Power Automate, which of the following is used to start a flow manually?
A) Scheduled Trigger
B) Instant Trigger
C) Automated Trigger
✅ Correct Answer: B) Instant Trigger
Explanation: An Instant Trigger lets you start a flow manually, like clicking a button.
• Scheduled runs automatically at a time you set.
• Automated reacts to an event (like an email arriving).
Q3. What do you need in an Excel file to insert data using Power Automate?
A) Random cells
B) Named Ranges
C) A Table
✅ Correct Answer: C) A Table
Explanation: Power Automate requires an Excel Table (Insert → Table) to properly map and insert rows.
• Named Ranges or random cells are not enough; they must be structured.
Q4. Which trigger would you use to automate saving email attachments?
A) When a file is created
B) When a new email arrives (V3)
C) When a new item is added to a SharePoint list
✅ Correct Answer: B) When a new email arrives (V3)
Explanation: Trigger When new email arrives (V3) monitors your inbox and can check for attachments to process.
• "File created" is for OneDrive/SharePoint files.
• "New item added" is for SharePoint lists.
Q5. In Power Automate, what is the purpose of a Condition control?
A) To create a new file
B) To decide actions based on Yes/No logic
C) To manually trigger a flow
✅ Correct Answer: B) To decide actions based on Yes/No logic
Explanation: Conditions let your flow make decisions:
• "If yes, do this; if no, do that."
• It is like an IF-ELSE logic in programming.
Q7. In Power Automate approvals, which action is used to start an approval process?
A) Start and wait for an approval
B) Create an item
C) Post a message
✅ Correct Answer: A) Start and wait for an approval
Explanation: The action Start and wait for an approval sends an approval request and waits for the decision
(Approve/Reject).
• "Create an item" adds something to SharePoint.
• "Post a message" sends a Teams message.
Q8. If you want a flow to run every Monday at 9 AM, which trigger should you use?
A) When an item is modified
B) Scheduled recurrence
C) Button trigger
✅ Correct Answer: B) Scheduled recurrence
Explanation: A Scheduled recurrence trigger allows setting a specific day and time (like Monday 9 AM) for a flow
to run automatically.
• "Item modified" is for SharePoint changes.
• "Button" is for manual triggers.
Q2. In Power Automate, which action is used to post a message in Microsoft Teams?
A) Send an email (V2) B) Post a message (V3) C) Create a task
Q4. Which action lets you automatically wait for someone's decision in a flow?
A) Start and wait for an approval
B) Delay
C) Send an email notification
Q6. If you want a flow to run every Friday at 5 PM, which trigger do you choose?
A) Recurrence (Scheduled)
B) Instant trigger
C) When a new item is created
Q7. What is required inside an Excel file to insert data using Power Automate?
A) A pivot table B) A table (formatted cells) C) A chart
Q Answer Explanation
1 C) Instant Trigger Manual start
2 B) Post a message (V3) Sends message to Teams
3 A) SQL Server Premium connector
4 A) Start and wait for an approval Approval process
5 B) Integer Numeric data type
6 A) Recurrence (Scheduled) Scheduled at set time
7 B) Table (formatted cells) Excel needs table for flows
8 A) OneDrive for Business File storage automation
9 B) Condition Logic branching (IF/ELSE)
0 B) Next step will run even if previous step fails Error handling using Configure Run After
Step-by-Step Plan
Step 1: Prepare Microsoft Form
Create a simple Microsoft Form:
• Employee Name (Short answer)
• Employee Email (Short answer)
• Leave Start Date (Date)
• Leave End Date (Date)
• Reason for Leave (Paragraph)
Step 2: Prepare Excel File (optional bonus)
Create an Excel file with a table in OneDrive or SharePoint.
Columns like:
• Name, Email, Start Date, End Date, Reason, Status (Approved/Rejected)
🎯 Final Result
• Managers get approval requests instantly 📩
• Employees get automatic emails based on approval ✅
• All requests are stored neatly in Excel 📄
🎯 Summary Checklist
✅ Check run history
✅ Expand and read error details
✅ Fix wrong dynamic fields or reconnect services
✅ Test again to confirm
✅ Add error-handling (optional for advanced flows)
Q1. Scenario: You created a flow to send a confirmation email after someone submits a Microsoft Form.
However, no emails are being sent and the flow shows a "Connection error".
What should you do first?
A) Recreate the entire flow
B) Check and refresh the Outlook connection
C) Delete and create a new Microsoft Form
✅ Correct Answer: B) Check and refresh the Outlook connection
Explanation: If there’s a connection error, it usually means that the app (Outlook here) lost authentication (e.g.,
password change or permission issue).
You don't need to recreate the whole flow — just refresh the Outlook connection.
Q2. Scenario: Your flow adds form responses into an Excel sheet.
You notice the flow fails with the error "No table found".
What is the most likely cause?
A) The Excel file was deleted
B) You forgot to format the Excel data range as a Table
C) Power Automate does not support Excel files
✅ Correct Answer: B) You forgot to format the Excel data range as a Table
Explanation: Power Automate requires that data inside Excel be in a Table format (Insert > Table in Excel).
If you just type data without making a table, the flow can’t find it.
Q3. Scenario: You set up a flow to trigger when a file is created in OneDrive.
But nothing happens even when new files are added.
What could be the problem?
A) The trigger is wrong or not properly connected
B) The file names are too long
C) Power Automate doesn’t support OneDrive triggers
✅ Correct Answer: A) The trigger is wrong or not properly connected
Explanation: If the trigger isn't firing, it’s usually because:
• You selected the wrong folder
• The OneDrive connection failed
• The trigger needs to be re-saved and reconnected
Power Automate does support OneDrive triggers.
Q4. Scenario: In your flow, you use an "Apply to each" action to send multiple emails based on a list.
The flow fails midway because one email address is missing.
How can you prevent the flow from failing completely?
A) Remove the Apply to each
B) Add error handling using "Configure Run After"
C) Send fewer emails
✅ Correct Answer: B) Add error handling using "Configure Run After"
Explanation: Using Configure Run After, you can continue the flow even if one step inside "Apply to each" fails.
This prevents the entire flow from crashing just because of one bad/missing email.
Q5. Scenario: You’re testing a flow, but it only processes part of the data and then stops without any error
message.
What should you check first?
A) The "Timeout" setting of loops (Apply to Each, Do Until)
B) The color theme of Power Automate
C) The storage location of Power Automate itself
✅ Correct Answer: A) The "Timeout" setting of loops (Apply to Each, Do Until)
Explanation: If your loops process a lot of items, they might hit a timeout limit (default is 1 hour for free plans).
You should check if your loop settings need adjustment or if you need to optimize/batch the process.
C. Recurring Flow
🛠 Step-by-Step Guide: Create a Recurring Flow in Power Automate
Q1. Scenario: You are building a flow that sends a report to your manager every Monday at 8:00 AM
automatically.
Which trigger should you choose when creating the flow?
A) Instant cloud flow (manually triggered)
B) Scheduled cloud flow (recurring)
C) Automated cloud flow (triggered by an event)
✅ Correct Answer: B) Scheduled cloud flow (recurring)
Explanation: Since you want the action to happen on a regular schedule without manual action, you should use a
Scheduled cloud flow.
Instant flows need manual start, and automated flows react to events — not time.
Q2. Scenario: Your flow is set to "Repeat every 1 hour", but you notice it runs every 2 hours instead.
What is the MOST likely cause?
A) Wrong Time Zone setting
B) Wrong connection to Outlook
C) Flow timeout
✅ Correct Answer: A) Wrong Time Zone setting
Explanation: If the time zone is incorrectly set (e.g., UTC instead of your local time), it can cause unexpected
behavior like wrong intervals.
Connections and timeouts affect running flows but not their scheduled timing.
Q3. Scenario: You created a recurring flow to back up a SharePoint document library every day.
Suddenly, it stops running without any notification.
What could be the reason?
A) You hit the Power Automate flow run limits
B) SharePoint deleted your documents
C) Recurrence trigger does not support SharePoint
✅ Correct Answer: A) You hit the Power Automate flow run limits
Explanation: Each Power Automate plan has a run quota (e.g., 2000 runs per month).
If you cross the limit, flows pause or fail silently until the quota resets.
SharePoint is fully supported, so option C is wrong.
Q4. Scenario: You schedule a flow to run every week, but you need it to run on Monday, Wednesday, and Friday
only.
What is the BEST way to handle this?
A) Create three different scheduled flows
B) Modify the recurrence trigger to select specific days
C) Manually trigger the flow on those days
✅ Correct Answer: B) Modify the recurrence trigger to select specific days
Explanation: Power Automate’s recurrence trigger can be set to run on multiple specific days inside the same
flow.
No need to create three flows or manual actions!
Q5. Scenario: Your recurring flow sends a daily motivational quote email.
Sometimes it fails because the source file ([Link]) is locked or unavailable.
What is the most efficient solution?
A) Send emails only when the file is manually available
B) Add "Scope" and "Configure Run After" to handle failures
C) Delete the flow and build a new one
✅ Correct Answer: B) Add "Scope" and "Configure Run After" to handle failures
Explanation: Instead of building new flows or manually checking, you can use error-handling techniques like Scope
control and Configure Run After.
This way, the flow will continue gracefully even if one run faces issues.
Scenario: You want to back up files from a "Work Files" folder on your OneDrive for Business to a Backup folder
every Monday at 9:00 AM automatically.
🎯 Expected Outcome:
By the end of this exercise, you'll have a flow that:
• Runs automatically every Monday at 9:00 AM.
• Copies all files from your "Work Files" folder to your "Backup" folder in OneDrive.
Pro Tip:
• If you’re working with larger files or multiple folders, consider using "Apply to each" to loop through each
file and process them individually, ensuring a smooth backup.
D. Incoming Emails
Let’s now create a Weekly Flow for Incoming Emails: You’ll be able to automatically back up all incoming emails
from a specific sender or with a certain subject to a OneDrive folder.
🛠 Practical Exercise: Create a Weekly Flow to Save Incoming Emails to OneDrive
Scenario: You want to automatically save incoming emails with the subject "Weekly Report" from a specific sender
(e.g., your manager) to a "Email Backups" folder in OneDrive every Monday at 9:00 AM.
🎯 Expected Outcome:
By the end of this exercise, you will have a flow that:
• Runs automatically every Monday at 9:00 AM.
• Saves emails with the subject "Weekly Report" from a specified sender to a OneDrive folder.
Pro Tip: You can also format the email subject or sender’s name to create better filenames for each email. For
example, if your subject is "Weekly Report - Week 12", it could be saved as Weekly Report - Week 12 - [Sender].
🛠 Updated Practical Exercise: Weekly Email Backup Flow with Attachments and Notifications
Let's add some extra functionality to the Weekly Email Backup Flow to handle email attachments and send you a
notification when the flow runs successfully.
Scenario Update: You want to automatically save emails with the subject "Weekly Report" from a specific sender
(e.g., your manager) to a "Email Backups" folder in OneDrive, save any attachments, and send a notification
(email or Teams message) confirming the flow ran successfully every Monday at 9:00 AM.
🎯 Expected Outcome:
By the end of this exercise, you will have a flow that:
• Runs automatically every Monday at 9:00 AM.
• Saves emails with the subject "Weekly Report" from a specific sender to your OneDrive folder.
• Saves any attachments from the emails to OneDrive as separate files.
• Sends you an email or Teams notification confirming the backup is complete.
Pro Tip:
• Error Handling: If you want to handle errors, use the Scope and Configure Run After feature to ensure the
flow doesn’t fail silently. For example, if the file already exists in OneDrive, you can make the flow
overwrite it or handle it differently.
E. Error Handling in Power Automate
Let’s now dive into Error Handling in Power Automate. This is a key concept to ensure your flows run smoothly and
you’re alerted if something goes wrong. Error handling can help with retries, logging, or managing specific
scenarios where a flow might fail.
Let’s now dive into Logging Errors in Power Automate. This is an advanced technique where you can track all
errors and flow statuses to a central log, such as a SharePoint list, Excel file, or Dataverse table. This is especially
useful for monitoring and troubleshooting, as you can review logs to see why a flow failed and take corrective
actions.
Scenario: You want to log any errors or important information from your Weekly Email Backup Flow to a
SharePoint list or Excel file. The flow will log details like:
• Flow run status (Success/Failure)
• Error messages or failure details
• Timestamp of when the error occurred
This will allow you to track any issues and monitor the flow over time.
📚 Pro Tip: Use the Run History: You can access the Run History in Power Automate to troubleshoot any failed
runs, but logging errors into SharePoint or Excel gives you a permanent record of flow performance and makes it
easier to spot recurring issues over time.
Scenario of Practice MCQs:
You have created a flow in Power Automate to copy files from one folder to another on a weekly basis. The flow is
working fine, but occasionally the flow fails when trying to copy a file because the file already exists in the
destination folder. You want to handle this situation and ensure that the flow does not fail but instead either
overwrites the existing file or skips it.
MCQ Question:
How can you handle the situation where the flow fails because the file already exists in the destination folder?
A) Use the Condition action to check if the file exists and add logic to overwrite the file.
B) Set the File Creation action to Create file, and Power Automate will automatically overwrite the file if it already
exists.
C) Use the Terminate action to stop the flow and notify you when the file exists.
Correct Answer: A) Use the Condition action to check if the file exists and add logic to overwrite the file.
Explanation: A) Correct Answer:
The best approach here is to use a Condition action to check if the file exists in the destination folder. If the file
exists, you can decide to either:
o Overwrite the file by using a Create file action with the same name (which will replace the existing file).
o Skip creating the file if it already exists.
By using this method, you have full control over what should happen when a file already exists. You can also log
the event or notify someone in case the file is being overwritten.
Correct Answer: A) Use the Condition action to check if the file exists and add logic to overwrite the file.
Explanation: Using the Condition action allows you to create a more dynamic and flexible flow that can handle
specific scenarios, like checking if a file already exists in the destination folder.
Here’s why this is the best approach:
• Checking file existence: The Condition action lets you check if a file exists in the destination folder using
the "Get file metadata" or "Get files" actions.
• Custom logic: Once the flow checks if the file exists, you can specify the behavior:
o Overwrite: If the file exists, you can overwrite it by using a Create file action. Power Automate will
replace the existing file.
o Skip: If the file exists, you can decide to skip creating the file, which can be helpful in scenarios where
you don’t want duplicate files.
• Error Handling: This approach ensures the flow doesn't fail unexpectedly, and you can handle different
file situations (e.g., duplicates, missing files) without stopping the entire flow.
This method gives you full control over how to handle existing files, ensuring the flow runs smoothly even in these
edge cases.
3 Mini Projects:
1. Variables in Power Automate: Variables are used to hold and manipulate data during the execution of a flow.
You can define variables, change their values, and use them in different actions within the flow.
2. Types of Variables: Variables in Power Automate can have different data types. Most commonly used types are:
1. String:
o Used to store text data.
o Example: "Hello, World!", "Power Automate".
2. Integer:
o Used to store whole numbers (no decimals).
o Example: 5, 100, 2000.
3. Float/Decimal:
o Used to store numbers with decimals.
o Example: 2.5, 9.99, 100.75.
4. Boolean:
o Used to store true or false values.
o Example: true, false.
5. Array:
o Used to store a collection of items (could be strings, numbers, or objects).
o Example: ["Apple", "Banana", "Cherry"].
6. Object:
o Used to store structured data, like records or JSON objects.
o Example: {"name":"John", "age":30}.
5. Sensitive Variables: are those that contain sensitive information, such as API keys, passwords, or personal data.
Power Automate allows you to mark variables as sensitive to prevent them from being logged in the run history.
How to Handle Sensitive Variables:
1. Sensitive Data Masking:
o When you set a variable as sensitive, Power Automate will mask the value in the run history. This
ensures that sensitive data is not exposed to unauthorized users.
2. Using Sensitive Data:
o Sensitive data can still be used in actions like sending emails or interacting with systems, but it
won’t be logged or exposed in plain text in the flow’s run history.
3. Example:
o When dealing with API keys or login credentials, you should always mark those variables as
sensitive to keep them secure.
Scenario: You want to create a flow that checks if a customer’s order is eligible for a discount, calculates the
discount, and sends an email notification.
Conclusion:
• Variables help store and manipulate data during the flow execution.
• Sensitive variables protect confidential data.
• Input and output variables allow you to pass data to and from other systems or parts of the flow.
• You can use conditions, expressions, and other actions to manipulate variables and trigger responses
based on certain criteria.
Scenario 1: Handling Order Quantity
Scenario: You are building a flow that tracks the order quantity in a warehouse. The flow needs to check if the
ordered quantity is greater than 100. If it is, the flow should apply a special handling charge. If not, no additional
charge should be added. You are using a variable to store the ordered quantity.
Question: How would you implement this logic to check the quantity and apply the handling charge?
A) Use a Condition action to check if the ordered quantity variable is greater than 100, and set the handling charge
variable accordingly.
B) Use a Switch case action to check the order quantity against multiple values (greater than 50, 100, etc.).
C) Use an Append to string variable to add the handling charge to the quantity.
Correct Answer: A) Use a Condition action to check if the ordered quantity variable is greater than 100, and set
the handling charge variable accordingly.
Explanation:
• A) Correct Answer:
The Condition action is perfect for checking if the ordered quantity exceeds a certain value. In this case,
you would use a simple comparison like OrderQuantity > 100. If the condition is met (true), you can then
set a variable for the handling charge (e.g., handlingCharge = 10). If it’s false (quantity <= 100), the
handling charge can be set to zero.
Why it's correct: This method is straightforward and efficient for checking a single condition (whether the
order quantity is greater than 100) and then taking an action (setting the handling charge variable).
• B) Incorrect:
A Switch case action is useful when you need to handle multiple distinct cases. However, in this case, we
are only interested in a single condition (whether the quantity is greater than 100), so a Condition action
is simpler and more appropriate.
• C) Incorrect:
Appending to a string variable would not work here because we're not dealing with text but rather
comparing numbers and setting a handling charge. Append to string variable is used for adding text to a
string, not for conditional checks or number-based calculations.
Question: How can you structure this flow to send an email only after the request is approved?
A) Use a Condition action to check if the ApprovalStatus variable is true, and send the email if true.
B) Use a Parallel branch to send the email and check approval status simultaneously.
C) Use the Terminate action to stop the flow before sending an email if the approval status is false.
Answer: A) Use a Condition action to check if the ApprovalStatus variable is true, and send the email if true.
Explanation:
• A) Correct Answer: The Condition action is the best way to check if the ApprovalStatus is true
(approved). If the condition evaluates to true, you can then send the email. This ensures that the email is
only sent if the approval is granted.
Why it's correct: The Condition action checks if the approval is true (approved) and then sends an email,
ensuring that you only notify the requester when the approval is successful.
• B) Incorrect: A Parallel branch is useful when you need to run two processes at the same time, but this is
unnecessary for checking a simple approval status. It would add complexity to the flow without any
benefit in this case.
• C) Incorrect: Terminate is used to end the flow, not to check or send an email based on a condition. If you
use Terminate, you would be stopping the flow before sending an email, which isn't what you want if the
approval is true. The goal is to check the condition and proceed with sending the email only when
appropriate.
Question: How can you structure the flow to calculate the appropriate discount?
A) Use a Switch case action to check the membership level and apply the corresponding discount.
B) Use a Condition action to check if the membership level is "Gold" and set the discount accordingly, then use
another Condition for "Silver."
C) Use a Set variable action to assign a static discount value and manually apply it to the price.
Answer: A) Use a Switch case action to check the membership level and apply the corresponding discount.
Explanation:
• A) Correct Answer: Switch case action is perfect for handling multiple possible values of a variable. In this
case, you would check the membership level and apply the corresponding discount based on the value
("Gold" or "Silver"). If the membership level doesn't match either case, you can set the discount to 0.
Why it's correct: Switch case is designed to handle multiple options for a variable in a clean and efficient
way. It's easier to manage and extend than using multiple Condition actions.
• B) Incorrect: Using multiple Condition actions to check each possible membership level is a valid
approach, but it’s less efficient than using Switch case. Each condition would add complexity and is harder
to scale if additional membership levels need to be added in the future.
• C) Incorrect: Set variable alone wouldn't allow you to calculate the discount based on membership level.
A Set variable action would only assign a single value, but it doesn't evaluate conditions or perform
calculations like a Switch case or Condition action would.
Question: How can you check the priority of the ticket and send the appropriate email?
A) Use a Condition action to check if the priority is "High," and send the immediate email if true.
B) Use a Switch case to check the priority levels and send emails accordingly.
C) Use a Do until loop to check if the priority is "High" until it’s resolved.
Answer: A) Use a Condition action to check if the priority is "High," and send the immediate email if true.
Explanation:
• A) Correct Answer: Condition action allows you to check whether the priority of the ticket is "High." If the
condition is true, an immediate email will be sent to the support team. If the condition is false, a regular
acknowledgment email can be sent. This method is simple and efficient for a straightforward check.
Why it's correct: The Condition action is the most efficient way to check a single value (in this case, the
ticket priority) and take appropriate actions based on whether the condition is true or false.
• B) Incorrect: While the Switch case action is good for handling multiple values, it’s overkill for a simple
"High" vs. "Not High" check. A Condition action is more appropriate in this case for a straightforward
comparison.
• C) Incorrect: A Do until loop is used for repeated checking until a certain condition is met, which is
unnecessary here. Since we only need to check the priority once, a Condition action is more efficient.
Correct Answer: A) Use the When a new response is submitted trigger, then retrieve the form details and use
the Send an email (V2) action.
Explanation:
• A) Correct Answer: When a new response is submitted trigger is the most efficient way to capture form
data. After the trigger, you can use the Get response details action to retrieve the form responses (like
the user’s name and email). Then, use the Send an email (V2) action to send the acknowledgment email.
Why it's correct: This approach is built specifically for handling form responses, allowing you to easily
trigger the flow, retrieve data, and send an email without any manual handling or complex logic.
• B) Incorrect: Initializing variables is not necessary in this case, since the form responses can be captured
directly using the Get response details action. You don’t need to manually store or set the fields because
the flow will automatically capture the submitted data.
• C) Incorrect: Do until loop is not needed because we don’t need to repeatedly check for form
submissions. Trigger is designed to activate when a new response is submitted, so no need for a loop.
Question: How would you implement this flow to handle both shipped and non-shipped orders?
A) Use a Condition action to check if the order status is "Shipped." If true, update the record and send the email;
otherwise, use the Delay action to wait until the order status changes.
B) Use a Switch case to handle all possible statuses of the order, including "Shipped" and others.
C) Use a Terminate action to stop the flow if the order status is not "Shipped."
Correct Answer: A) Use a Condition action to check if the order status is "Shipped." If true, update the record
and send the email; otherwise, use the Delay action to wait until the order status changes.
Explanation:
• A) Correct Answer: The Condition action is the best choice to check if the order status is "Shipped." If
true, the flow can proceed to update the record and notify the customer. If false, you can use the Delay
action to wait for a certain period before re-checking the order status. This ensures that the flow does not
run indefinitely but continues once the order status changes.
Why it's correct: This approach is straightforward, ensuring that the flow only sends notifications and
updates when the order is "Shipped." The Delay action provides a simple mechanism to pause the flow
until the status changes, making the flow more efficient.
• B) Incorrect: While a Switch case could handle multiple statuses, it’s unnecessary for just checking the
"Shipped" status and delaying for others. A Condition action is more suitable for this case since we are
only concerned with whether the order is "Shipped" or not.
• C) Incorrect: Using a Terminate action would stop the flow if the order status is not "Shipped." This is not
what you want, as the flow should wait for the status to change rather than end abruptly. The Delay
action is better suited for handling this scenario.
Correct Answer: A) Use a Scope action to group the database extraction and error handling together, and add a
Configure Run After condition to the error handling scope.
Explanation:
• A) Correct Answer: The Scope action is a great way to group a set of actions (such as data extraction) and
manage error handling separately. You can configure the Run After condition to trigger an action only if
the previous actions fail. This allows you to log the error and notify the administrator only when the
extraction fails, without stopping the flow immediately.
Why it's correct: The Scope action with Run After gives you control over error handling and ensures that
the flow continues smoothly by only triggering the error notification when necessary.
• B) Incorrect: Using a Terminate action would stop the flow immediately after an error occurs, which is not
ideal for logging errors and notifying users. You want to allow for proper error handling and notifications
without abruptly ending the flow.
• C) Incorrect: Using a Do until loop would unnecessarily retry data extraction multiple times, which is not
the most efficient or appropriate solution for error handling. Instead, the Scope action and Run After
conditions provide better control for error logging and notifications.
Correct Answer: A) Use a Condition action to check the outcome of the approval process (approved or rejected)
and send the appropriate email.
Explanation:
• A) Correct Answer: The Condition action is the most straightforward way to check if the approval was
successful (approved) or rejected. Based on the result, you can send either a confirmation or rejection
email to the requester.
Why it's correct: Condition action is ideal for simple true/false checks, like whether an approval is granted
or rejected. It allows for a clear flow of logic, sending the appropriate email based on the outcome.
• B) Incorrect: While a Switch case is useful for handling multiple distinct values, in this case, we are only
concerned with two outcomes: approved or rejected. A Condition action is more efficient for a binary
decision.
• C) Incorrect: Terminate is used to stop the flow entirely, which is not necessary when the approval is
rejected. You want to handle the rejection properly by sending a notification to the requester, not
stopping the flow abruptly.
Correct Answer: A) Use the Create item action to insert the form responses into the SharePoint list, mapping
each form field to the corresponding column.
Explanation:
• A) Correct Answer: The Create item action is used to create a new item in a SharePoint list. By mapping
each form response field to the corresponding SharePoint list column, you can easily store the data in the
list. This action is designed for inserting new records into a list.
Why it's correct: The Create item action is the right choice for storing new data in a SharePoint list. It
allows for easy mapping of form responses to SharePoint list columns.
• B) Incorrect: The Update item action is used to update an existing item in a SharePoint list. If you are
storing new data from a form, you should use Create item rather than Update item, which is for
modifying existing records.
• C) Incorrect: The Append to array variable action stores data in a variable, but it doesn't directly help
with inserting records into SharePoint. To add form responses to SharePoint, the Create item action
should be used instead.
Scenario 10: Automating Social Media Posts
Scenario: You want to create a flow that automatically posts content to a social media platform (e.g., Twitter)
when a new blog post is published on your website. The flow should retrieve the blog post title and URL, then
compose and send a post on Twitter.
Question: Which actions would you need to use to automate this social media posting process?
A) Use the HTTP action to retrieve the blog post data, then use the Twitter connector to post the tweet.
B) Use the When a new item is created trigger to get the blog post data, then use the Twitter connector to send
the post.
C) Use a Do until loop to check for new blog posts until one is published and then post on Twitter.
Correct Answer: B) Use the When a new item is created trigger to get the blog post data, then use the Twitter
connector to send the post.
Explanation:
• B) Correct Answer: The When a new item is created trigger is ideal for detecting when a new blog post is
published. After this trigger, you can retrieve the blog post title and URL, and then use the Twitter
connector to send a tweet containing that information. This flow efficiently automates the process from
start to finish.
Why it's correct: The When a new item is created trigger is specifically designed for scenarios where you
need to take action upon the creation of a new item (e.g., a new blog post). Following this with a Twitter
action ensures that the flow sends the social media post automatically.
• A) Incorrect: Using the HTTP action to retrieve blog post data adds unnecessary complexity when the
When a new item is created trigger is already designed for this purpose. The Twitter connector is also
easier to use than handling HTTP requests directly.
• C) Incorrect: Using a Do until loop to check for new blog posts is inefficient. The When a new item is
created trigger already automatically activates when a new post is published, so there's no need to
continuously check for new posts with a loop.
Correct Answer: A) Use a Condition action to check the recipient’s group and send a customized email to either
managers or employees.
Explanation:
• A) Correct Answer: The Condition action is perfect for checking the recipient’s group (manager or
employee) and then taking the appropriate action. If the recipient is a manager, send one email, and if the
recipient is an employee, send a different email. This structure allows you to handle multiple groups with
custom email content based on the condition.
Why it's correct: The Condition action allows you to easily separate the flow into different paths based on
the recipient's group, making it ideal for this scenario.
• B) Incorrect: While a Switch case could be used to check different groups, it is overkill for just two groups
(managers and employees). A Condition action is simpler and more efficient for this binary choice.
• C) Incorrect: Using the Send an email (V2) action for each recipient without a condition would not provide
the logic needed to customize the content based on their group. You would still need a condition to
determine which email to send.
G. What are Connectors in Power Automate?
Connectors in Power Automate are pre-built integrations that allow your flows to interact with external services,
applications, and data sources. These connectors enable you to automate tasks such as sending emails, updating
SharePoint lists, interacting with databases, and much more without having to write complex code.
Types of Connectors
1. Standard Connectors:
These are available to all users and include popular services like Outlook, SharePoint, Excel, and OneDrive.
2. Premium Connectors:
These connectors require an additional license. Examples include Salesforce, SQL Server, and Dynamics
365.
3. Custom Connectors:
These are user-defined connectors that allow you to integrate with APIs or services that are not available
in the standard or premium categories.
4. Built-in Connectors:
These connectors come pre-installed in Power Automate and handle internal actions like conditions,
loops, etc.
Common Use Cases for Connectors
• Sending an email using Outlook or Gmail
• Updating a SharePoint list
• Sending push notifications
• Connecting to SQL databases to fetch and manipulate data
• Uploading files to OneDrive or Dropbox
Correct Answer: B) Use the "Recurrence" trigger to check daily and then use Condition to compare today's date
with the expiration date.
Explanation:
• B) Correct Answer:
The Recurrence trigger allows you to check daily for upcoming subscription expirations. By using a
Condition action to compare today's date with the expiration date minus 2 days, you can determine
whether a reminder email should be sent. This is the most efficient way to schedule a recurring check and
send the email reminder.
Why it's correct: Using the Recurrence trigger ensures the flow runs daily, which is suitable for a recurring
task like sending reminders. The Condition action then ensures the email is sent only when the
subscription expiration is exactly 2 days away.
• A) Incorrect:
The "When an item is created or modified" trigger is useful for changes in SharePoint, but it won't allow
for a time-based recurrence. You would have to rely on the timing of when items are added or changed,
which doesn't fit the requirement of sending an email exactly 2 days before expiration.
• C) Incorrect:
The "When a new email arrives" trigger is unrelated to checking subscription expiration dates. It’s more
appropriate for flows triggered by incoming emails, not for recurring tasks based on data like subscription
expiration.
Correct Answer: A) Use the "When a new response is submitted" trigger from Microsoft Forms and then use
"Create item" action for SharePoint.
Explanation:
• A) Correct Answer:
The "When a new response is submitted" trigger from Microsoft Forms is designed to activate when a
user submits a form. You can then use the "Create item" action to store the form data in a SharePoint list.
This is the most straightforward and efficient way to capture form submissions and store them in
SharePoint.
Why it's correct: The trigger is directly tied to form submissions, and the "Create item" action is designed
to add data to SharePoint lists, making this the correct approach for the given scenario.
• B) Incorrect:
The "When an item is created" trigger applies to SharePoint lists, not form submissions. This would not
be suitable for handling web form submissions as it is designed for SharePoint-specific actions.
• C) Incorrect:
The "When a new email arrives" trigger is for flows that are activated by incoming emails, which isn't
relevant to collecting data from a form.
Correct Answer: A) Use the "When a file is created" trigger in OneDrive, then add a Condition to check if the file
extension is ".pdf".
Explanation:
• A) Correct Answer:
The "When a file is created" trigger in OneDrive activates when a new file is added. By adding a Condition
action, you can check the file extension using dynamic content (e.g., File Name). If the file is a PDF
(extension ".pdf"), the flow can send a notification.
Why it's correct: This approach is efficient because the Condition action directly evaluates the file type
and sends a notification only for the desired file type, like PDFs.
• B) Incorrect:
A Switch case is useful for multiple specific values, but in this case, a simple Condition action is more
appropriate since you only need to check one file type (PDF).
• C) Incorrect:
The "When a file is modified" trigger responds to modifications in files, not new file uploads. Additionally,
sending notifications for every file without checking the type would flood you with notifications that are
irrelevant to your needs.
Correct Answer: A) Use the "Recurrence" trigger to schedule the flow to run weekly and use the "Get rows"
action to retrieve data from the Excel file, then send an email.
Explanation:
• A) Correct Answer:
The "Recurrence" trigger allows you to schedule the flow to run weekly. You can then use the "Get rows"
action to retrieve sales data from the Excel file, and the "Send an email" action to send the report to
recipients.
Why it's correct: Scheduling the flow with the Recurrence trigger ensures that it runs regularly without
requiring manual activation. The Get rows action retrieves data from Excel, and Send an email lets you
share the report.
• B) Incorrect:
The "When a file is created" trigger is triggered when a new file is uploaded, not on a schedule. It’s more
appropriate for detecting new files rather than sending regular weekly reports.
• C) Incorrect:
The "When a new item is created" trigger applies to SharePoint lists, not Excel files, making it unsuitable
for this scenario where the data is in an Excel file.
H. Step-by-Step Guidance for Creating UI Flows in Power Automate
UI Flows in Power Automate (now known as Desktop Flows) are used to automate tasks on your computer by
simulating user actions, such as clicking buttons, filling forms, or interacting with desktop applications. These flows
are useful when you need to automate tasks that do not have an API or cloud-based integration, such as
interacting with legacy software or desktop applications.
UI Flows can be used for automating repetitive manual tasks, like logging into applications, extracting data, and
more. These flows are created using Power Automate Desktop and can be triggered by Power Automate in the
cloud.
Prerequisites
1. Power Automate Desktop: Ensure you have Power Automate Desktop installed on your machine. You
can download it from here.
2. Power Automate Cloud: You need a Power Automate cloud account to integrate and trigger the flows
from the web.
Step-by-Step Guide to Creating UI Flows (Desktop Flows)
Conclusion
UI Flows (Desktop Flows) in Power Automate provide a powerful way to automate repetitive desktop tasks without
needing to write complex code. Whether it’s logging into applications, filling forms, or automating legacy systems,
these flows allow you to save time and streamline your daily processes.
Detailed, step-by-step example of creating a UI Flow (Desktop Flow) in Power Automate.
We will now automate the task of logging into a web application (for example, [Link] using
Power Automate Desktop. This will involve recording the necessary actions, refining them, and then publishing the
flow for execution.
Example: Automating Login to a Website Using Power Automate Desktop
Conclusion
You’ve now created a UI Flow (Desktop Flow) that automates logging into a website! This example showcases the
power of Power Automate Desktop in automating desktop-based tasks that cannot be done directly in cloud flows.
By recording actions, editing them, and using variables, you can customize your flow to handle a wide variety of
tasks, from logging into web applications to interacting with desktop software.
Conclusion
Now you’ve automated the process of downloading a file from a website using Power Automate Desktop. This
example showcases how to:
• Record desktop actions.
• Use variables for dynamic data.
• Add delays and error handling to ensure smooth execution.
• Publish and trigger the flow from Power Automate Cloud.
You can apply this approach to automate other desktop tasks, like data entry, form submissions, or interacting
with legacy applications. The flexibility of UI Flows allows you to handle tasks that can't be automated through API
integrations alone.
MCQ Question 1:
Scenario:
You are creating a desktop flow to automate logging into an online banking application. The application has a
CAPTCHA that appears intermittently when logging in. How can you handle this situation in your flow?
Options:
A) Add an error handling action to skip CAPTCHA.
B) Use the "Pause" action and manually resolve the CAPTCHA before continuing.
C) Automate CAPTCHA resolution using OCR or third-party tools in Power Automate.
Correct Answer: B) Use the "Pause" action and manually resolve the CAPTCHA before continuing.
Explanation:
Captchas are specifically designed to prevent automated systems from performing actions like logging in. While
Power Automate Desktop can record actions and automate tasks, resolving CAPTCHAs requires human
intervention. The best approach here is to pause the flow and allow manual CAPTCHA resolution before continuing
with the rest of the automation.
Question 2:
Scenario:
You are designing a UI flow to automate logging into a system. After entering the username and password, the
system shows a "Remember me" checkbox. You want to automate the click of this checkbox, but the element's ID
changes with each session. How do you handle this in your UI flow?
Options:
A) Use the "Click UI element in the browser" action and specify a fixed ID.
B) Use the "Click UI element in the browser" action and try to use a relative selector or XPath.
C) Skip clicking the checkbox since the element ID changes every session.
Correct Answer: B) Use the "Click UI element in the browser" action and try to use a relative selector or XPath.
Explanation:
When dealing with dynamically changing element IDs, it’s best to use relative selectors or XPath to locate the
element. XPath allows you to find an element based on its attributes or position relative to other elements. This
way, even if the ID changes, the flow will be able to interact with the checkbox correctly.
Question 3:
Scenario:
You’ve automated the process of downloading monthly reports from a website. However, sometimes the website
may be down, and you want the flow to check if the website is accessible before proceeding. How can you
implement this check in your UI flow?
Options:
A) Use the "Check if file exists" action after attempting to download the report.
B) Add a "Navigate" action to the website and use an exception handling mechanism to retry or stop if the website
is unavailable.
C) Manually check the website status before running the flow.
Correct Answer: B) Add a "Navigate" action to the website and use an exception handling mechanism to retry or
stop if the website is unavailable.
Explanation:
Before proceeding with further actions like downloading reports, it's best to use the Navigate action to check if the
website is accessible. If the website is down, you can use exception handling (e.g., retry logic) to retry the action or
stop the flow based on the result, ensuring robustness in the automation.
Question 4:
Scenario:
You are creating a UI flow to interact with an application that frequently opens new windows or pop-up dialogs.
How should you handle pop-ups or new windows in your flow?
Options:
A) Automatically ignore pop-ups and continue the flow.
B) Use the "Handle window" action to focus on the pop-up or new window before interacting with it.
C) Close all pop-ups manually before starting the flow.
Correct Answer: B) Use the "Handle window" action to focus on the pop-up or new window before interacting
with it.
Explanation:
UI flows should handle pop-ups or new windows explicitly using the Handle window action. This action allows you
to bring focus to the pop-up or new window, ensuring that interactions with it are properly executed. Ignoring
pop-ups can lead to missed actions or errors in the flow.
Question 5:
Scenario:
In Power Automate Desktop, you need to automate the process of logging into a website and saving an important
document. The document is generated on the website after login, but it may take some time to load and become
available. What should you do to ensure your flow doesn’t proceed until the document is fully available?
Options:
A) Add a Delay action for a fixed amount of time after logging in.
B) Use the Wait for UI element action to wait for the document to become available.
C) Proceed immediately to the file download step after login.
Correct Answer: B) Use the "Wait for UI element" action to wait for the document to become available.
Explanation:
Rather than using a fixed delay, which might be inefficient or too long, you should use the Wait for UI element
action. This action ensures the flow waits for a specific element (e.g., the document download button or link) to
appear on the page before continuing. This approach makes the flow more reliable and adaptive to varying load
times.
Question 6:
Scenario:
You’ve created a UI flow to automate form filling in a web-based application. You want to ensure that the flow
works even if the browser window size changes. What action can you take to make the flow more flexible and
reliable?
Options:
A) Use the Set Window Size action to fix the browser window size.
B) Use relative selectors or coordinates for identifying and interacting with UI elements.
C) Ignore the window size since it won’t affect the flow.
Correct Answer: B) Use relative selectors or coordinates for identifying and interacting with UI elements.
Explanation:
Using relative selectors or coordinates helps make the flow flexible and adaptive to changes in window size. This
way, even if the browser window size changes, the flow will still be able to interact with elements based on their
relative position or other properties, making it more resilient to variations.
Question 7:
Scenario:
You are automating a process where you need to enter data into an online form. The form elements change based
on the browser window size. How would you ensure your flow works even when the window size changes?
Options:
A) Use fixed coordinates for UI elements to ensure the flow clicks at the right position.
B) Use relative selectors or XPath to locate the UI elements.
C) Resize the window to a fixed size before starting the flow.
Correct Answer: B) Use relative selectors or XPath to locate the UI elements.
Explanation:
Instead of relying on fixed coordinates, which may break if the window size changes, it’s more effective to use
relative selectors or XPath. These allow the flow to locate UI elements based on their properties or positions
relative to other elements, ensuring the automation remains functional despite changes in window size.
Question 8:
Scenario:
You are automating the process of logging into a website. After entering the credentials, the website asks you to
verify your identity through an email. What should you do in your flow to handle this situation?
Options:
A) Automatically click the "Verify" button after entering the credentials.
B) Pause the flow and wait for you to manually verify the email.
C) Continue without checking the verification email.
Correct Answer: B) Pause the flow and wait for you to manually verify the email.
Explanation:
Since identity verification typically involves a manual action (such as clicking a link in an email), it is not possible to
automate this process within Power Automate. You can use a Pause action to wait for the manual verification
before continuing the flow. Automating email verification would require a more complex setup (possibly involving
third-party integrations or services), which is beyond the scope of basic UI flows.
Question 9:
Scenario:
You are automating the process of downloading files from a website. The file download link is generated
dynamically every time the page reloads. How would you handle this in your flow?
Options:
A) Use a fixed URL to download the file.
B) Use dynamic selectors to find the download link every time the page loads.
C) Manually locate the link each time and download the file.
Correct Answer: B) Use dynamic selectors to find the download link every time the page loads.
Explanation:
When dealing with dynamic elements (like download links generated after page reload), you should use dynamic
selectors or XPath to locate the element. This ensures that the flow can correctly identify and click on the
download link, regardless of any changes in the URL or element ID.
Question 10:
Scenario:
You are creating a UI flow to interact with an application that may sometimes be slow to respond. You want the
flow to wait until the application is ready for the next action. How would you implement this in your flow?
Options:
A) Use the Pause action for a fixed amount of time.
B) Use the Wait for UI element action to wait for a specific element to be available.
C) Continue without waiting and hope the application responds in time.
Correct Answer: B) Use the "Wait for UI element" action to wait for a specific element to be available.
Explanation:
The Wait for UI element action ensures that your flow will pause until a specific element is available (e.g., a button
or text field) before continuing. This is much more reliable than using a fixed Pause action, as it adapts to the
actual response time of the application.
Question 11:
Scenario:
You want to automate an Excel task where data is entered into an Excel file and then saved to a specified location.
The file location may change based on the time of day. How can you automate this in Power Automate Desktop?
Options:
A) Use a static file path that does not change.
B) Use variables to dynamically set the file path based on the time of day.
C) Manually enter the file path each time the flow runs.
Correct Answer: B) Use variables to dynamically set the file path based on the time of day.
Explanation:
To make the flow more dynamic and adaptable, use variables to set the file path. For example, you can create a
variable that generates a file path based on the current date or time, allowing the flow to automatically adjust the
location without needing manual intervention.
Question 12:
Scenario:
You are automating a data entry task, and the system sometimes shows an error message if a field is invalid. You
want the flow to check for the error and continue. What should you do?
Options:
A) Ignore the error and let the flow fail.
B) Use error handling actions to check for errors and continue.
C) Manually check for errors before continuing.
Correct Answer: B) Use error handling actions to check for errors and continue.
Explanation:
Using error handling actions allows you to handle specific errors (such as invalid fields) without the flow failing.
You can configure the flow to check for specific error messages and either skip the invalid field or log the error for
review, ensuring smooth flow execution even when errors occur.
Question 13:
Scenario:
You are automating a process that interacts with an external application, and the application sometimes opens a
confirmation dialog box asking for approval before proceeding. What action should you take to handle this in your
flow?
Options:
A) Manually close the confirmation dialog box.
B) Use the "Handle Window" action to automatically close or interact with the dialog box.
C) Skip the dialog box and continue the flow.
Correct Answer: B) Use the "Handle Window" action to automatically close or interact with the dialog box.
Explanation:
The Handle Window action allows you to interact with windows or dialog boxes that appear during the flow. You
can use this action to click buttons like "OK" or "Cancel" or to close the dialog box automatically, making the flow
more autonomous and reliable.