What Dynamic Content Represents
Dynamic content is the set of output values produced by the trigger and every action that ran before the current step, exposed in the flow designer as a searchable, clickable list whenever you place your cursor in an input field. Selecting an item, such as 'Subject' from an Outlook trigger or 'Id' from a Create item action, inserts an underlying expression like triggerOutputs()?['body/subject'] or outputs('Create_item')?['body/ID'] into the field, which the designer then renders as a friendly blue token chip rather than the raw expression text.
Cricket analogy: It's like a scorecard app that lets a commentator click a player's name and instantly pull in their live strike rate into the broadcast graphic, rather than typing the number manually each over.
Scope and Availability of Dynamic Content
Dynamic content is only available downstream of where it was produced, and its scope is affected by control-flow actions: values created inside an Apply to each loop are only directly clickable within that same loop (Power Automate wraps a reference to them from outside using an expression like first(body('Apply_to_each')) if you truly need one value out), and array-producing actions like 'Get items' expose their entire collection as a single dynamic content token, while individual item properties are only exposed once you're inside a loop iterating that collection.
Cricket analogy: It's like a player's individual innings-in-progress stats only being 'live' and referenceable while they're still batting; once the innings ends, you need a specific scorecard lookup to pull an old figure back out.
Referencing Trigger and Action Outputs
// Trigger output (Outlook 'When a new email arrives')
triggerOutputs()?['body/subject']
// Action output (a prior 'Create item' action named 'Create_item')
outputs('Create_item')?['body/ID']
// Item inside an Apply to each loop over 'Get_items'
items('Apply_to_each')?['Title']
// Pulling one value out of a loop from outside it
first(body('Apply_to_each'))?['Title']Use the 'See more' link at the bottom of the dynamic content list to reveal outputs from actions that Power Automate initially hides because they're inside a different scope or loop — the values still exist, they're just collapsed until you expand that section.
When Dynamic Content Isn't Enough
The dynamic content picker only inserts a raw value as-is; the moment you need to transform, combine, or conditionally adjust that value — concatenating a first and last name, formatting a date, or converting text to uppercase — you switch to the Expression tab in the same picker, which gives access to the full function library (concat, formatDateTime, toUpper, and hundreds more) while still letting you reference dynamic content by clicking it, since expressions and dynamic content share the exact same underlying reference syntax.
Cricket analogy: It's like a scoreboard operator who can display a raw run count directly, but switches to a manual calculator the moment they need to compute a required run rate from overs remaining and target score.
Dynamic content tokens are bound to the action name at the time of insertion. If you later rename that action, Power Automate usually updates references automatically, but copy-pasting actions between flows or importing a solution can silently break token references, showing 'Invalid template' errors that require manually reselecting the dynamic content.
- Dynamic content exposes outputs from the trigger and every prior action as clickable tokens in the designer.
- Selecting a dynamic content item inserts an underlying expression, shown as a friendly token chip.
- Dynamic content scope is limited by loops: values inside Apply to each are only directly clickable within that loop.
- Use first(body('Apply_to_each')) or similar expressions to pull a single value out of a loop from outside it.
- The Expression tab shares the same reference syntax as dynamic content but adds the full function library for transformations.
- Renaming actions usually updates token references automatically, but copy-paste or solution import can break them.
- 'See more' reveals dynamic content from actions hidden inside different scopes.
Practice what you learned
1. What does selecting an item from the dynamic content picker actually insert into a field?
2. Why are values inside an Apply to each loop only clickable within that same loop?
3. What is the purpose of the Expression tab in the dynamic content picker?
4. What commonly causes 'Invalid template' errors related to dynamic content?
5. What does the 'See more' link in the dynamic content picker do?
Was this page helpful?
You May Also Like
Actions and Steps
Learn how actions form the sequential building blocks of a flow's logic, from simple connector calls to control-flow constructs like conditions and loops.
Expressions in Flows
Master Power Automate's Workflow Definition Language expressions to transform data, build conditions, and manipulate strings, dates, and arrays.
Automated Triggers
Learn how automated triggers detect events in connected services and kick off Power Automate flows without any manual action.
Related Reading
Related Study Notes in Programming
Browse all study notesApache Spark Study Notes
Programming · 30 topics
ProgrammingApache Flink Study Notes
Programming · 30 topics
ProgrammingHadoop Study Notes
Programming · 30 topics
ProgrammingSnowflake Study Notes
Programming · 30 topics
ProgrammingApache Airflow Study Notes
Programming · 30 topics
Programmingdbt (Data Build Tool) Study Notes
Programming · 30 topics