Understanding Dynamic Content in Power Automate
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.
What dynamic content actually is
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.
How to insert dynamic content in the designer
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.
- Select the lightning bolt icon: opens the list of dynamic content from all previous steps directly.
- Select the fx button: opens the expression editor instead, where you combine functions with dynamic content.
- Type a forward slash (/): opens the same picker directly in the text field, without using the mouse.
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 in expressions
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.
When dynamic content isn't shown
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:
- The split-on option is active. Triggers that can deliver multiple records at once, such as "When a new response is submitted," offer the Split On setting. If it's enabled, the fields from this trigger may not be available in the dynamic content picker. The solution is to turn the option off in the trigger settings.
- The data type doesn't match the field. The picker filters by data type by default, so a text field primarily shows text values. A numeric value then doesn't appear automatically. Either you search for it specifically, which overrides the filtering, or you use the Compose action as an intermediate step, whose output appears as type "any" in every picker.
Details on both causes and the appropriate solution steps can be found in the documentation on the missing dynamic content picker.
The "Compose" action as an intermediate store
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.
Practical example at a glance
- The trigger When a new response is submitted provides a response ID.
- The action Get response details uses this ID and then provides the name, email, and all form fields as its own dynamic content.
- The action Send an email accesses exactly these fields without you having to copy them anywhere manually.
- A Compose action combines two or three fields into a single text, which is then itself available as 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.
Frequently asked questions
What is the difference between dynamic content and a variable?
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.
Why don't I see dynamic content from a previous step in the list?
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.
Can I combine dynamic content from multiple steps at the same time?
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.
Does dynamic content also work in desktop flows?
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.
Do I always have to select dynamic content manually?
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.
NordFlux UG (haftungsbeschränkt)
NordFlux builds digital employees for organisations: automations and AI agents that take over repetitive work. You stay in control.
Concrete questions about automation or AI?
In a free initial analysis we discuss your case directly. No strings attached.