Understanding Power Automate Compose: Definition and Usage

maranda-vandergriff-7aakZdIl4vg-unsplash (1)
Power Automate Power Platform

Understanding Power Automate Compose: Definition and Usage

In the contemporary world of digital transformation, Microsoft Power Automate has emerged as an indispensable tool, offering an intuitive platform to automate routine tasks and processes. A central component of this platform, and our focus for today, is the Power Automate Compose action.

As a necessary data operation action, the Compose action is a unique tool that enables manipulating data within Power Automate’s flows. Think of it as a handy data storage mechanism, storing an initial value that can be leveraged for various operations in Power Automate, such as in the filter array action.

This article aims to demystify the handy compose action, shedding light on its definition, functionality, and usage within the broader context of Microsoft Power Automate, Power Apps, and the former Microsoft Flow.

As we delve into the realm of dynamic content and data operations in Power Automate, we’ll uncover the versatility and efficiency of the Compose action, paving the way for more streamlined and effective automated processes.

So, whether you’re new to Power Automate Compose or you’re seeking to enhance your existing knowledge, this article serves as a comprehensive guide to understanding and leveraging this powerful tool.

Understanding Power Automate

Power Automate, previously known as Microsoft Flow, is a cloud-based service provided by Microsoft to create automated workflows between your favorite apps and services. This versatile tool enables businesses to automate routine tasks and processes, allowing them to focus on more strategic issues.

Power Automate is essentially a service that allows you to create, use, and share automated workflows, known as flows, that connect different apps and services. These flows can be triggered by specific events, like receiving an email or scheduled to run at certain times.

Read also: Sending Emails with Power Automate: Step-by-Step Guide

The primary purpose of Power Automate is to streamline repetitive tasks and paperless processes by eliminating the need for manual input. It integrates with over 200 services, like Outlook, SharePoint, and Excel, making connecting and automating tasks across different platforms easier than ever.

Key Features of Power Automate

Cloud Flows

These flows are triggered by an event, like a new email in Outlook or a new item in SharePoint. They can also run on a schedule, like once a day or once a week.

power automate cloud flows

Business Process Flows

These are more complex flows that guide users through a multi-step process, like an approval workflow or an onboarding process.

business process flows

Related reading: How to Populate a Word Document with Power Automate?

Desktop Flows

These flows automate repetitive tasks on your desktop, like moving files or entering data.

power automate desktop flow

AI Builder

A tool that allows you to use artificial intelligence to predict outcomes, automate processes, and recognize patterns in your data.

power automate AI builder

Benefits of using Power Automate

  1. Efficiency: Power Automate reduces the time spent on repetitive tasks by automating them.
  2. Integration: It integrates with hundreds of apps and services, allowing for seamless data transfer and workflow automation across platforms.
  3. Accuracy: Automating tasks reduces the chance of human error, leading to more accurate outcomes.
  4. Productivity: Power Automate allows employees to focus on more strategic tasks rather than spending time on routine tasks.
  5. Customizability: It offers high customizability, allowing businesses to create workflows that fit their specific needs.

Learn more in our detailed article: What is Power Automate? An Example-Based Guide for Beginners

Compose in Power Automate is used to save data that you want to use later in your flow. It’s a type of action that can be used to create an arbitrary object or temporarily store data for reference later in the flow, similar to variables in programming.

Compose can be particularly useful when you’re dealing with arrays or Power Automate compose JSON objects. You can use it to parse JSON data and then reference individual elements in the same way as you would with hard-coded values.

How to Use Compose in Power Automate

Compose action in Power Automate saves and manipulates data you want to use later in your flow. This step-by-step guide will show you what is compose in Power Automate effectively, with examples involving Power Automate compose JSON and other data types.

Steps to use Compose in Power Automate:

Step 1. Creating a Flow

Start by logging in to your Power Automate account and creating a new flow. This can be done by clicking on ‘My flows’ > ‘New’ > ‘Automated from blank.’

power automate creating a flow

