Reference for writing expressions for attribute mappings in Microsoft Entra Application Provisioning
In brief
The documentation adds `NormalizeDiacriticsByCulture(source, culture)`, supporting German (`de`) transliteration such as `ä` to `ae` and `ß` to `ss`.
What Entra admins need to know
Administrators can use the function in app provisioning expressions to normalize German names and other strings.
This editorial summary was generated by AI from the documentation changes. Verify important details in the full Microsoft Learn article.
Documentation change
The comparison below shows only the changed extract. Use the full-page view for complete context.
List of Functions
Append AppRoleAssignmentsComplex BitAnd CBool CDate Coalesce ConvertToBase64 ConvertToUTF8Hex Count CStr DateAdd DateDiff DateFromNum DefaultDomain FormatDateTime Guid IgnoreFlowIfNullOrEmpty IIF InStr IsNull IsNullOrEmpty IsPresent IsString Item Join Left Len Mid NormalizeDiacritics NormalizeDiacriticsByCulture Not Now NumFromDate PCase RandomString Redact RemoveDuplicates Replace SelectUniqueValue SingleAppRoleAssignment Split StripSpaces Switch ToLower ToUpper Word
Append
- OUTPUT: "Zoe"
NormalizeDiacriticsByCulture
Function: NormalizeDiacriticsByCulture(source, culture)
Description:
Requires two string arguments. When culture is "de", returns the source string with German diacritical characters transliterated according to the following table. "de" is the only supported culture value. For any other culture value, the function uses the same normalization behavior as NormalizeDiacritics.
Parameters:
| Name | Required/ Repeating | Type | Notes |
|---|---|---|---|
| source | Required | String | The string to normalize. |
| culture | Required | String | The culture to use for normalization. The only supported value is "de". |
| Character | Transliterated value |
|---|---|
| ä | ae |
| Ä | Ae |
| ö | oe |
| Ö | Oe |
| ü | ue |
| Ü | Ue |
| ß | ss |
Normalize German diacritics in a string
Example: Transliterate German diacritical characters by using the "de" culture.
Expression:NormalizeDiacriticsByCulture("Müller", "de")
Sample input/output:
- INPUT: "Müller", "de"
- OUTPUT: "Mueller"
Not
Function:
@@ -2,8 +2,9 @@ title: Reference for writing expressions for attribute mappings in Microsoft Entra Application Provisioning description: Learn how to use expression mappings to transform attribute values into an acceptable format during automated provisioning of SaaS app objects in Microsoft Entra ID. Includes a reference list of functions. ms.topic: reference-ms.date: 04/10/2026+ms.date: 10/02/2026 ms.reviewer: arvinh+ms.custom: msecd-doc-authoring-1030 ai-usage: ai-assisted --- @@ -32,7 +33,7 @@ The syntax for Expressions for Attribute Mappings is reminiscent of Visual Basic ## List of Functions -[Append](#append) [AppRoleAssignmentsComplex](#approleassignmentscomplex) [BitAnd](#bitand) [CBool](#cbool) [CDate](#cdate) [Coalesce](#coalesce) [ConvertToBase64](#converttobase64) [ConvertToUTF8Hex](#converttoutf8hex) [Count](#count) [CStr](#cstr) [DateAdd](#dateadd) [DateDiff](#datediff) [DateFromNum](#datefromnum) [DefaultDomain](#defaultdomain) [FormatDateTime](#formatdatetime) [Guid](#guid) [IgnoreFlowIfNullOrEmpty](#ignoreflowifnullorempty) [IIF](#iif) [InStr](#instr) [IsNull](#isnull) [IsNullOrEmpty](#isnullorempty) [IsPresent](#ispresent) [IsString](#isstring) [Item](#item) [Join](#join) [Left](#left) [Len](#len) [Mid](#mid) [NormalizeDiacritics](#normalizediacritics) [Not](#not) [Now](#now) [NumFromDate](#numfromdate) [PCase](#pcase) [RandomString](#randomstring) [Redact](#redact) [RemoveDuplicates](#removeduplicates) [Replace](#replace) [SelectUniqueValue](#selectuniquevalue) [SingleAppRoleAssignment](#singleapproleassignment) [Split](#split) [StripSpaces](#stripspaces) [Switch](#switch) [ToLower](#tolower) [ToUpper](#toupper) [Word](#word)+[Append](#append) [AppRoleAssignmentsComplex](#approleassignmentscomplex) [BitAnd](#bitand) [CBool](#cbool) [CDate](#cdate) [Coalesce](#coalesce) [ConvertToBase64](#converttobase64) [ConvertToUTF8Hex](#converttoutf8hex) [Count](#count) [CStr](#cstr) [DateAdd](#dateadd) [DateDiff](#datediff) [DateFromNum](#datefromnum) [DefaultDomain](#defaultdomain) [FormatDateTime](#formatdatetime) [Guid](#guid) [IgnoreFlowIfNullOrEmpty](#ignoreflowifnullorempty) [IIF](#iif) [InStr](#instr) [IsNull](#isnull) [IsNullOrEmpty](#isnullorempty) [IsPresent](#ispresent) [IsString](#isstring) [Item](#item) [Join](#join) [Left](#left) [Len](#len) [Mid](#mid) [NormalizeDiacritics](#normalizediacritics) [NormalizeDiacriticsByCulture](#normalizediacriticsbyculture) [Not](#not) [Now](#now) [NumFromDate](#numfromdate) [PCase](#pcase) [RandomString](#randomstring) [Redact](#redact) [RemoveDuplicates](#removeduplicates) [Replace](#replace) [SelectUniqueValue](#selectuniquevalue) [SingleAppRoleAssignment](#singleapproleassignment) [Split](#split) [StripSpaces](#stripspaces) [Switch](#switch) [ToLower](#tolower) [ToUpper](#toupper) [Word](#word) --- ### Append@@ -784,6 +785,43 @@ NormalizeDiacritics([givenName]) * **OUTPUT**: "Zoe" +---+### NormalizeDiacriticsByCulture+**Function:**+NormalizeDiacriticsByCulture(source, culture)++**Description:**+Requires two string arguments. When **culture** is `"de"`, returns the source string with German diacritical characters transliterated according to the following table. `"de"` is the only supported culture value. For any other culture value, the function uses the same normalization behavior as [NormalizeDiacritics](#normalizediacritics).++**Parameters:**++| Name | Required/ Repeating | Type | Notes |+| --- | --- | --- | --- |+| **source** |Required |String |The string to normalize. |+| **culture** |Required |String |The culture to use for normalization. The only supported value is `"de"`. |++| Character | Transliterated value |+| --- | --- |+| ä | ae |+| Ä | Ae |+| ö | oe |+| Ö | Oe |+| ü | ue |+| Ü | Ue |+| ß | ss |++#### Normalize German diacritics in a string+Example: Transliterate German diacritical characters by using the `"de"` culture.++**Expression:**+`NormalizeDiacriticsByCulture("Müller", "de")`++**Sample input/output:**++* **INPUT**: "Müller", "de"+* **OUTPUT**: "Mueller"++ --- ### Not **Function:** 