Power Automate Quotes: Single vs. Double Explained
When you’re creating flows in Power Automate, you’ll usually work with some kind of text, also known as strings. And when defining these strings directly within your actions, you’ll encounter the choice between using single quotes (‘) and double quotes («).
While Power Automate often seems forgiving and might let you get away with either in simple scenarios, understanding the when to use each type can save you headaches and ensure your flows behave as expected.
So, when should you reach for the single quote and when should you opt for the double quote in your Power Automate strings? Let’s break it down.

Double Quotes («): The Go-To for Most Cases
In the majority of situations within Power Automate, double quotes are your safe and recommended bet. They generally work well for enclosing static text that doesn’t contain any expressions or variables.
Example:
«This is a simple text string.»
You’ll find yourself using double quotes most frequently when defining:
- Static messages for emails or notifications.
- Fixed values for properties in connectors.
- Simple text to be manipulated by string functions.
- To identify strings in a switch
Single Quotes (‘): Essential for Expressions and Dynamic Content
The real power of Power Automate lies in its ability to work with dynamic data and expressions. This is where single quotes become crucial.
Single quotes are used to delimit expressions within double-quoted strings. Think of them as the «escape hatch» to tell Power Automate, «Hey, what’s inside these single quotes isn’t just text; it’s something you need to evaluate!»
Example:
Let’s say you want to include the current date in an email subject. You would use an expression like utcNow() to get the current UTC time. To embed this within a double-quoted string, you’d use single quotes:
«Daily Report – Generated on ‘@{utcNow()}'»
or the following action
first(outputs('get_concent)?['body/value'])?['msdynmkt_contactpointconsent4id']
Here’s why this is important:
- Power Automate interprets anything within @{} as an expression.
- If you tried to use double quotes inside the @{} block, it would likely cause parsing errors or unexpected behavior. Single quotes act as a clear boundary for the expression.
Common Scenarios Where Single Quotes are Necessary:
- Embedding Expressions: Any time you use the @{} syntax to insert dynamic content like variables, functions, or connector outputs.
«The order ID is ‘@{variables(‘orderId’)}’.»
«The customer’s email is ‘@{items(‘Apply_to_each’)?[‘Email’]}’.» - Using Functions within Strings: When you want to call a Power Automate function directly within a string.
«The current day of the week is ‘@{dayOfWeek(utcNow())}’.» - Accessing Array Elements or Object Properties: When you need to access specific parts of an array or properties of an object within a string.
«The first item in the array is ‘@{variables(‘myArray’)[0]}’.»
«The customer’s name is ‘@{variables(‘customerDetails’)?[‘Name’]}’.»
Summary
- Use Double Quotes («) for most static text strings.
- Use Single Quotes (‘) to enclose expressions (@{}) when embedding dynamic content, functions, or accessing data within a double-quoted string.
A Simple Rule of Thumb:
If you see the @{} symbols, you’ll almost certainly need single quotes around the content within them when that entire structure is inside double quotes.
Understanding this distinction will help you build more robust and predictable Power Automate flows, especially when dealing with dynamic data. Happy flowing!