Step 2. Choose a Name

In the second step give your flow a name and set a trigger.

choose a name for the flow

Step 3. Adding Compose action

After setting a trigger, click on ‘New step’ > ‘Add an action’. In the search box, type ‘Compose’ and select it from the actions list. This will add a Compose action to your flow.

power automate add compose action

Step 4. Using Compose

Now, you need to define the inputs for the Compose action. This could be a string, an object, an array, or a more complex expression. You can directly input values, and use dynamic content or expressions.

power automate using compose

For instance, if you want to store the subject of an email, you can select ‘Subject’ from the dynamic content list that appears when you click in the ‘Inputs’ field of the Compose action.

Step 5. Using Compose with JSON

Let’s consider an example of dealing with JSON data. Let’s say you have a JSON payload that you want to parse and use later in the flow.

You would first add a ‘Parse JSON’ action to do this. In the ‘Content’ field, you would put the JSON payload directly or as a reference to some other action’s output.

In the ‘Schema’ field, you would put the schema of the JSON object. This defines the structure of the JSON data and helps Power Automate to identify what data it can expect.

Using Compose with JSON

Once you’ve added the ‘Parse JSON’ action, you can then use the Compose action to store specific values from the JSON data. For instance, you could add a Compose action and use the ‘Outputs’ function to reference the output of the ‘Parse JSON’ action.

Read also: Power Automate Functions Overview: Definition, Cheat Sheet, Best Practices

Referencing Compose

Once you’ve stored data in a Compose action, you can reference it later in your flow. This is done by selecting the Compose action from the dynamic content list when setting the inputs for another action.

power automate Referencing Compose

Debugging with Compose

Compose is also a handy tool for debugging your flows. By adding a Compose action at different points in your flow. You can inspect the data that’s being passed around, which can help identify any errors or issues.

Power Automate Compose vs Variable

While Power Automate Compose vs variables store data, they are used slightly differently. Variables need to be initialized at the start of the flow and can be updated multiple times throughout the flow. Compose, on the other hand, is not initialized separately and its value is defined when it is created. It cannot be updated once it’s set.

In general, use Compose when you need to store data that won’t change, and use variables when you need to store data that will be updated as the flow runs.

Remember, while Compose is a powerful tool, it’s important to use it effectively. Overuse can lead to unnecessarily complex flows, so always consider whether a variable or another action could achieve the same result more simply.

Compose in Power Automate: Best Practices

When using Compose in Power Automate, several best practices can help you create efficient and effective flows:

Understand the Difference Between Compose and Variables

Both Compose and variables are used to store data but differently. Compose stores data that does not change within the flow, while variables are used when the stored data needs to be updated or changed during the flow. Understanding this distinction is critical to using Compose effectively.

power automate Compose vs Variables

Use Compose for Static Values

Compose is ideal for storing static values or calculations that you want to reference later in the flow. This could be something simple like a string or number or something more complex like a JSON object or array.

Using Compose for Static Values

Use Compose to Simplify Expressions

If you have a complex expression that you’re using multiple times in your flow, consider using a Compose action to store the result of the expression. This makes your flow easier to read and debug.

Using Compose to Simplify Expressions

Use Compose for Debugging

Compose is a handy tool for debugging your flows. By adding a Compose action at different points in your flow, you can check the data that’s being passed around, which can help identify any errors or issues.

Best Practices for Using Compose in Power Automate

Nested Compose Actions

If you have multiple Compose actions, consider nesting them for better organization and readability of your flow. This is especially useful when dealing with complex data structures.

Nested Compose Actions

Naming Compose Actions

Always name your Compose actions appropriately. This makes it easier to reference them later in the flow and improves the readability of your flow.

Naming Compose Actions

Use of Dynamic Content

When setting the input for a Compose action, you can use dynamic content from previous actions. This is a powerful feature that allows you to create dynamic flows.

Related article: Power Automate Trigger Conditions: Example-Based Guide

