"Apply to each" in Power Automate: understanding, controlling, and avoiding the loop
"Auf alle anwenden" processes lists item by item and often appears unintentionally. How the loop works, why it slows things down, and when it can be removed.
What dynamic content in Power Automate is, how to insert it, and where beginners typically stumble.
When you build your first Power Automate flow, you quickly run into a term that sounds abstract at first: dynamic content. Behind it, though, is no complicated concept, but exactly the mechanism that makes a flow useful in the first place, namely passing real data from one step to the next instead of just sending fixed text.
The official explanation in the cloud flow designer puts it clearly: dynamic content consists of variables generated by triggers and actions within a flow diagram, and they let you select field references from previous steps and build expressions on top of them, as the Microsoft documentation on the cloud flow designer. This article uses the official Power Automate documentation to show what dynamic content actually is, how you insert it in the designer, and where beginners typically stumble.
Every trigger and every action in a flow produces a result at the end of its execution, known as an output. A trigger for a new form response, for example, provides the name, email address, and the individual response fields. An action that retrieves a file from SharePoint provides the file name, content, and modification date. These outputs are available to all subsequent steps in the flow, so you don't have to type them in manually or store them yourself.
Power Automate calls these available outputs dynamic content. Instead of typing "New tweet from Max Mustermann" as fixed text into a field, you select a placeholder in the field that gets automatically replaced with the actual name from the trigger at runtime. The official tutorial for your first cloud flow illustrates this principle clearly: when sending a notification email, the placeholders Tweeted by and Tweet text are inserted directly from the trigger into the Subject and Text fields, as described in the "Create a cloud flow" tutorial. Once the flow runs, the placeholder is no longer shown there. Instead, the actual content of the respective tweet appears.
In the new cloud flow designer, you open the dynamic content picker via the lightning bolt icon next to an input field. A click opens a popup where you can search or scroll through values from previous steps. Alternatively, you simply type a forward slash (/) into a field to open the same picker. The search automatically filters for matching fields, so in long flows you don't have to scroll through every card individually.
The expression and dynamic content editor in the designer is also multiline and can be expanded to a full-page view if needed, which is especially helpful for more complex expressions with several nested functions, according to the cloud flow designer documentation.
Dynamic content can not only be inserted directly but also wrapped in functions. A common example is formatting a date: with the formatDateTime function, you combine the date from the trigger with a desired output format, for example formatDateTime(triggerBody()?['date'], 'MM/dd/yyyy'). The dynamic content supplies the raw value, while the function determines how it looks in the end. This interplay between dynamic content and functions is the foundation for almost every somewhat more advanced flow, whether you're converting numbers, assembling text, or checking conditions.
Especially at the start, it often happens that an expected value is simply missing from the list. The official troubleshooting guide names two typical causes for this:
Details on both causes and the appropriate solution steps can be found in the documentation on the missing dynamic content picker.
If you need a value multiple times in the flow or want to simplify an expression, the Data Operations action Compose is worth using. It takes an input, such as a composed expression or an array, and then provides the result as its own Outputs output. This output then appears normally in the list of dynamic content and can be reused as often as you like, as the data operations documentation shows. This is especially useful when you don't want to repeat a complicated expression in three different actions but instead calculate it once and then reference it everywhere as ready-made dynamic content.
This is how the real strength of a flow emerges: each step passes its results on to the next in a structured way, and you keep control over which value ends up where, without copy-pasting between systems.
If you get stuck at exactly these points when building your own flows, whether it's missing dynamic content, nested expressions, or the question of how a flow should be structured in the first place, the Power Automate consulting from NordFlux can help you build the underlying principle cleanly once, instead of guessing it anew flow by flow.
Dynamic content is the output of a specific trigger or a specific action and exists automatically as soon as that step is present in the flow. A variable, on the other hand, you must create explicitly with the Initialize variable action, and it can also be changed multiple times over the further course of the flow, whereas dynamic content from a step always provides the value of that single run.
Most often it's either an activated split-on option on the trigger, or the field's data type doesn't match the target type and therefore gets filtered out. A targeted search in the picker window overrides this filtering; alternatively, an intermediate Compose action helps.
Yes. You can use multiple values from different previous steps in a single field, either directly one after another or embedded in a function like concat(). The expression editor still gives you access to the complete list of dynamic content, regardless of which step it comes from.
Not directly in the classic cloud flow sense; desktop flows with Power Fx instead work with typed and dynamic values that function similarly but have their own conversion rules. For cloud flows, meaning the classic trigger-action chains, the principle described here applies without restriction.
No. Copilot can also generate expressions, including matching dynamic content, from a natural-language description. Still, for understanding why a flow works in the first place and how to fix it when something goes wrong, it's worth practicing the manual insertion yourself at least once.
Founder of NordFlux. Spent four years automating processes at enterprise scale at Dräger, and now brings that depth to the mid-market — pragmatic and with full data sovereignty.
Certifications
"Auf alle anwenden" processes lists item by item and often appears unintentionally. How the loop works, why it slows things down, and when it can be removed.
Why Power Automate throws error 429 and how you can specifically fix throttling through concurrency control and batching.
DLP policies protect company data in Power Automate. Here's how connector groups, enforcement, and your first policy work.
When dynamic content doesn't show up in the designer, it's rarely random, it's usually missing structure or the wrong loop context in the flow. NordFlux builds your Power Automate processes so that outputs from previous steps stay reliably available, instead of working around symptoms with workarounds like the Compose action. In our first conversation, we look at your flow structure and show you the root cause.