Power Automate Expressions: The 15 Most Important Functions
The 15 most important Power Automate expression functions such as concat, formatDateTime and coalesce, explained with German practical examples.
Power Automate showing UTC times in US format? Here's how to convert to the German dd.MM.yyyy format using convertTimeZone and formatDateTime.
Anyone who has ever sent an email with an appointment in Power Automate knows the problem: the flow shows a time that is several hours off from the actual German local time, and the date appears in American format, month before day instead of day before month. This happens because Power Automate internally calculates by default in Coordinated Universal Time (UTC), and many connectors pass timestamps through in ISO 8601 format without any time zone conversion.
For recipients in Germany, Austria, or Switzerland, this quickly leads to misunderstandings, for example when January 3rd turns into an apparent March 1st due to the wrong order. The two expression functions formatDateTime and convertTimeZone solve this reliably, without any extra connector or third-party tool. This article shows step by step how to convert timestamps into German time zones and output them in the familiar dd.MM.yyyy format.
Power Automate uses, according to the official documentation on date and time values, Coordinated Universal Time (UTC) by default. A timestamp ending in "Z", such as 2026-07-20T09:30:00Z, is already a reliable indicator of UTC. Since different connectors also output different date formats, it can happen that the same flow produces different display formats depending on the service used. So before formatting or converting, it's worth taking a look at the raw output: run the flow once and check in the run history which format and time zone the respective step actually returns the value in.
The formatDateTime() function takes two parameters: the timestamp and a format string. With manual input, the timestamp must follow the ISO 8601 format; dynamic content from previous steps works without additional quotation marks. There are two variants for the format string:
g for the general short format or D for the long written-out date. They follow the flow's locale, usually English (USA), and therefore often produce a format like "6/15/2009 1:45 PM".formatDateTime(utcNow(), 'dd.MM.yyyy HH:mm')
This expression returns, for example, "20.07.2026 09:30" instead of the American notation. For a plain date without a time, formatDateTime(utcNow(), 'dd.MM.yyyy') is enough.
A correct format alone is not enough if the underlying time is still in UTC. For this, according to the guide on converting a time zone, Power Automate provides both a graphical action called "Convert time zone" and the expression function convertTimeZone. The function expects four parameters: the timestamp, the source time zone, the target time zone, and optionally a format string.
Important: Power Automate uses Windows time zone names for the time zones, not the IANA names common in other systems, such as "Europe/Berlin". For Germany, Austria, and most of Switzerland, the correct value is W. Europe Standard Time. Combined with formatDateTime, you get the complete expression to output the current time in German local time and German format:
formatDateTime(convertTimeZone(utcNow(), 'UTC', 'W. Europe Standard Time'), 'dd.MM.yyyy HH:mm')
One advantage of the Windows time zone names: W. Europe Standard Time knows the automatic switch between standard time and daylight saving time. So you don't need to check yourself whether UTC+1 or UTC+2 currently applies; the conversion adjusts automatically to the date. If you instead want to convert a timestamp directly to or from UTC without specifying a second time zone, the related functions convertToUtc and convertFromUtc, described in the same reference guide, are useful.
If you don't want to memorize the syntax, you can alternatively use the Format data by examples feature. In the expression menu of any text field, select the corresponding menu item, provide an example of the original value and an example of the desired target format, and Power Automate automatically suggests the matching expression. This feature is particularly suited to one-off formatting where writing a manual expression isn't worth the effort. However, it doesn't work for arrays or nested structures; here formatDateTime remains the more reliable choice.
A typical scenario: a SharePoint list provides a start date in UTC format, and the flow should send an easily readable German appointment date by email. In the text field of the email action, you simply write "The appointment takes place on" as plain text, insert the following expression as dynamic content at the desired position, and then add the word "o'clock":
formatDateTime(convertTimeZone(triggerBody()?['Startzeit'], 'UTC', 'W. Europe Standard Time'), 'dd.MM.yyyy HH:mm')
This way you combine both functions into a single expression: convertTimeZone first converts the local time, then formatDateTime puts it into the desired German format. If you need such expressions regularly across multiple flows, it's best to move the formatting logic into a reusable child flow action, so it only needs to be maintained in one place.
If your flows regularly struggle with time zones, formats, or other pitfalls, Power Automate Consulting by NordFlux can help you build robust, maintainable automations. You retain full control over every expression, because the logic stays clearly documented instead of disappearing into countless individual flows.
The standard format strings of formatDateTime, such as g or D, follow the flow's locale, which is usually English (USA). To force the German format, use a custom format string like dd.MM.yyyy HH:mm instead of the standard format string.
Power Automate uses Windows time zone names, not IANA names. For Germany, Austria, and most of Switzerland, the correct value is W. Europe Standard Time.
No. The W. Europe Standard Time time zone automatically handles the switch between standard time and daylight saving time based on the respective date; no manual distinction between UTC+1 and UTC+2 is necessary.
A timestamp ending in "Z", such as 2026-07-20T09:30:00Z, is in Coordinated Universal Time (UTC). The "Z" stands for "Zulu time" and is a reliable indicator to check before performing a time zone conversion with convertTimeZone.
Yes, via the "Format data by examples" feature in the expression menu. You provide an example of the source value and an example of the desired result, and Power Automate automatically suggests the matching formatDateTime expression.
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
The 15 most important Power Automate expression functions such as concat, formatDateTime and coalesce, explained with German practical examples.
US formatting and UTC times regularly cause wrong dates and confused recipients in Power Automate, whenever convertTimeZone and formatDateTime aren't combined correctly. NordFlux builds your time-critical flows so that appointments, deadlines, and notifications reliably arrive in German time and format, even across daylight saving changes. In our first conversation, we check where time errors occur in your processes.