Pay-as-you-go in Power Automate Explained
What the pay-as-you-go model in Power Automate costs and how it differs from Premium and Process licenses.
Variables in Power Automate explained simply: Initialize, Set, Increment and Append – the most important actions in German.
Anyone who goes beyond the simplest trigger-action setup in Power Automate quickly runs into variables: small storage spaces for numbers, text, lists, or boolean values that a flow carries along during its run. They count loop iterations, collect results from multiple steps, or remember a status until it's needed later. For beginners, the German terminology in particular is often confusing, because several similarly named building blocks appear in the action catalog: Initialize, Set, Increment, Decrement, and Append.
This article classifies the four central variable actions in Power Automate according to the official Microsoft documentation, explains the German terms in detail, and shows what you need to watch out for regarding data type, scope, and loops. As of: July 2026.
A variable is a named storage location within a cloud flow to which you assign a data type and a value. According to the official documentation on Store and manage values in variables Power Automate supports six data types: Integer, Float, Boolean, String, Array, and Object.
Variables are useful when you:
Important to know: according to the documentation, a variable exists only within the cloud flow that creates it, and persists across all loop iterations. If you want to access its value later, you reference the variable's name as a token, not the name of the action that created it.
Before you can use a variable, it must be created with the Initialize Variable action. This action sets the name, data type, and optionally a starting value in a single step.
You should know two limitations before you build your flow. First, a single Initialize Variable action, despite its array-like internal structure, can only ever create one variable at a time; for each additional variable you need a separate action. Second, variables can only be declared at the global level, meaning directly in the main path of the flow, not within a scope, a condition, or a loop. If you want to start a counter inside a condition, you must place the initialization beforehand, at the top level.
Once a variable exists, you change its content using the Set Variable action. Unlike initializing, there is no default value here; the value is a required field. The new value and the variable must also have the same data type, so an Integer variable does not accept a string value.
Set Variable is the right choice whenever you want to replace a value completely, for example to set a status from "pending" to "completed", or to overwrite an intermediate result from a previous action.
For counters, Power Automate offers two dedicated actions: they increment or decrement a variable by a constant value, without you having to calculate the current state yourself. According to the documentation, both actions work exclusively with Integer and Float variables.
The classic use case from the Microsoft documentation is a loop counter: you initialize an Integer variable with a starting value of 0, place the Increment action inside an Apply-to-each loop, and after the loop has run you have the exact number of processed elements, for example email attachments, in the variable.
For string and array variables there is also an Append function. It adds a value as the last element to an existing string or an existing array, without overwriting the previous content. To do this, search the action catalog for "append" and select the appropriate action for strings or arrays depending on the data type. The value to append is a required field and can generally be of any type.
This is practical, for example, when you collect the results of individual iterations within a loop, such as the IDs of processed records in an array, in order to output them together in a summary at the end.
To use the current content of a variable in an expression, you access it via the function variables('<VariableName>'). According to the Reference guide to workflow expression functions this function returns the value of the specified variable, regardless of the data type. If, for example, you want to output the elements of an array variable as text, you combine it with the string() function: @{string(variables('myArrayVariable'))}. You can find more about building expressions with comparison operators such as and, or, or equals in the guide Using expressions in conditions.
Apply-to-each loops run sequentially by default in Power Automate, meaning one iteration after another. You can switch this setting to parallel execution to save time. However, if you use a variable inside the loop, such as a counter or a collected list, then according to the documentation you must stick with sequential execution if the results are supposed to be predictable. With parallel execution, multiple iterations access the same variable value at the same time, which can cause counter values or appended list entries to be lost or end up in the wrong order.
If you use Power Automate productively across multiple departments and want flows with more complex variable logic, nested loops, or larger data volumes to be built reliably, the Power Automate consulting from NordFlux supports you with setup, testing, and operations. You retain control over your flows, while the technical fine-tuning is handled by experienced hands.
Exactly one. Even though the Initialize Variable action has an array-like internal structure, according to the documentation it always creates only one variable per action. For each additional variable you need an additional Initialize Variable action.
No. Variables can only be declared at the global level, meaning outside of scopes, conditions, and loops. Place the Initialize Variable action therefore always at the top level of your flow, even if you only fill the variable inside a loop later on.
No. According to the documentation, the Increment and Decrement actions work exclusively with Integer and Float variables. For strings and arrays, you use the Append action instead to add values.
Set Variable replaces the entire content of a variable with a new value. Append to Variable, on the other hand, keeps the previous content and adds another value as the last element, which is only possible with string and array variables.
No, the field is optional. However, Microsoft explicitly recommends in the documentation setting a starting value anyway, so that the initial state of the variable remains traceable at all times, especially for counters, which should start at 0.
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
What the pay-as-you-go model in Power Automate costs and how it differs from Premium and Process licenses.
All Power Automate trigger types explained: automated, instant, scheduled, and trigger conditions in this FAQ glossary.
The three Power Automate action limits of 6,000, 40,000, and 250,000 per day explained: which license brings which limit.
Variables are the backbone of complex Power Automate flows, but wrongly set values or pitfalls in parallel loops quickly cause errors that are hard to track down. NordFlux builds your flow logic cleanly from the ground up, or reworks existing processes, so variables reliably carry the right values. In our first conversation, we look at your flow structure and show where error sources hide.