
Currently I am sharing my knowledge with the Power Platform, with PowerApps and Power Automate. With over 8 years of experience, I have been learning SharePoint and SharePoint Online
Andrew Hess - MySPQuestions presents a two-part YouTube walkthrough that focuses on preventing unnecessary runs in Power Automate flows. He opens by explaining why structure matters as organizations scale their automation, and he frames Trigger Conditions as a simple, high-impact control. The video breaks into short chapters that cover basics, examples, and troubleshooting, which makes the guidance easy to follow for administrators and makers alike. Overall, the author aims to help viewers reduce wasted runs and avoid common automation problems.
In addition, the presentation highlights how modern tools can help. For example, Hess demonstrates how to use Copilot or a large language model to draft trigger expressions more quickly than writing them by hand. He also shows tests that compare manual expressions with AI-suggested ones to underline the importance of validation. Consequently, the video balances practical demos with caution about relying too heavily on generated code.
At the core of the video are Trigger Conditions, which stop a flow from starting unless specific criteria are met. Hess provides a clear example using a SharePoint list where the flow should run only if a Status field equals "Started" and a Project Manager field is not empty, showing how the expression evaluates before any actions execute. He stresses that configuring these checks on the trigger prevents the flow from consuming API quota or entering unnecessary logic paths. Therefore, trigger conditions act as a first line of defense against spurious runs.
Beyond trigger-level filters, Hess covers the use of a Terminate action inside flows to stop processing when certain states appear during a run. He also discusses using the Dataverse SDK to bypass automation for system-driven updates, which is useful during migrations or bulk operations. These approaches help separate technical operations from user-driven business logic and they reduce noise in run histories. However, he notes that bypassing triggers should be applied carefully, since it skips automation intentionally and can hide side effects if not documented.
Hess devotes a segment to demonstrating how Copilot can create trigger expressions, and he tests generated code side by side with hand-written logic. He shows that Copilot can accelerate writing conditions such as equality checks, empty tests, and numeric comparisons, which is useful for makers with limited expression knowledge. Yet, he also emphasizes testing those expressions because models can suggest syntactically correct but semantically wrong checks. Thus, testing remains essential to ensure the flow behaves as intended.
Furthermore, the video walks through how to test choice fields, use OR combinations, and avoid confusing AND statements that change logic meaning. Hess demonstrates a scenario where an OR condition returns true unexpectedly because of short-circuit behavior, and he uses raw outputs inspection to clarify what the trigger actually received. As a result, his approach pairs tool-assisted composition with deliberate validation steps that catch subtle mismatches between expectations and runtime data.
Hess highlights common traps such as incorrect logical operators, mishandled empty values, and mistaken string comparisons, each of which can cause missed triggers or extra runs. He points out that greater-than and numeric comparisons often fail when values arrive as strings, so makers should convert types or inspect raw outputs first. Additionally, the video explains how flow save-time warnings can flag potential infinite loops and how flows may be automatically disabled after repeated errors or long inactivity. Consequently, recognizing these failure modes helps teams maintain reliable automation.
When troubleshooting, Hess recommends inspecting the trigger's raw payload to see exact field names and types rather than guessing from the UI. He also shows how small tweaks to expressions resolve many false positives or negatives, and he encourages stepwise testing from simple checks to more complex combinations. Therefore, a disciplined testing routine reduces the risk that an optimization will introduce new problems. Ultimately, his examples reveal that clarity about input shape and data types pays off quickly.
The video closes by discussing tradeoffs between strict filtering and missing legitimate events, and it frames governance as a necessary part of automation at scale. On one hand, tight Trigger Conditions and SDK bypass reduce API usage, lower cost risk, and prevent runaway loops; on the other hand, overly strict conditions can silently drop needed runs and complicate troubleshooting. Hess recommends documenting conditions and maintaining a change log so that owners can trace why flows did or did not run. In practice, organizations must balance efficiency with observability.
Hess also touches on concurrency control and plan quotas, reminding viewers that flows count toward limits even when they terminate early unless the run is skipped at the trigger. He suggests using a mix of trigger-level checks, internal termination, and selective bypass for bulk operations to manage both performance and accuracy. Finally, he urges makers to treat automation as code that requires review, testing, and governance, and he encourages teams to adopt standardized patterns to keep flows predictable. By following those practices, teams can scale automation while controlling risk.
Power Automate prevent unnecessary flow runs, reduce flow runs Power Automate, optimize Power Automate flows, Power Automate trigger conditions, limit flow runs in Power Automate, Power Automate concurrency control, Power Automate flow best practices, prevent duplicate flow runs Power Automate