Common Mistakes to Avoid When Using Compose

  1. Avoid Overuse: While Compose is a powerful tool, it’s important to use it judiciously. Overuse can lead to unnecessarily complex flows. Always consider whether a variable or another action could achieve the same result more simply.
  2. Misunderstanding the Purpose of Compose: Compose is not a variable and should not be used as one. It cannot be updated once it’s set, unlike a variable which can be initialized and updated throughout the flow.
  3. Ignoring Error Handling: Compose actions can fail if the input is not in the expected format or if a referenced action has not run successfully. Always include error handling in your flows to account for these possibilities.
  4. Overlooking Data Types: Compose can handle different data types, including strings, numbers, objects, and arrays. Ensure that the data type of the input matches the expected data type of the Compose action to avoid errors.

Remember, Compose is just one of many data operation actions available in Power Automate. Understanding and effectively using these tools allows you to create powerful and efficient flows to automate your tasks and processes.


Power Automate Compose is an incredibly versatile and useful tool for managing and manipulating data within your automation workflows. It serves as a vital instrument in building more efficient and complex flows, offering flexibility in dealing with variables, JSON structures, and much more. Its comparison with variables in Power Automate further emphasizes the advanced handling of data that Compose provides.

Understanding the definition and usage of Compose Power Automate opens up a world of possibilities for enhancing your automation projects. So, whether you’re consolidating JSON data or simplifying your Power Automate flows, Compose can make the process more streamlined and manageable.

Now is a great time to start if you haven’t explored what Compose can do in Power Automate. The future of efficient workflow automation could very well be within your reach, right in the Compose action. Learn how to use Power Automate with Citizen Development Academy.


What is compose used for in Power Automate?

Compose is used in Power Automate to store and manipulate data within a flow. It is a temporary data storage action that allows you to save the data for later use. This can be any type of data, including strings, arrays, or even complex objects. It’s especially handy for storing the results of expressions, parsed JSON objects, or outputs from previous actions, which can then be used later in the flow.

What is the difference between initialize variable and compose in Power Automate?

While both initialize variables and compose in Power Automate store data, they serve different purposes. Initialize variable action is used when you must declare a variable that will be updated or changed during the flow's run. On the other hand, Compose is used to hold a value or an expression that remains constant throughout the flow. It's a one-time data operation action that does not update once set, unlike variables.

How does Power Automate Compose differ from Variables?

Compose and Variables in Power Automate are both used to store data but in different ways. Variables are flexible, allowing you to initialize and update them multiple times throughout the flow. They are ideal for values that may change during the flow's execution. Conversely, Compose is static and stores a value or an expression when it's created, which cannot be changed or updated. It’s ideal for holding constant values or results of complex expressions.

How do you get the output of composing Power Automate?

The output of a Compose action in Power Automate can be accessed by using the dynamic content from the compose action. When setting up a new action, click on the field where you want to use the output. Select the name of the compose action from the dynamic content pane that appears. This will insert a reference to the Compose output into the field, allowing the value stored in the Compose action to be used in the subsequent action.

How can I use JSON in Power Automate Compose?

JSON in Power Automate Compose can be used to store and manipulate JSON objects within a flow. For instance, if you have a JSON payload, you can use a 'Parse JSON' action to parse it, and then use a Compose action to store specific values from the JSON data. You can reference the 'Parse JSON' output using dynamic content in the Compose action. This allows you to extract and use individual elements from the JSON object.

What are some practical use cases for Power Automate Compose?

Power Automate Compose can be utilized in various practical scenarios. For example, in a flow that triggers when an email arrives, a Compose action can be used to extract and store the email's subject or body for later use. Another use case could be to store the result of a complex expression that is used multiple times in a flow, which enhances readability and efficiency. Moreover, Compose is also useful in debugging flows by inspecting the data at different points in the flow.

Comment (1)

  1. Riley

    This is the most insightful article on the topic that I’ve seen

Leave your thought here

Your email address will not be published. Required fields are marked *